Algebra di Boole

annuncio pubblicitario
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:
ab
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
ab
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
ab
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 ab
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  ab
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  ab
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):
aa  a
aa  a
• Proprietà commutativa (AND, OR):
a b  b  a
ab  ba
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):
aa
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
0a  0
0a  a
Docente: Ivan Zivko
21
Matematica
Proprietà e leggi della logica
• Eliminazione del condizionale:
a b  ab
• Eliminazione del bicondizionale:
a  b  a b  a b
Leggi del completamento
• Spesso è utile sapere le leggi di
completamento:
xx  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
ab
ab
a  b
a  b
ab
ab
1 a
a b
a  b  ab
ab
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
Scarica