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=1 01=0 1+0=1 10=0 1+1=1 11=1 0=1 disgiunzione 1=0 congiunzione negazione + _ L’algebra della logica delle proposizioni +, , _, 0, 1> è un’algebra di Boole y=f(p, q, ...) p, q proposizioni I postulati dell’algebra sono proprietà della logica: __ <K, f(a,b)=ab+ab funzione di equivalenza ab 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) oppure non e Forme elementari Letterale 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 2 n 1 Pi 1 i 0 Si+Sj=1 con ij 2n 1 S i 0 i 0 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=K n N K numero complessivo di punti valori dell’algebra primordiale n K M=K M Kn M= numero di funzioni di n variabili numero complessivo di punti n n 2 2 =4 nell’algebra primordiale La tabella definisce una funzione che si chiama tabella di verità a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 1 1 1 1 0 0 0 1 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) + ... 2n 1 f ( x1, x 2,..., xn) i Pi i 0 Esempio a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 1 1 1 1 0 0 0 1 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 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: 2n 1 P 1 i 0 i i 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 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 (x1, x2, …, xn)=1 con radici nei punti di dont’care Esempio (x1, x2, …, xn)=1 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 1 1 Ø Ø 1 1 1 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 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 0 1 1 0 1 0 Ø Ø Esempio n = k+q =3 k = 3, q=0 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 0 1 1 0 1 0 Ø Ø 4 punti in cui si hanno 2 variabili uguali a 1 k y P0x f 0 ( L) x j f j ( L) {1} j 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 k y P a j x ja j x 0 j 1 Implicanti di funzione ff1; f1f f1+f=1 f1 è un implicante di f Primo f possiede {If}; implicante Un implicante che non implica nessun altro f2 f1 f f3 f4 Mappe di Karnaugh x1 x1x2 x 1 x2 x2 x1 0 1 x1x2 x1x2 x2 0 P0 P2 x1x2 x1x2 x 2 1 P1 P3 x 1 x2 x1x2 x1 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 00 01 11 10 x1x2 00 00 01 11 10 x1x2 1 01 1 1 11 10 x3x4 1 1 00 01 1 1 11 1 1 10 y=x1x3+x2x4+x1x2x4 1 1 1 1 1 1 1 1 1 y=x1x3+x2x4+x2x3x4+x1x2x3x4