Sei sulla pagina 1di 31

Algebra Booleana

George Boole
1815 – 1864

Wikipedia, the Free Encyclopedia


www.wikipedia.org

http://en.wikipedia.org/wiki/George_Boole

1
Assiomi
<B,+,•,-,0,1>
1) Consistenza 0,1B

2) Chiusura x,yB, x+yB

3) Identità 0B tale che xB, x+0=x

4) Inversione xB, x+(-x)=1

5) Commutatività x,yB, x+y=y+x

6) Distributività x,y,zB, x+(y•z)=(x+y)•(x+z)

Principio di dualità
Se T è un teorema dell’algebra booleana, allora
lo è anche il duale ottenuto da T rimpiazzando
+ con •, 0 con 1 e viceversa. 2
Proprietà

Gli operatori introdotti godono di numerose proprietà:


➢ Associativa x+(y+z)=(x+y)+z, x•(y•z)=(x•y)•z
➢ Idempotenza x+x=x, x•x=x
➢ Involuzione --x = x
➢ x•(-x)=0
➢ Assorbimento x+(x•y)=x, x•(x+y)=x

3
Logica classica del primo ordine

➢ Logica
In filosofia, lo studio delle leggi e delle funzioni che
caratterizzano la struttura del pensiero in sé (logica
formale), oppure dei procedimenti seguiti dal pensiero in
riferimento ai diversi contenuti cui può applicarsi (logica
materiale).
Logica matematica (o simbolica), lo studio della
formalizzazione dei procedimenti e delle operazioni logiche
in linguaggio matematico.
➢ Formula
Espressione ben formata del linguaggio alla quale può
essere attribuito un valore di verità: vero o falso.
➢ x è un numero pari

4
Calcolo Proposizionale

Vero = 1
Proposizioni atomiche → Valori di verità
Falso = 0
+
Connettivi Proposizioni composte
NOT , NON ,  , - NOT A
AND , E ,  , • ,  A AND B
OR , O , , + ,  A OR B
XOR ,  ,  A XOR B
IF..THEN , SE..ALLORA ,  IF A THEN B
IFF, SSE ,  A IFF B
Bergamo è una città e i Caniana erano intarsiatori, scultori e
architetti tra i più celebri nell'Italia settentrionale. 5
Calcolo Proposizionale

➢ “Partecipate al corso!” è una proposizione?


➢ I connettivi che utilizziamo sono delle operazioni
vero-funzionali, ciò significa che l’applicazione delle
operazioni modifica la falsità o la verità delle
proposizioni coinvolte.
➢ Ogni operazione è una funzione che può essere
rappresentata mediante una tabella.
➢ Una formula composta che viene interpretata
sempre come vera viene detta tautologia (dal
greco, che dice lo stesso). Ad esempio: A  A ,
(A  B)  ( B   A).
6
Obiettivi
➢ Capacità di estrarre (tutte e sole) le informazioni
utili a risolvere un dato problema
➢ Essere in grado di formalizzare e risolvere un
problema analizzando tutti i casi possibili in modo
esaustivo
➢ Saper ricavare il valore di verità delle formule
(atomiche e molecolari) a partire da valori di verità
noti

7
Obiettivi
➢ Tre esploratori vengono catturati. Il capo tribù
decide di graziarli se si dimostrano intelligenti.

Mostra loro 3 cappelli neri e 2 bianchi, quindi li


benda e mette su ciascuno un cappello.


Chiede poi a ogni esploratore il colore del cappello
che ha in testa. L’esploratore può rispondere
guardando solo il colore del cappello dei suoi
compagni tranne l’ultimo che rimane bendato.
Come possono salvarsi? 8
Obiettivi
➢ Ci troviamo di fronte a una stanza chiusa
ermeticamente e a fianco 4 interruttori.

Uno solo di questi accende la luce della stanza.

Abbiamo la possibilità di entrare una sola volta per


stabilire l'interruttore funzionante.

Come è possibile individuare l'interruttore?

9
Operatore NOT (negazione)

Tavola di verità A NOT A

0 1

1 0

esempio - (a = b)  a  b
a=b - (a = b)
0 1
1 0 10
Operatore AND (congiunzione)

Tavola di verità A B A AND B


0 0 0
0 1 0
1 0 0
1 1 1

esempio x  -2 x<1 (x  -2)•(x < 1)


0 0 0
0 1 0
1 0 0
1 1 1 11
Operatore OR (disgiunzione)

Tavola di verità A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

esempio n pari n9 ( n pari) + ( n  9)


0 0 0
0 1 1
1 0 1
1 1 1 12
Esercizi “on the fly”

Se A = Vero, B = Falso, C = Vero,


qual è il valore di verità delle seguenti espressioni?
➢ A or (not B and C)
➢ A and Falso
➢ B or Vero
➢ A and B and C

13
Esercizi

Costruire la tavola di verità di:

➢ A or Vero (A or Falso)
➢ A and Vero (A and Falso)
➢ not (not (A))
➢ not (A and B) not (A or B)
➢ (not A) or (not B) (not A) and (not B)

14
Priorità

➢ Imponiamo le seguenti priorità ai connettivi dalla


