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