Metodo per definire una funzione booleana

Pablo5
Salve
volevo sapere se esiste un metodo di ragionamento per trovare le funzione booleane di determinate tavole della vertià oppure è come con le funzione matematiche
:non esiste una strada ma dipende da ogni caso....


per esempio ocme ragionereste con questa avendo a disposizione
AND NOT e OR?????


A B f(A,B)
0 0 1
0 1 1
1 0 0
1 1 1

Risposte
lorven
Possono essere utili le mappe di Karnaugh: http://it.wikipedia.org/wiki/Mappa_di_Karnaugh
:-)

anonymous_be1147
Se intendi scrivere la forma canonica SP o PS c'è un metodo abbastanza semplice.

Ad esempio, la forma canonica Somma di Prodotti nel tuo caso è:

$F(a,b) = \bar{a}\bar{b} + \bar{a}b + ab = \bar{a} (\bar{b} + b) + ab = \bar{a}\cdot 1 + ab = \bar{a} + ab = \bar{a} + b$

Il procedimento è questo:

    [*:3hkds32t]consideri solo le righe della tabella di verità in cui la funzione ha valore $1$[/*:m:3hkds32t]
    [*:3hkds32t]per ciascuna di queste righe scrivi il prodotto di tutte variabili booleane (nel nostro caso $ab$) negando quelle variabili che nella riga hanno valore $0$[/*:m:3hkds32t]
    [*:3hkds32t]sommi tutti i prodotti e semplifichi con i teoremi dell'algebra booleana[/*:m:3hkds32t][/list:u:3hkds32t]
    Il procedimento per la forma canonica PS è simile solo che si considera il prodotto di disgiunzioni.

anonymous_be1147
"lorven":
Possono essere utili le mappe di Karnaugh

Vero, questo è un metodo più professionale di quello che ho scritto io. :-D

Splair
ci tengo però a precisare che le Mappe di Karnaugh sono utili e molto semplici da utilizzare fino a funzioni con 4 o al massimo 5 variabili dopo di che ti conviene utilizzare un altro metodo...

cmq per le forme canoniche ricordati questo:

La forma canonica Somma di Prodotti (SP) di un funzione logica si ottiene sommando tra di loro tanti prodotti di tutte le variabili (prodotti fondamentali o mintermini) quante sono le righe della tabella di verità per cui la funzione vale 1.

La forma canonica Prodotti di Somme (PS) di una funzione logica si ottiene moltiplicando tra loro tante somme di tutte le variabili (somme fondamentali o maxtermini) quante sono le righe della tabella di verità per cui la funzione vale 0.

Il il passaggio da tabella di verità - espressione logica è garantito dal Teorema di Shannon che se vuoi lo posto.

Pablo5
grazie a tutti delle risposte


allora, se vuoi posta pure
nn credo mi servirà per l'esame ma non fa mai male sapere cose nuove

lorven
Una precisazione: nell'esempio fornito, la f vale sempre 1 tranne se A=1 e B=0.
E' immediato che corrisponda a NOT(A AND NOT B) oppure NOT A OR B

:-)

Splair
Teorema di espansione di Shannon:

$f(x,y,z,....) = xf (1,y,z,....) + x' f (0,y,z,...)$

$f(x,y,z,....) = (x+f(0,y,z...)) (x' + f (1,y,z,...)$

Esempio:

consideriamo una funzione espressa mediante la seguente tabella:

x y z f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0

L'espansione nella prima forma di Shannon per funzioni a tre variabili è:

$f ( x, y, z) = x' y' z' f(0,0,0) + x' y' z f(0,0,1) + x'y z' f(0,1,0) + x' y z f(0,1,1) + x y' z' f(1,0,0) + x y' z f(1,0,1) + x y z' f(1,1,0) + xyz f(1,1,1)$

e, sostituendo i valori della funzione derivati dalla tabella di verità (cioè dove la funzione vale 1), si ottiene:

$f(x,y,z) = x'y'z + x' y z' + x y' z'$ (SP)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.