L’algebra della logica delle proposizioni K={0, 1} è un’algebra di Boole Infatti la struttura soddisfa i 14 postulati Verità di P 1 Falsità di P 0 Operazioni 0+0=0 00=0 0=1 disgiunzione + 0+1=1 01=0 1=0 congiunzione 1+0=1 10=0 negazione _ 1+1=1 11=1
L’algebra della logica delle proposizioni <K, +, , _, 0, 1> è un’algebra di Boole y=f(p, q, ...) p, q proposizioni I postulati dell’algebra sono proprietà della logica: __ f(a,b)=ab+ab funzione di equivalenza a b x y è, nell’algebra della logica, x y infatti: 0 0; 0 1; 1 1
L’algebra della logica delle proposizioni (P e Q) o L y = f(P, Q, L) non oppure e
Forme elementari Letterale Termine elementare o Clausola La variabile x o il suo complemento x Termine elementare o Clausola il prodotto di n letterali di variabili distinte Fattore elementare La somma di n letterali di variabili distinte ac d acd clausole a+b a+c b+d+x fattori elementari
Forme elementari Costituite da somme di clausole o da prodotti di fattori elementari ac+ad+bx (a+b)(d+c+x)(a+d)
Forme elementari Mintermine (P) Un termine elementare (clausola) di ordine n, cioè un prodotto dei letterali di tutte le n variabili P0=ab P1=ab P2=ab P3=ab 112=3 Esistono 2n mintermini Maxtermine (S) La somma di n letterali, uno per ciascuna variabile. S5=a+b+c
Forme elementari Pi=Si PiPj=0 Si+Sj=1 con ij
Tabella di Verità Una funzione si dice algebrica se è esprimibile come funzione delle sole funzioni elementari Se l’algebra è finita, una funzione può rappresentarsi in forma tabellare definendo il valore della variabile dipendente per ogni combinazione dei valori delle n variabili indipendenti
Tabella di verità N=Kn M=KKn M= 22n=4n N numero complessivo di punti K valori dell’algebra primordiale M=KKn M numero di funzioni di n variabili Kn numero complessivo di punti M= 22n=4n nell’algebra primordiale La tabella definisce una funzione che si chiama tabella di verità
Forma canonica di primo tipo (P) Una funzione di variabili, assegnata da una tabella di verità può essere espressa sotto forma disgiuntiva di congiunzioni (somma di prodotti). Ciascun termine della somma è associato ad un “1” presente nella colonna della tabella ed è un prodotto delle n variabili, ciascuna delle quali è negata se compare uno “0” oppure non negata se c’è un “1”
Forma canonica di primo tipo (P) f(x1, x2, …, xi, …, xn) = xif(x1, x2, …, 1, …, xn) + xif(x1, x2, …, 0, …, xn) f(x1, x2,.., xi,.., xn) = x1f(0, x2,.., xn) + x1f(1, x2, …, xn) = x1x2f(0, 0, x3,.., xn) + x1x2f(0, 1, x3,.., xn) + x1x2f(1,0, x3,.., xn) + x1x2f(1,1, x3,..,xn) = = P0f(0, 0, …, 0) + P1f(0, 0, …, 1) + ...
Esempio y=(0, 1, 2, 3, 7) = P0+P1+P2+P3+P7= = abc + abc + abc + abc + abc
Esempio Y = a + bc Dalla forma algebrica alla forma canonica somma elementare di clausole moltiplicare per il prodotto (xi+xi)(xj+xj)…=1
Y=bc(ad+b+c)+c(d+a)(b+c) Esempio Y=bc(ad+b+c)+c(d+a)(b+c) Y=ab+bc+bd Y=[ab(c+c)(d+d)]+[bc(a+a)(d+d)]+[bd(a+a)(c+c)]= =[P7+P6+P5+P4]+[P15+P14+P7+P6]+[P15+P13+P7+P5]= (4, 5, 6, 7, 13, 14, 15)
Numeri caratteristici È la stringa di valori ordinati i n.c. f = 11110001 = 241 f241 n.c. a = 00001111 n.c. b = 00110011 n.c. c = 01010101 il n.c. di a+b è dato dalla somma dei n.c.
Equazioni booleane Pi=1 abc=1 a=1, b=1, c=0 più in generale si ha: f(x1, x2, …, xn)=1 le soluzioni si ottengono da:
Equazioni booleane Esempio: abc+abc+abc=1 si hanno le tre radici a=1, b=1, c=1; a=1, b=1, c=0; a=1, b=0, c=1
f(x)g(x)+f(x)g(x)=1 Equazioni booleane Piu’ in generale un’equazione booleana può porsi nella forma f(X)=g(X) ciò implica che i valori di verità di f(X) e g(X) devono coincidere f(x)g(x)+f(x)g(x)=1 cioè F(x)=1
Funzioni incompletamente specificate y=f(x1, x2, …, xn) indifferente in alcuni punti (don’t care) Ø Funzione compatibile una y’ che abbia gli stessi valori di y tranne che nei punti di non specificazione 2m m don’t care
Funzioni incompletamente specificate Le condizioni di indifferenza si possono esprimere algebricamente tramite “vincoli” sulle variabili mediante una equazione booleana (x1, x2, …, xn)=1 con radici nei punti di definizione o con con radici nei punti di dont’care
Esempio (x1, x2, …, xn)=1 (x1, x2, …, xn)=1 Condizione di vincolo: abc+abc+abc+ abc+abc+abc=1 Condizione di indifferenza: abc+abc=1
Una condizione di vincolo molto diffusa è che posto y = f(x1, x2, …, xk, l1, l2, …, lq) = f(X, L) sussista la relazione xi·xj=0 con ij con i 1, k j su k delle n variabili mai due di esse uguali ad 1
Esempio n = k+q =3 k = 2, q=1 supponiamo siano x1,x2 solo due punti in cui si ha x1, x2=1
Esempio n = k+q =3 k = 3, q=0 4 punti in cui si hanno 2 variabili uguali a 1
P0x=x1·x2 ·... ·xn mintermine f0(L) particolare funzione di I1, …, Iq {1} P0x=x1·x2 ·... ·xn mintermine f0(L) particolare funzione di I1, …, Iq Se q=0 si ha che k=n e la {1} cambia
Implicanti di funzione ff1; f1f f1+f=1 f1 è un implicante di f f possiede {If}; Primo implicante Un implicante che non implica nessun altro f f1 f4 f2 f3
Mappe di Karnaugh x1 x1 1 x1x2 x1x2 x2 P0 P2 x1x2 x1x2 x1x2 x1x2 x2 1 1 x2 x1x2 x1x2 x2 P0 P2 x1x2 x1x2 x1x2 x1x2 x2 1 P1 P3 x1x2 x1x2 I mintermini che si oppongono in 1 variabile sono adiacenti n2 le clausole di ordine n-1 che si oppongono in 1 variabile sono ancora adiacenti. Le quadruple sono clausole di ordine n-2 n3 le ottuple rappresentano clausole di ordine n-3
Clausole n n-1 n-3 n-2 n-3
Proprietà Data una funzione in forma elementare di tipo P le n clausole Ai sono implicanti di f Una clausola B ne implica un’altra A se e solo se B contiene tutti i letterali di A Ax+Ax=A es. abc+abc=ab Ad una funzione f può essere aggiunto un suo implicante senza alterarne il valore A è un implicante di f se e solo se nella prima forma canonica di f sono presenti tutti i mintermini implicanti A
Esempio x3x4 x3x4 00 01 11 10 00 01 11 10 x1x2 x1x2 1 1 1 1 00 00 1 1 1 1 01 01 1 1 1 1 11 11 1 1 1 1 1 1 10 10 y=x1x3+x2x4+x1x2x4 y=x1x3+x2x4+x2x3x4+x1x2x3x4