Algebra Booleana - Ingegneria elettrica ed elettronica

Università degli Studi di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
ALGEBRA BOOLEANA
Introduzione
Ø
George Boole (1815 - 1864) nel 1854 elaborò una
algebra basata su predicati logici.
Valori logici: VERO, FALSO
Operatori logici: AND, OR, NOT
Ø
Una espressione logica coinvolge variabili che
possono assumere valori logici e la sua
valutazione può produrre solo valori logici.
Ø
L’algebra di Boole fornisce un modello matematico che consente di valutare espressioni
logiche
Giuliano Armano
2
Operatori Logici
Ø
Ø
Siano p e q due variabili che possono assumere
solo i valori logici VERO o FALSO
Operatori logici:
n
n
n
p AND q restituisce VERO solo se p e q sono entrambi VERO
p OR q restituisce VERO se una sola fra p e q o entrambi
sono VERO
NOT p restituisce la negazione di p: VERO se p è FALSO,
FALSO se p è VERO
Giuliano Armano
3
Espressioni Logiche
Ø
Un esempio di espressione logica:
n
Se ((a < b) OR ((a ³ b) AND (c = d))) allora…
n
La parte in grassetto può essere vera o falsa.
n
L’espressione scritta sopra può essere semplificata in:
(a < b) OR (c = d)
Infatti nella prima espressione:
Se (a < b) è vera, non serve valutare la seconda parte
Si valuta la seconda parte solo se (a < b) è falsa. In questo
caso sicuramente (a ³ b), dunque non serve esplicitarlo!
n
n
n
n
Giuliano Armano
4
Logica Proposizionale
Ø
La logica proposizionale fornisce gli strumenti
per valutare la verità o la falsità di espressioni
logiche
n
Per semplificare l’espressione precedente non è servito
conoscere il “significato” di (a < b), ma il fatto che (a< b)
e (a ³ b) sono complementari (quando una è vera l’altra è
falsa e viceversa)
Giuliano Armano
5
Logica Proposizionale
Ø
Si utilizzano variabili logiche al posto di
espressioni che possono assumere i valori vero
o falso
n
Se indico (a < b) con p, (a ³ b) con NOT p e (c = d) con q,
allora p OR ((NOT p ) AND q) equivale all’espressione
precedente
Giuliano Armano
6
Logica Proposizionale e Algebra di
Boole
Ø
Ø
Le espressioni logiche possono essere modificate
e/o semplificate in espressioni logiche
equivalenti, usando i teoremi dell’algebra di
Boole
Essendo uno strumento matematico, non ci
preoccupiamo del significato reale delle variabili.
NB L’argomento è approfondito nei corsi di Calcolatori Elettronici
e di Elettronica dei Sistemi Digitali
Giuliano Armano
7
Algebre
Ø
Una struttura algebrica è definita come:
<D,f 1,…,f n,P1,…,Pm,…,x,y…>
Ø
dove:
n
n
D è un insieme (dominio)
fi è una funzione a ni argomenti in D e valori in D
n
Pi è un predicato a ni argomenti in D
n
x, y, … sono elementi distinti di D
Giuliano Armano
8
Algebre (esempio)
Ø
<R, +,*, £, 0, 1>
è la struttura dei reali ordinata, con due
operazioni “+” e “*” commutative, associative,
aventi 0 e 1 rispettivamente come identità
Giuliano Armano
9
Algebra Booleana
Ø
Un’Algebra Booleana è una sestupla del tipo
B,+,·,-, =,0,1
dove:
n
n
n
n
n
B è un insieme di almeno due simboli (arbitrariamente
definiti) sul quale è definita una relazione di equivalenza “=“
“+” è l’operazione di somma logica
“·” è l’operazione di prodotto logico
“-” è l’operazione di complemento logico
0 e 1 sono elementi di B (neutri rispetto a “+” e “·”)
Giuliano Armano
10
Postulati
Ø
ESISTENZA ELEMENTO NEUTRO
a+0= a
a ·1 = a
Ø
elemento neutro rispetto a “+”
elemento neutro rispetto a “·”
ESISTENZA DEL COMPLEMENTO:
a + a =1
a·a = 0
complemento rispetto a “+”
complemento rispetto a “·”
NB È possibile formulare diverse Algebre Booleane a seconda
della scelta degli elementi di B e delle regole delle operazioni.
Giuliano Armano
11
Postulati
Ø
Ø
COMMUTATIVITÁ
a+b=b+a
commutatività rispetto a “+”
a·b=b·a
commutatività rispetto a “·”
DISTRIBUTIVITÁ
a · (b + c) = (a · b) + (a · c)
distributività di “·” rispetto a “+”
a + (b · c) = (a + b) · (a + c) distributività di “+” rispetto a “·”
NB È possibile formulare diverse Algebre Booleane a seconda
della scelta degli elementi di B e delle regole delle operazioni.
Giuliano Armano
12
Proprietà
Ø
Un’algebra Booleana è simmetrica rispetto a
(+, ·) e (0, 1)
n
Ø
Se nei postulati si sostituisce “+” con “·” (e viceversa) e 0
con 1 (e viceversa), si riottengono gli stessi postulati.
Il cosiddetto “principio di dualità” è una
conseguenza della proprietà di simmetria
Giuliano Armano
13
Principio di Dualità
Ø
Se da una dimostrazione D(+, ·, 0, 1) si
sostituisce “+” con “·” (e viceversa) e 0 con 1 (e
viceversa), si ottiene una dimostrazione
D’(+, ·, 0, 1) duale rispetto alla precedente
Ø
Esempio (teoremi di De Morgan):
a + b = a ·b 1o teorema di De Morgan
ß
a·b = a + b 2o teorema di De Morgan
Giuliano Armano
14
I Diagrammi di Venn
Ø
Un esempio di algebra Booleana sono i
diagrammi di Venn, dove:
n
n
n
n
n
n
B è l’insieme delle aree rappresentate da cerchi contenuti in
un rettangolo
“+” è l’operazione di unione delle aree
“·” è l’operazione di intersezione delle aree
“-” è l’operazione di complemento rispetto al rettangolo
0 è la regione di area nulla
1 è la regione contenuta nel rettangolo
Giuliano Armano
15
Interpretazione Classica
Ø
L’interpretazione “classica” per l’algebra
Booleana del tipo B,+,·,-, =,0,1 è la seguente
logica proposizionale (logica circuitale):
n
n
n
n
n
n
B
è un insieme di costanti che possono assumere
i valori logici vero e falso (1 e 0)
“+” è l’operazione di or logico non esclusivo (vel)
“·” è l’operazione di and logico
“-”
0
1
è l’operazione di complemento logico
è la costante falso (0) [contraddizione]
è la costante vero (1) [tautologia]
Giuliano Armano
16
Algebra di Boole, Aritmetica Binaria e
Circuiti Logici
Ø
Esiste una corrispondenza diretta fra l’aritmetica
binaria (prossimo capitolo), l’algebra di Boole e
la progettazione di circuiti logici.
n
n
n
I calcolatori elettronici rappresentano i dati in forma binaria,
cioè come sequenza di 0 e 1
Di conseguenza i dati possono essere visti come una
sequenza di variabili logiche
La progettazione dei circuiti digitali che elaborano dati in
forma binaria si avvale dei teoremi dell’algebra di Boole
Giuliano Armano
17
Semplificazione di Funzioni Booleane
Ø
Esempi
n
x + x’y = (x + x’)(x + y) = 1×(x + y) = (x + y)
n
x(x’ + y) = xx’ + xy = 0 + xy = xy
x’y’z + x’yz + xy’ = x’z(y’ + y) + xy’ = x’z + xy’
xy + x’z + yz = xy + x’z + yz(x’ + x) =
= xy +x’z + x’yz + xyz = xy(1 + z) + x’z(1 + y) = xy + x’z
(x + y)(x’ + z)(y + z) = (x + y)(x’ + z)
n
n
n
NB L’apice ’ indica la negazione
Giuliano Armano
18
Giuliano Armano
19