Matematica Algebra di Boole Capitolo 5 Ivan Zivko George Boole (1815-1864) • Matematico inglese del diciannovesimo secolo, affrontò in modo originale problemi di logica. Le sue teorie trovano forte applicazione un secolo più tardi con lo sviluppo della tecnologia informatica. Docente: Ivan Zivko 1 Matematica Introduzione • La logica si è sviluppata con l’inizio di un approccio algebrico allo studio del vero e del falso di proposizioni (frasi) composte da enunciati più piccoli. • Esempio: «il sole è una stella» è una frase vera, «la terra è piatta» invece è una frase falsa. E le seguenti frasi composte sono vere o false? «il sole è una stella e la terra è piatta» «il sole è una stella o la terra è piatta» Introduzione • Per facilitare lo studio gli enunciati vengono indicati con delle lettere minuscole: a= «il sole è una stella» b= «la terra è piatta» Docente: Ivan Zivko 2 Matematica Introduzione • Il vero e il falso sono invece sostituiti da i numeri zero e uno: Vero=1 Falso=0 Gli operatori logici Docente: Ivan Zivko 3 Matematica La congiunzione (AND) • Per l’operatore AND in informatica e matematica ci sono diversi simboli usati a dipendenza del linguaggio, ad esempio: *, &, & &, • Nell’algebra di Boole il simbolo usato per l’AND è quello della moltiplicazione. La congiunzione (AND) • Quindi la frase «il sole è una stella e la terra è piatta» potrà essere sintetizzata nell’algebra di Boole con: a b Docente: Ivan Zivko 4 Matematica La congiunzione (AND) • Una proposizione composta da enunciati legati da operatori AND è vera solo se tutti gli enunciati sono veri. a " il sole è una stella" , è vero b " la terra è piatta" , è falso a b 1 0 a b 0 La congiunzione (AND) • Quando non si conosce la verità o falsità dei singoli enunciati bisogna costruire la tabella di verità per tutti i casi possibili. a b 0 0 1 1 Docente: Ivan Zivko 0 1 0 1 a b 0 0 0 1 5 Matematica La disgiunzione (OR) • Per l’operatore OR i diversi simboli possibili sono: , |, ||, • Nell’algebra di Boole il simbolo usato per l’OR è quello della somma. La disgiunzione (OR) • Quindi la frase «il sole è una stella o la terra è piatta» potrà essere sintetizzata nell’algebra di Boole con: ab Docente: Ivan Zivko 6 Matematica La disgiunzione (OR) • Una proposizione composta da enunciati legati da operatori OR è vera anche se un solo enunciato è vero. a " il sole è una stella" , è vero b " la terra è piatta" , è falso a b 1 0 ab 1 La disgiunzione (OR) • La tabella di verità dell’operatore OR risulta quindi: a b 0 0 1 1 Docente: Ivan Zivko 0 1 0 1 ab 0 1 1 1 7 Matematica La negazione (NOT) • I diversi simboli per l’operatore NOT sono: x , ~, , ! • Nell’algebra di Boole il simbolo usato è quello di una barra sopra la lettera. La negazione (NOT) • La negazione è l’unico operatore che può essere applicato anche a un singolo enunciato. a " il sole è una stella" , è vero b " la terra è piatta" , è falso a b a b 1 0 0 1 Docente: Ivan Zivko 8 Matematica La negazione (NOT) • La tabella di verità dell’operatore NOT risulta quindi: a 0 1 a 1 0 La disgiunzione esclusiva (XOR) • I simboli usati per l’operatore XOR sono: , , , ^ • L’operatore XOR da un risultato vero solo se uno soltanto dei due enunciati è vero; se tutti gli enunciati sono veri allora il risultato sarà falso. Docente: Ivan Zivko 9 Matematica La disgiunzione esclusiva (XOR) • Esempio: a " i soldi sono in tasca" b " i soldi sono nel cassetto" a b " i soldi soldi o sono in tasca o nel cassetto" a b ab 0 0 1 1 0 1 0 1 0 1 1 0 L’incompatibilità logica (NAND) • Il suo simbolo può essere: • Assume valore falso solo se gli enunciati che lo compongono sono entrambi veri. a 0 0 1 1 Docente: Ivan Zivko b a b 0 1 0 1 1 1 1 0 10 Matematica L’incompatibilità logica (NAND) • Oss.: l’operatore NAND è il contrario dell’operatore AND, infatti detto per esteso sarebbe NOT AND. a b a b La negazione congiunta (NOR) • Il suo simbolo può essere: • Assume valore vero solo se gli enunciati che lo compongono sono entrambi falsi. a 0 0 1 1 Docente: Ivan Zivko b a b 0 1 0 1 1 0 0 0 11 Matematica La negazione congiunta (NOR) • Oss.: l’operatore NOR è il contrario dell’operatore OR, infatti per esteso sarebbe NOT OR. a b ab Il condizionale (IMP) • Il suo simbolo è: x " Hai studiato" y " Passi l' esame" x y " Se hai studiato allora passi l' esame" • Se hai studiato e passi l’esame risulta quindi una frase giusta: x 1 Docente: Ivan Zivko y x y 1 1 12 Matematica Il condizionale (IMP) • La tabella del condizionale risulta: a b a b 0 1 1 1 0 0 1 1 0 0 1 1 • Il condizionale può essere ricavato a partire da altri operatori: a b ab Il bicondizionale (EQV) • Il suo simbolo è: x " Hai studiato" y " Passi l' esame" y x " Passi l' esame se e solo se hai studiato" • Il bicondizionale è quindi un operatore di equivalenza, cioè sarà vero solo se i due enunciati hanno lo stesso valore. Docente: Ivan Zivko 13 Matematica Il bicondizionale (EQV) • La tabella del bicondizionale risulta: a 0 0 1 1 b a b 0 1 1 0 0 0 1 1 Espressioni composte • Chiaramente una certa situazione potrà essere composta da più operatori e lettere, ad esempio l’espressione: E a b (c b ) d f • L’obiettivo potrà essere quello di semplificare tale espressione e ricavare la su tabella di verità. Docente: Ivan Zivko 14 Matematica Tavole di verità Tavole di verità • Per descrivere il valore di verità di un espressione composta dobbiamo costruire la tavola di verità studiando il valore assunto dalle sue singole componenti. • Esempio: E a b a b b a b 0 0 1 1 Docente: Ivan Zivko 0 1 0 1 1 0 1 0 0 0 1 0 15 Matematica Tavole di verità • Esempio 2: E (a b) c a b c b a b a b c 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 Tipi di espressioni • Tautologie: espressioni sempre vere, possono essere indicate con la lettera v oppure con un 1. a b 0 0 1 1 Docente: Ivan Zivko 0 1 0 1 E 1 v 1 1 1 1 16 Matematica Tipi di espressioni • Contraddizioni: espressioni sempre false, possono essere indicate con la lettera f oppure con un 0. E 0 f a b 0 0 1 1 0 1 0 1 0 0 0 0 Tipi di espressioni • Soddisfacibili: è il caso più frequente, cioè quando l’espressione può assumere sia valori veri che falsi. Docente: Ivan Zivko a b E 0 0 1 1 0 1 0 1 0 1 0 1 17 Matematica Proprietà e leggi della logica Proprietà e leggi della logica • Oss.1: Spesso un espressione può essere semplificata usando le leggi della logica. • Oss.2: si usano le parentesi per dare la precedenza ad un operazione rispetto ad un’altra. • Oss.3: per convenzione la negazione (NOT) ha la precedenza sugli altri operatori. Dopo quest’ultima in assenza di parentesi ha precedenza la congiunzione (AND). Gli altri operatori sono sullo stesso piano. Docente: Ivan Zivko 18 Matematica Proprietà e leggi della logica • Proprietà di idempotenza (AND, OR): aa a aa a • Proprietà commutativa (AND, OR): a b b a ab ba Proprietà e leggi della logica • Proprietà associativa (AND, OR): ( a b) c a (b c) (a b) c a (b c) • Legge della doppia negazione(NOT): aa Docente: Ivan Zivko 19 Matematica Proprietà e leggi della logica • Leggi di De Morgan: a b a b a b a b Proprietà e leggi della logica • Proprietà distributive (AND, OR): a b c a b a c a b c a b a c Docente: Ivan Zivko 20 Matematica Proprietà e leggi della logica • Leggi di assorbimento: a a b a a a b a a a b a b a a b a b Proprietà e leggi della logica • Leggi di assorbimento: 1 a a 1 a 1 0a 0 0a a Docente: Ivan Zivko 21 Matematica Proprietà e leggi della logica • Eliminazione del condizionale: a b ab • Eliminazione del bicondizionale: a b a b a b Leggi del completamento • Spesso è utile sapere le leggi di completamento: xx 0 x x 1 Docente: Ivan Zivko 22 Matematica Semplificazione di espressioni logiche • Le proprietà e le leggi possono essere usate per semplificare un espressione. • Esempio: a b a Semplificazione di espressioni logiche • Esempio 2: → Docente: Ivan Zivko + = 23 Matematica Dimostrazione di leggi • Per dimostrare le leggi e le proprietà si possono usare le tavole di verità, oppure le altre leggi, come nell’esempio che segue. • Esempio: dimostriamo a=a+a. a a 0 a a a a a a a a a 1 a a Principio di dualità • Osserviamo che in molte leggi c’è una certa simmetria, che possiamo riassumere nel seguente principio: – Da ogni uguaglianza valida nell’algebra di Boole se ne può trarre un’altra scambiando + con ∙ e 0 con 1. • Ad esempio x+0=x è la legge duale di x ∙1=x. Docente: Ivan Zivko 24 Matematica Connettivi in modulo 2 • È possibile ricavare delle formule (che vanno valutate in modulo 2) che danno come risultato il valore delle operazioni logiche. Operazione logica Valore (mod 2) a a b ab ab a b a b ab ab 1 a a b a b ab ab 1 a ab 1 a b 1 ab 1 a b ab Forma Normale Disgiuntiva (f.n.d) Docente: Ivan Zivko 25 Matematica Forma normale disgiuntiva • Letterale Per letterale si intende una lettera o la sua negata: x y a x z b ...... Forma normale disgiuntiva • Prodotto fondamentale: Per prodotto fondamentale si intende un prodotto di letterali senza però ripetizioni di lettere (negate o non): xy yh abc x z ab ...... • Un letterale è anche un prodotto fondamentale. • Non lo sono invece per esempio: xyx Docente: Ivan Zivko yhy bc c ...... 26 Matematica Forma normale disgiuntiva • Prodotti inclusi: Un prodotto si dice incluso in un altro se tutti i suoi letterali (con le stesse negazioni) sono completamente contenuti nel secondo. Considera: xy xyz xzy • Il primo prodotto è incluso nel terzo! Forma normale disgiuntiva • Forma normale disgiuntiva: Un espressione in f.n.d è una somma di prodotti fondamentali, in cui nessun prodotto è incluso in un altro! • Esempio: xy xz x yz z • Invece la seguente non è in f.n.d.: xy xz xyz z Docente: Ivan Zivko 27 Matematica Metodo algebrico per passare alla f.n.d • Ogni espressione logica si può mettere in f.n.d. sfruttando le leggi e le proprietà viste. • Esempio: ac a b c Forma normale disgiuntiva completa • Una f.n.d. si dice completa se tutti i suoi prodotti fondamentali possiedono tutte le lettere. Ad esempio: xyz xyz x yz xyz Docente: Ivan Zivko 28 Matematica Metodo per completare le f.n.d. • Completiamo ad esempio la seguente f.n.d.. a b b 2° Metodo per completare le f.n.d. • Per portare una qualsiasi espressione in f.n.d.c. si può usare un metodo pratico che sfrutta la tavola di verità dell’espressione stessa. • Accanto a ogni riga che assume valore 1 bisogna ricavare un prodotto fondamentale contenente tutti i letterali. Docente: Ivan Zivko 29 Matematica 2° Metodo per completare le f.n.d. E ( a b) c • Esempio : a b c b a b a b c 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 Circuiti logici Docente: Ivan Zivko 30 Matematica Circuiti logici • I circuiti logici sono circuiti il cui ingresso consiste di uno o più bit e l’uscita di un solo bit. • Si possono costruire combinando tra loro circuiti elementari dette porte logiche. Porta AND Docente: Ivan Zivko 31 Matematica Porta OR Porta NOT Docente: Ivan Zivko 32 Matematica Porta NAND Porta NOR Docente: Ivan Zivko 33 Matematica Porta XOR Esempio di circuito logico • Costruiamo il circuito logico della seguente espressione: xa a y Docente: Ivan Zivko 34 Matematica Problema • Implementare il seguente problema in un circuito logico: tre dirigenti di un’industria (a,b,c) prendono decisioni a maggioranza assoluta. Docente: Ivan Zivko 35