Algebra Booleana
A. Lorenzi – V. Moriggia
INFORMATICA. C++. TEORIA E AMBIENTE
DI PROGRAMMAZIONE
Atlas
Copyright © Istituto Italiano Edizioni Atlas
Calcolo delle proposizioni
Proposizioni
 Valori di verità
Vero = 1
Falso = 0
+
Connettivi
AND ,  ,  , 
OR , , + , 
XOR ,  , 
NOT , 
Proposizioni composte
A AND B
A OR B
A XOR B
NOT A
Operatore AND (congiunzione)
Tavola di verità
A
1
0
1
0
B
1
1
0
0
A and B
1
0
0
0
Operatore OR (disgiunzione)
Tavola di verità
A
1
0
1
0
B
1
1
0
0
A or B
1
1
1
0
Operatore NOT (negazione)
Tavola di verità
A
not A
1
0
0
1
Esercizi “on the fly”
Se: A = Vero, B = Falso, C = Vero, qual è il valore
di verità delle seguenti espressioni:
•
•
•
•
A
A
B
A
or (not B and C)
and Falso
or Vero
and B and C
Esercizi
Costruire la tavola di verità di:
•
•
•
•
•
A or Vero
A and Vero
not not A
not (A and B)
(not A) or (not B)
(A or Falso)
(A and Falso)
Proprietà
Gli operatori introdotti godono di numerose
proprietà:
• Commutativa ed associativa
• Distributiva
A and ( B or C ) = ( A and B ) or ( A and C )
A or ( B and C ) = ( A or B ) and (A or C)
• not not A = A
• A and A = A
A or A = A
• A or (notA) = Vero
A and (notA) = Falso
• ….
- NOT
Leggi di De Morgan
· AND
NOT (A AND B) = (NOT A) OR (NOT B)
+ OR
A
1
0
1
0
B
1
1
0
0
-A
0
1
0
1
-B
0
0
1
1
A B
1
0
0
0
- (A  B)
0
1
1
1
(-A)+(-B)
0
1
1
1
NOT (A OR B) = (NOT A) AND (NOT B)
A
B
-A
-B
A+B
- (A+B)
(-A) (-B)
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
Osservazioni
• Le leggi di De Morgan sono utili per negare
espressioni complesse:
not ( X>5 or N<1000 ) = not (X>5) and (not(N<1000))
• Le leggi di De Morgan mostrano che i tre operatori
AND OR NOT non sono indipendenti
• E’ possibile esprimere AND tramite OR e NOT:
A and B = not not ( A and B ) = not ((not A) or (not B))
• E’ possibile esprimere OR tramite AND e NOT:
A or B = not not (A or B) = not ((not A) and (not B))
Esempi di applicazione
delle leggi di De Morgan
• (prezzo = 80 ) OR (peso > 50)
prodotti che costano sicuramente 80 euro o pesano
tanto
Negazione:
(prezzo <> 80) e (peso <=50)
Non costano 80 euro e pesano poco
• (distanza < 50 ) or (popolazione > 20000)
città vicine oppure città popolose
Negazione:
città lontane e disabitate
(distanza >=50) e (popolazione <= 20000)
Operatore XOR
(disgiunzione esclusiva)
Tavola di verità
A
1
0
1
0
B
1
1
0
0
A xor B
0
1
1
0
Esercizi
Se A = Vero, B = Vero, C = Falso
qual è il valore di verità di:
• A xor (B or C)
• A xor B xor C
• (A and B) xor C
Costruire la tavola di verità di:
• A xor B xor C
• not (A xor B)
Esercizi
Costruire la tabella di verità delle espressioni
logiche:
1) A  (- B) + C
2) A + B  (C  (- C))
3) A  B + (C  (- C))
4) (A + (- A))  B
Applicare le leggi di De Morgan a:
5) -(A + (- B) + C)
6) -(-(A + (- B)  (- C)))
7) -(-A  (- B)  (- C))
Dalla tabella alla funzione booleana
A
B
F(A,B)
F(A,B) = A(-B) + (-A)(-B)
= (- B)  ( A + (- A))
1
1
0
1
0
1
0
1
0
0
0
1
= (- B)  Vero
=-B
A  (- B)
(-A)  (- B)
Calcolatrice di Windows
(Accessori)
Accedere a
Visualizza per
selezionare la
modalità:
Scientifica
Operatori booleani
Dove si usano
•
Nelle formule di Excel
•
Nella riga dei criteri nelle query di Access
•
Nei motori di ricerca in Internet
•
Nei linguaggi di programmazione
•
Nella progettazione dei circuiti logici
•
Nella crittografia
Motori di ricerca
• Google: non è
necessario usare
l'operatore booleano
AND (per
impostazione
predefinita, Google
ricerca tutte le parole
chiave inserite
dall'utente).
• Uso di OR (maiuscolo)
• Ricerca avanzata
milano
università
milano OR
università
7.550.000
pagine
91.100.000
pagine
Crittografia (chiave simmetrica)
•
(A xor K) xor K = A
Decodifica:
A = C xor K
Messaggio A
C = A xor K
Messaggio codificato
Chiave K
Chiave K
Bob
Alice
A
K
C
C xor K
110011010
101110001
011101011
110011010
Scarica

AlgebraBooleana