CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione – Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione (DIETI) – Università degli Studi di Napoli Federico II. Via Claudio 21, 4° Piano – Laboratorio 4.04 Algebra di Boole Riferimenti: Dispensa Iannello, capitolo 2 Teoria e progetto delle reti logiche. B. Fadini e A. Esposito, capitolo 2 Proposizioni Logiche • Una proposizione logica semplice è una dichiarazione che può assumere valore vero o falso • Roma è la capitale dell'Italia; V • 25 è un numero pari; F • Domenico è molto simpatico ? • Sulle proposizioni logiche è possibile effettuare delle operazioni tramite gli operatori logici: • NOT - la NEGAZIONE (¬), operatore unario • OR - la DISGIUNZIONE (v) o SOMMA LOGICA, operatore binario • AND - la CONGIUNZIONE (^) o PRODOTTO LOGICO, operatore binario Proposizioni logiche e operatori di confronto • Le proposizioni semplici possono essere costruite utilizzando degli operatori di confronto (o di relazione) • Gli operatori di relazione più noti sono quelli che permettono di confrontare quantità numeriche: • uguale ( simbolo ‘=’) • diverso ( simbolo ‘≠’) • maggiore ( simbolo ‘>’) • minore ( simbolo ‘<’) • maggiore o uguale ( simbolo ‘≥’) • minore o uguale ( simbolo ‘≤’) Proposizioni Composte • Applicando gli operatori logici a più proposizioni semplici si ottengono proposizioni composte • • • Oggi è lunedì e c’è il sole la casa ha meno di 20 anni o è stata ristrutturata da meno di 5 anni Oggi non è domenica e devo lavorare • Ciascuna proposizione semplice può essere vera o falsa, e allo stesso modo la proposizione composta può avere valore vero o falso • La funzione logica che ha come ingresso il valore delle proposizioni semplici componenti e come uscita il valore della proposizione composta risultante può essere rappresentata con una tabella di verità Esempio • Consideriamo la seguente proposizione: • ‘Il sabato sera lavoro solo se devo lavorare, e ho riposato o ho bevuto il caffè’ • A=devo lavorare • B=ho riposato • C=ho bevuto il caffè • La condizione composta è A and (B or C) La logica delle Proposizioni e l’algebra di Boole • • • George Boole (1815-1864) studiò un mezzo matematico per descrivere in forma algebrica la logica delle proposizioni e definì la cosiddetta algebra di Boole Oggi quest’algebra ha numerose applicazioni nelle scienze fisiche, in particolare nel campo dei calcolatori e dell’elettronica Nel 1938, Claude Shannon ha introdotto l’algebra di commutazione (o dei circuiti) in cui le porte logiche vengono usate al posto degli operatori logici e i valori logici vero/falso sono sostituiti da segnali elettrici alto/basso in ingresso o uscita da circuiti elettrici Cos’è un’algebra? Nel linguaggio comune il termine algebra indica un capitolo della matematica elementare • Più formalmente, si dice che un insieme K è un’ algebra, se in esso sono definite due leggi binarie di composizione interna, ossia due funzioni che facciano corrispondere ad una qualsiasi coppia di elementi di K ancora un elemento di K • Indicando con + (OR) e · (AND) le due leggi binarie, un’algebra è la tripla <K, +, ⋅ > • Definizione dell’Algebra di Boole • L’algebra di Boole è un particolare tipo di algebra dotato di specifiche proprietà • può essere definita in base ad altre strutture algebriche (non c’è un modo solo per definire l’algebra di Boole) • si può definire attraverso i «reticoli» o… • …attraverso «gruppi» e «anelli» • Noi vedremo la definizione che sfrutta il concetto di reticolo 9 L’AdB definita attraverso i reticoli Un'algebra <K,+, ⋅> si dice reticolo se per ogni elemento di K valgono le seguenti proprietà q commutativa: P1 : a+b = b+a P’1 : a⋅b = b⋅a q associativa: P2 : (a+b)+c = a+(b+c) = a+b+c P’2 : (a·b)·c = a·(b·c) = a ⋅b ⋅c q idempotenza o potenza identica: P3 : a+a = a P’3 : a·a = a q assorbimento: P4 : a+(a·b) = a P’4 : a·(a+b) = a La proprietà associativa ci dice che le due operazioni binare possono essere generalizzate a funzioni di più di due ingressi 10 Proprietà dei reticoli • In maniera equivalente, un reticolo può essere definito come un insieme parzialmente ordinato, che possiede cioè una relazione d’ordine x≤y • Ricordiamo che una relazione d’ordine “≤” deve godere delle seguenti proprietà • riflessiva: x ≤ x • antisimmetrica: x ≤ y e y ≤ x => x = y • transitiva: x ≤ y e y ≤ z => x ≤ z • Data il nostro reticolo <K,+, ⋅>, la relazione d’ordine è espressa dalle seguente relazione binaria: • x+y=y o equivalentemente • x·y=x 11 Reticoli distributivi • Un reticolo si dice distributivo se per ogni elemento di K vale la proprietà distributiva P5 : a·(b+c)=a·b+a·c P’5 : a+(b·c)=(a+b)·(a+c) • Si noti che la proprietà è assegnata sia per la somma rispetto al prodotto che per il prodotto rispetto alla somma 12 Minimo e Massimo • Un reticolo distributivo si dice dotato di minimo e massimo assoluti se in K sono presenti due elementi che diremo 0 e 1 rispettivamente - i quali verificano la proprietà del minimo e massimo P6 : a · 0 = 0 P’6 : a + 1 = 1 • Gli elementi 0 e 1 si dicono minimo e massimo in quanto si ha: • a≤1 e 0≤a per ogni elemento di K 13 Complemento • 14 Algebra di Boole • Un reticolo distributivo, dotato di minimo e massimo e complementato si dice algebra di Boole • Un’algebra di Boole è dunque una sestupla: • <K,+, ⋅ ,-,0,1> 15 16 Postulati: ricapitolando Commutativa P1 Associativa P2 Idempotenza a+b = b+a P’1 a•b = b•a (a+b)+c = a+(b+c) P’2 (a•b)•c = a•(b•c) P3 a+a = a P’3 a•a = a Assorbimento P4 a+a•b = a P’4 a•(a+b) = a Distributiva P5 a•(b+c) = a•b+a•c P’5 a+b•c = (a+b)•(a+c) Min e max P6 a•0 = 0 P’6 a+1 = 1 Complemento P7 a•ā = 0 P’7 a+ā = 1 Alcuni “teoremi” • Complementi di 0 e 1 • 0 ed 1 sono l’uno il complemento dell’altro • Convoluzione • Negando due volte un elemento si ottiene l’elemento stesso: !(!a)=a • Assorbimento del complemento • a+!a * b=a+b • Elementi neutri • 0 è l’elemento neutro della somma a+0=a • 1 è l’elemento neutro del prodotto a*1=a 17 Legge di dualità • Si può dimostrare che da qualsiasi identità booleana se ne può trarre un'altra equivalente per dualità, sostituendo cioè ad ogni operatore e agli elementi 0 ed 1 il rispettivo duale • il duale di + è *, • il duale di 0 è 1 • il duale di a è in generale !a (a negato, NOT a). 18 Teoremi di De Morgan p + q = p⋅q pq = p + q § Si può dimostrare con le tabelle di verità 19 Algebre di Boole • La definizione di AdB come reticolo non specifica quale sia K e come siano definite le operazioni “+”,“·”,“-” • Specifica soltanto un insieme di proprietà che devono essere soddisfatte da tali operazioni • Sono così possibili diversi modelli di algebra di Boole l’algebra degli insiemi • l’algebra della logica delle proposizioni • l’algebra dei circuiti, in cui K assume solo i due valori 0 e 1 • 20 Algebra degli insiemi I 21 Algebra degli insiemi (1/2) 22 Algebra degli insiemi (2/2) • Dati due insiemi A,B ∈ T,sono definite le operazioni di • Unione (∪) • Intersezione (∩) • Complemento (~) T A∩B a ∩ Φ= Φ a ∪ T= T A A∪B B Diagramma di Venn la sestupla ‹K, ∪, ∩, ¬,Φ,T› è un’algebra di Boole. ove: • K indica l’insieme delle parti di T • Φ indica l’insieme vuoto • La relazione d’ordine ≤ equivale alla relazione di inclusione tra insiemi 23 Algebra della logica delle proposizioni • L’insieme K={F,V} su cui siano definite le operazioni • Congiunzione(^) • Disgiunzione (v) • Negazione (¬) • è un’algebra di Boole con F = 0, V = 1, congiunzione = ⋅ , disgiunzione = +, negazione = ¬ x y x^y x y xvy x ¬x F F F F F F F V F V F F V V V F V F F V F V V V V V V V Algebra di commutazione • L’algebra di commutazione, anche detta algebra di Boole a due valori o algebra dei circuiti, è caratterizzata da un supporto K con soli due valori 0 e 1 • <{0,1}, +, ·,!, 0,1> • Le operazioni + (OR) , · (AND) ,! (NOT), sono definite dalle tabelle di verità degli operatori logici 25 Circuiti logici • I circuiti logici sono circuiti elettronici nei quali una grandezza elettrica ai morsetti di ingresso e di uscita può assumere solo due valori, convenzionalmente rappresentati con i due elementi dell’algebra di Boole 0 ed 1 • In elettronica digitale si studia come realizzare circuiti elettronici per i quali il legame tra ingressi ed uscite corrisponde a quello delle operazioni fondamentali AND, OR e NOT dell’algebra di Boole • PORTE LOGICHE 26 Algebra dei circuiti • Associa i simboli “0” e “1” ai livelli logici “basso” e “alto” • Un circuito è descritto dalla funzione y = ƒ(x1, x2, ..., xn) dove: y=bit di uscita; x1, x2, ..., xn=bit di ingresso 27 Algebra dei circuiti – porte logiche o gate Circuiti elettronici che realizzano le operazioni fondamentali x y z z = x AND y x z z = x OR y y x y y = NOT x x NOT x 0 1 1 0 28 x y x AND y 0 0 0 0 1 0 1 0 0 1 1 1 x y x OR y 0 0 0 0 1 1 1 0 1 1 1 1 Esercizi di riepilogo • Scrivere la tabella di verità corrispondente alla seguente funzione logica di 3 variabili ((not A) and B) OR ((A and B) and C) • Scrivere la tabella di verità di una funzione logica a 3 variabili che dia risultato vero solo se almeno due dei suoi argomenti sono uguali a vero • Usando operatori logici e operatori di relazione si scriva la condizione che esprime che il valore della variabile x appartiene all’insieme [-5,3] U [8,15] • Data la condizione «stasera esco se ho finito i compiti o se domani non vado a scuola» scriverne la formulazione in termini di proposizioni logiche e trovarne la formulazione duale