più alta alla più bassa:
1. not
2. and
3. or
4. if..then, iff
➢ Un esempio di cancellazione delle parentesi è dato
dalla seguente formula
((if (A or (not B)) then C) iff A)
che può essere scritta senza parentesi.
15
Leggi di De Morgan
NOT (A AND B) = (NOT A) OR (NOT B)
A B -A -B A•B - (A • B) (-A) + (-B)
1 1 0 0 1 0 0
0 1 1 0 0 1 1
1 0 0 1 0 1 1
0 0 1 1 0 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
16
Osservazioni

➢ Le leggi di De Morgan sono utili per negare espressioni


complesse:
⚫ not ( x>5 or y<3 ) = not (x>5) and not (y<3)
➢ 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))

17
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))
18
Operatore XOR (disgiunzione esclusiva)

Tavola di verità A B A XOR B


0 0 0
0 1 1
1 0 1
1 1 0

esempio n pari n>9 n pari  n > 9


0 0 0
0 1 1
1 0 1
1 1 0
19
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 A

➢ not (A xor B)

20
A  B  (-A • B) + (A • (-B ) )

A B -A -B (-A) • B A • (-B) (-A • B) + (A • (-B)) AB 

1 1 0 0 0 0 0 0
0 1 1 0 1 0 1 1

1 0 0 1 0 1 1 1

0 0 1 1 0 0 0 0
21
IF THEN e IFF

Implicazione logica A B A B
A implica B
0 0 1
A è condizione sufficiente per B 0 1 1
1 0 0
B è condizione necessaria per A
NOT A OR B
1 1 1

Equivalenza logica A B AB


(AB) • (BA) 0 0 1
0 1 0
1 0 0
1 1 1
22
A NAND B  not ( A and B )

A B A nand B
Con il solo NAND V V F
si possono esprimere
AND, OR e NOT V F V
F V V
F F V

not A = A nand A
A and B = not not(A and B)= not(A nand B)
=(A nand B)nand (A nand B)
A or B = not not(A or B)= not(not A and not B)
= (not A) nand (not B)
= (A nand A) nand (B nand B) 23
Esercizi
Verificare la validità delle identità logiche:
1) (-A + B)  (A  B)
2) (A + (-A))  Vero
3) (A • (-A))  Falso
4) (A xor B xor B)  A
L’operatore NOR è definito da:
A NOR B  -(A+B)
Verificare che:
- A  A NOR A
A + B  NOT (A NOR B)
A • B  (NOT A) NOR (NOT B) 24
Operatori booleani
➢ 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

25
Dalla tabella alla funzione booleana

F(A,B) = A•(-B) + (-A)•(-B)


A B F(A,B) = ( A + (- A)) • (- B)
= Vero • (- B)
1 1 0 =-B

1 0 1

0 1 0
A • (- B)
(-A) • (- B)
0 0 1
26
Esercizio: correttezza di un voto universitario

Voto30 Lode Errore OK


V V F V
V F F V
F V V F
F F F V

Errore = not(Voto30) and Lode


OK = not Errore = (Voto30) or not Lode

27
Progettazione dei circuiti logici
⚫ Somma di due bit (S) con riporto (R)
A B S R
_ _
0 0 0 0 S = A • B + A • B
0 1 1 0
R = A • B
1 0 1 0
1 1 0 1

⚫ Controllo di parità pari (P) e dispari (D)


A B P D
_ _
0 0 0 1 P = A • B + A • B
0 1 1 0 _ _
1 0 1 0
D = A • B + A • B
1 1 0 1
28
Progettazione dei circuiti logici
⚫ Confronto fra due bit: A=B; A>B
A B U M
_ _
0 0 1 0 U = A • B + A • B
0 1 0 0 _
1 0 0 1 M = A • B
1 1 1 0

– Confronto fra due bit


▪ A >= B: M or U
▪ A <= B: not M
▪ A < B: not(M or U)=(not M)and(not U)
▪ A  B: not U 29
Esempi di crittografia con XOR

⚫ Testo in binario: 1 1 0 1 1 0 1 0 1 0 
⚫ Chiave binaria: 1 0 1 0 1 1 0 1 0 1 =
⚫ Testo cifrato: 0 1 1 1 0 1 1 1 1 1

–Testo cifrato: 0 1 1 1 0 1 1 1 1 1 
–Chiave binaria: 1 0 1 0 1 1 0 1 0 1 =
–Testo in binario : 1 1 0 1 1 0 1 0 1 0

M  chiave = C  C  chiave = M

30
Quiz famoso. In una strada ci sono 5 case affiancate di 5 colori diversi. In ogni
casa vive una persona di nazionalità diversa. Ognuno di essi beve un diverso tipo
di bibita, fuma una diversa marca di sigari e ha un diverso animale domestico.
Inoltre:

L'inglese vive nella casa rossa


Lo svedese ha un cane
Il danese beve tè
La casa verde è immediatamente a sinistra della casa bianca
Il proprietario della casa verde beve caffè
Il signore che fuma sigarette Pall Mall alleva uccelli
Il proprietario della casa gialla fuma sigari Dunhill
Il signore che abita nella casa al centro beve latte
Il norvegese vive nella prima casa
Il signore che fuma la pipa con tabacco Blends vive accanto a quello che ha un gatto
Il proprietario del cavallo vive accanto a quello che fuma sigari Dunhill
Il signore che fuma sigari Bluemasters beve birra
Il tedesco fuma sigarette Prince
Il norvegese vive accanto alla casa blu
Il signore che fuma tabacco Blends vive accanto a quello che beve acqua.
Chi possiede il pesce rosso? 31

Potrebbero piacerti anche