31
Algebra Booleana George Boole 1815 – 1864 http://en.wikipedia.org/wiki/George_Boole 1

Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

Algebra Booleana

George Boole

1815 – 1864

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

1

Page 2: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 3: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 4: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 5: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 6: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 7: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 8: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 9: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 10: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 11: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

Tavola di verità

esempio

A NOT A

0 1

1 0

x = y - (x = y)

0 1

1 0

Operatore NOT (negazione)

11

Page 12: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 13: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 14: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 15: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 16: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 17: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 18: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 19: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 20: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 21: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 22: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 23: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 24: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 25: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 26: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 27: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 28: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 29: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 30: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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

Page 31: Algebra Booleana George Boole 1815 1864 · 2020. 3. 31. · essere assegnato un valore di verità: vero o falso. 4. Proposizioni Aprire un Browser, digitare kahoot.it Inserire il

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