Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità:...
Transcript of Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità:...
Algebra Booleana
George Boole
1815 – 1864
http://en.wikipedia.org/wiki/George_Boole
1
Assiomi
<B,+,•,-,0,1>
1) Consistenza 0,1B
2) Chiusura x,yB, x+yB
3) Identità 0B tale che xB, x+0=x
4) Inversione xB, x+(-x)=1
5) Commutatività x,yB, x+y=y+x
6) Distributività x,y,zB, x+(y•z)=(x+y)•(x+z)
Principio di dualitàSe T è un teorema dell’algebra booleana, alloralo è 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
➢ LogicaIn 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 (Devoto-Oli, “Il Vocabolario della Lingua Italiana”, Le Monnier, 2008).
➢ FormulaEspressione ben formata del linguaggio alla quale può essere assegnato un valore di verità: vero o falso.
4
Proposizioni
Aprire un Browser, digitare kahoot.itInserire il Game PIN fornito dal tutor.
Le seguenti frasi sono proposizioni?
➢ Partecipate al corso!
➢ Domani ci sarà il sole.
➢ Oggi piove.
➢ Questa frase è falsa.
➢ Questa frase è vera.
➢ La seguente frase è falsa.La precedente frase è vera.
5
Proposizioni atomiche → Valori di verità
+Proposizioni composte
NOT A
A AND B
A OR B
A XOR B
IF A THEN B
A IFF B
Vero = 1
Falso = 0
Calcolo Proposizionale
Bergamo è una città e i Caniana erano intarsiatori, scultori e
architetti tra i più celebri nell'Italia settentrionale.
NOT , NON , , -
AND , E , , • ,
OR , O , , + ,
XOR , ,
IF..THEN , SE..ALLORA ,
IFF, SSE ,
Connettivi
6
Calcolo Proposizionale
➢ I connettivi che utilizziamo sono delle operazioni vero-funzionali.
➢ 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). Una formula sempre falsa è una contraddizione.
7
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
8
Enigmi e giochi matematici
➢ 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, li mette in fila 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?
9
Enigmi e giochi matematici
➢ Ci troviamo di fronte ad 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?
10
Tavola di verità
esempio
A NOT A
0 1
1 0
x = y - (x = y)
0 1
1 0
Operatore NOT (negazione)
11
Tavola di verità
esempio
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
x -2 x < 1 (x -2)•(x < 1)
0 0 00 1 01 0 01 1 1
Operatore AND (congiunzione)
12
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
n pari n 9 ( n pari) + ( n 9)
0 0 0
0 1 1
1 0 1
1 1 1
Operatore OR (disgiunzione)
Tavola di verità
esempio
13
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.
14
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
15
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)
16
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
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
NOT (A AND B) = (NOT A) OR (NOT B)
NOT (A OR B) = (NOT A) AND (NOT B)
Leggi di De Morgan
17
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))
18
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))
Esercizi
19
A B A XOR B
0 0 0110
0 1
1 0
1 1
n pari n > 9 n pari n > 9
0 0 0
1
1
0
0 1
1 0
1 1
Operatore XOR (disgiunzione esclusiva)
Tavola di verità
esempio
20
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)
21
A B -A -B (-A) • B A • (-B) (-A • B) + (A • (-B)) A B
1 1
0 1
1 0
0 0
A B -A -B (-A) • B A • (-B) (-A • B) + (A • (-B)) A B
1 1 0 0
0 1 1 0
1 0 0 1
0 0 1 1
A B -A -B (-A) • B A • (-B) (-A • B) + (A • (-B)) A B
1 1 0 0 0 0 0
0 1 1 0 1 0 1
1 0 0 1 0 1 1
0 0 1 1 0 0 0
A B -A -B (-A) • B A • (-B) (-A • B) + (A • (-B)) A B
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 0 1 1 1
0 1 1 0 0 0 0
A B (-A • B) + (A • (-B ) )
22
Implicazione logica
Equivalenza logica
A B A B
0 0 1
0 1 11 0 0
1 1 1
A B A B
0 0
0 1
1 0
1 1
IF THEN e IFF
(AB) • (BA)
A implica B
A è condizione sufficiente per B
B è condizione necessaria per A
NOT A OR B
1
0
0
123
Con il solo NAND
si possono esprimere
AND, OR e NOT
A NAND B NOT ( A AND B )
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)
A B A nand B
V V F
V F V
F V V
F F V
24
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)
Esercizi
25
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
26
Dalla tabella alla funzione booleana
A • (- B)
(-A) • (- B)
A B F(A,B)
1 1 0
1 0 1
0 1 0
0 0 1
F(A,B) = A•(-B) + (-A)•(-B)
= ( A + (- A)) • (- B)
= Vero • (- B)
= - B
27
Esercizio: correttezza di un voto universitario
Errore = not(Voto30) and Lode
OK = not Errore = (Voto30) or not Lode
Voto30 Lode Errore OK
V V F V
V F F V
F V V F
F F F V
28
Progettazione dei circuiti logici
⚫ Somma di due bit (S) con riporto (R)
⚫ Controllo di parità pari (P) e dispari (D)
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
A B P D
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
_ _
S = A • B + A • B
R = A • B
_ _
P = A • B + A • B_ _
D = A • B + A • B
29
30
Esempi di crittografia con XOR
⚫ Testo in binario:
⚫ Chiave binaria:
⚫ Testo cifrato:
1 1 0 1 1 0 1 0 1 0
1 0 1 0 1 1 0 1 0 1
0 1 1 1 0 1 1 1 1 1
=
0 1 1 1 0 1 1 1 1 1
1 0 1 0 1 1 0 1 0 1
1 1 0 1 1 0 1 0 1 0
=
–Testo cifrato:
–Chiave binaria:
–Testo in binario :
M chiave = C C chiave = M
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?
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 ed ha un diverso animale domestico. Inoltre:
31