Algebra Booleana - Dipartimento di Ingegneria Informatica e delle

Transcript

Algebra Booleana - Dipartimento di Ingegneria Informatica e delle
L’algebra di Boole



George Boole matematico inglese (XIX secolo)
L’algebra di Boole è un sistema algebrico
sviluppato per formalizzare la sillogistica
aristotelica mediante una logica delle classi.
Essa fu interpretata dallo stesso autore anche
come una struttura di relazioni logiche tra
proposizioni, mostrando così le affinità
profonde esistenti tra la logica e l’usuale
algebra.
1
L’algebra di Boole
E’ rimasta pressoché ignorata per oltre 80 anni, cioè fino
al 1937, quando lo scienziato americano Claude Elwood
Shannon propose per primo di applicarla all’analisi e alla
sintesi di circuiti a relè, che sono caratterizzati dai due
stati di funzionamento “aperto” e “chiuso”.

Da
allora l’algebra di Boole viene impiegata per la
progettazione dei circuiti elettronici di tutti i computer
ALGEBRA BOOLEANA



Si basa su due soli stati:
 acceso (ON)
 spento (OFF)
È definita su un insieme costituito da due elementi
(successivamente è stata generalizzata per insiemi
costituiti da un numero di elementi uguale a una
qualsiasi potenza del 2), che a seconda dei casi
vengono chiamati vero, falso.
Per esempio, nel calcolo proposizionale si usano come
elementi di partenza delle proposizioni semplici, a ciascuna
delle quali si possa attribuire in modo univoco il valore di
verità vero o falso.
Fondamenti di Informatica
4
2
Una
proposizione semplice suscettibile di
assumere i due soli valori, vero o falso si
dice variabile booleana o di commutazione.
Nel
seguito indicheremo le variabili booleane
con le lettere x, y, e i loro valori di verità con
v, f *.
Unendo
più proposizioni tramite nessi logici si
formano proposizioni complesse, il cui valore
di verità è ricavabile in maniera puramente
formale dai valori delle proposizioni costituenti.
O. Tomarchio
Fondamenti di Informatica
5
Variabili booleane

Le variabili possono assumere solo due valori:
0e1

Si chiamano Variabili logiche o booleane
Fondamenti di Informatica
6
3
Funzioni booleane

Usando le variabili booleane, si possono
costruire le funzioni booleane (o funzioni
logiche)
F(x,y,z)
che possono assumere solo due stati:
 true - vero - 1
 false - falso - 0
Fondamenti di Informatica
7
Tabella della verità
 Ogni
funzione booleana è
caratterizzata dalla propria tabella di
verità
x
y
z
F
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
Fondamenti di Informatica
8
4
Funzioni booleane

Funzioni completamente specificate:
se per tutte le combinazioni delle variabili il
suo valore è determinato

Funzioni non completamente specificate:
se a una o più combinazioni delle sue
variabili non corrisponde alcun valore della
funzione
Fondamenti di Informatica
9
Costanti booleane
Oltre alle variabili vi sono anche le costanti
 Essendo l’Algebra Booleana definita su due
soli simboli, esistono solo due costanti:

0
1
Fondamenti di Informatica
10
5
Operatori logici
Tra le variabili e le costanti possono
intervenire delle relazioni
 Le relazioni si esprimono utilizzando gli
operatori logici
 Definiti insieme agli operatori logici, i
postulati definiscono il loro
comportamento

Fondamenti di Informatica
11
Tipi di operatori

Esistono due tipi di operatori, in
dipendenza dal numero di variabili che
utilizzano:
 monadici
 diadici
Fondamenti di Informatica
12
6
L’operatore NOT

Il risultato è il complemento dell’unica
variabile
x
NOT x
0
1
1
0
Fondamenti di Informatica
13
L’operatore AND

Il risultato è vero se e solo se sono vere
entrambe le variabili
a
b
0
0
1
1
0
1
0
1
a AND b
0
0
0
1
Fondamenti di Informatica
14
7
L’operatore OR

Il risultato è vero se e solo se è vera
almeno una delle variabili
a
b
0
0
1
1
0
1
0
1
a OR b
0
1
1
1
Fondamenti di Informatica
15
L’operatore XOR

Il risultato è vero se e solo se è vera
solo una delle due variabili
a
b
0
0
1
1
0
1
0
1
a XOR b
0
1
1
0
Fondamenti di Informatica
16
8
Operatori - nomenclatura
NOT:
 AND:
 OR:
 XOR:

inversione
prodotto logico
somma logica
or esclusivo
(¯)
(·)
(+)
()
Fondamenti di Informatica
17
Operatori universali

Con gli operatori NOT, OR, AND, XOR si
possono costruire tutte le funzioni
booleane

Esistono due operatori (NAND, NOR)
che permettono la sintesi di qualsiasi
funzione, utilizzando un unico tipo di
operatori
Fondamenti di Informatica
18
9
L’operatore NAND

Il risultato è vero solo se è falso l’AND
tra le due variabili
a
b
0
0
1
1
0
1
0
1
a NAND b
1
1
1
0
Fondamenti di Informatica
19
L’operatore NOR

Il risultato è vero solo se è falso l’OR tra
le due variabili
a
b
0
0
1
1
0
1
0
1
a NOR b
1
0
0
0
Fondamenti di Informatica
20
10
Espressioni logiche

Un insieme di variabili e/o costanti
booleane a cui siano applicati gli
operatori logici si dice espressione
booleana o logica

Una espressione logica rappresenta una
funzione logica: ad esempio:
T  a b  a b
Fondamenti di Informatica
21
Precedenze tra operatori

Le precedenze sono simili al + e al x
dell’algebra consueta:
 priorità alta
x
 priorità bassa +

Priorita operatori logici
 Not
 And
 Or
Fondamenti di Informatica
22
11
Proprietà dell’algebra booleana
X·0 = 0
X·1 = X
X·X = X
X·X = 0
X·Y = Y·X
X·(X+Y) = X
X·(X+Y) = X ·Y
X·(Y+Z) = X·Y+X·Z
X+1 = 1
X+0 = X
X+X = X
idempotenza
X+X = 1
complementazione
X+Y = Y+X
commutativa
X+(X·Y) = X
assorbimento
X+(X·Y) = X+Y assorbimento
X+(Y·Z) = (X+Y)·(X+Z)
distributiva
Fondamenti di Informatica
23
Proprietà dell’algebra booleana
X·(Y·Z) = (X·Y) ·Z = X·Y·Z
X+(Y+Z) = (X+Y)+Z = X+Y+Z
associativa
(X)=X
X·Y = X + Y
X+Y = X ·Y
Fondamenti di Informatica
De Morgan
24
12
Algebra di boole insiemi
Esiste una stretta somiglianza tra le tabelle di verità e i
diagrammi di Venn impiegati nelle operazioni tra insiemi.

La
figura seguente è un diagramma di Venn che mostra due
insiemi, S e T, ognuno rappresentato da un’ellisse.

I due insiemi potrebbero rappresentare, rispettivamente:
•
S l’insieme delle persone di questa aula con i capelli
castani
T l’insieme delle persone di questa aula con gli occhi
azzurri
•

Come si vede, le due ellissi dividono il piano in 4 regioni,
numerate da 1 a 4:
1
2
3
4
S
T
1
2
3
S
4
T
1. la regione 1 rappresenta gli elementi che non appartengono né a S
né a T, cioè le persone che non hanno né i capelli castani né gli
occhi azzurri
2. la regione 2 rappresenta la differenza S-T, cioè le persone che
hanno i capelli castani e non gli occhi azzurri
3. la regione 3 rappresenta l’intersezione () di S e T, cioè le
persone con capelli castani e occhi azzurri
4. la regione 4 rappresenta la differenza T-S, cioè le persone che
hanno gli occhi azzurri e non i capelli castani
5. le regioni 2, 3 e 4 rappresentano l’unione () di S e T, cioè le
persone con capelli castani o con occhi azzurri.
13
Algebra di boole insiemi
14