Metodo per definire una funzione booleana

Messaggioda Pablo » 09/07/2006, 22:58

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
Avatar utente
Pablo
Junior Member
Junior Member
 
Messaggio: 89 di 361
Iscritto il: 04/11/2005, 21:58

Messaggioda lorven » 10/07/2006, 09:31

Possono essere utili le mappe di Karnaugh: http://it.wikipedia.org/wiki/Mappa_di_Karnaugh
:-)
Un giorno senza sorriso è un giorno perso.
Charlie Chaplin
Avatar utente
lorven
Junior Member
Junior Member
 
Messaggio: 174 di 369
Iscritto il: 06/12/2005, 20:55

Re: Metodo per definire una funzione booleana

Messaggioda anonymous_be1147 » 10/07/2006, 09:32

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:
  • consideri solo le righe della tabella di verità in cui la funzione ha valore $1$
  • 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$
  • sommi tutti i prodotti e semplifichi con i teoremi dell'algebra booleana

Il procedimento per la forma canonica PS è simile solo che si considera il prodotto di disgiunzioni.
Ultima modifica di Anonymous il 10/07/2006, 12:28, modificato 1 volta in totale.
anonymous_be1147
Cannot live without
Cannot live without
 
Messaggio: 114 di 3226
Iscritto il: 02/03/2006, 20:20

Messaggioda anonymous_be1147 » 10/07/2006, 09:42

lorven ha scritto:Possono essere utili le mappe di Karnaugh

Vero, questo è un metodo più professionale di quello che ho scritto io. :-D
anonymous_be1147
Cannot live without
Cannot live without
 
Messaggio: 116 di 3226
Iscritto il: 02/03/2006, 20:20

Messaggioda Splair » 10/07/2006, 10:32

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.
Due cose sono infinite: l’universo e la stupidità umana, ma riguardo l’universo ho ancora dei dubbi. (Albert Einstein)
Splair
Junior Member
Junior Member
 
Messaggio: 14 di 138
Iscritto il: 27/06/2006, 21:04

Messaggioda Pablo » 10/07/2006, 11:01

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
Avatar utente
Pablo
Junior Member
Junior Member
 
Messaggio: 90 di 361
Iscritto il: 04/11/2005, 21:58

Messaggioda lorven » 10/07/2006, 11:39

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

:-)
Un giorno senza sorriso è un giorno perso.
Charlie Chaplin
Avatar utente
lorven
Junior Member
Junior Member
 
Messaggio: 175 di 369
Iscritto il: 06/12/2005, 20:55

Messaggioda Splair » 10/07/2006, 12:01

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)
Due cose sono infinite: l’universo e la stupidità umana, ma riguardo l’universo ho ancora dei dubbi. (Albert Einstein)
Splair
Junior Member
Junior Member
 
Messaggio: 15 di 138
Iscritto il: 27/06/2006, 21:04


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite