Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In...

27
Algebra Booleana George Boole 1815 – 1864 Wikipedia, the Free Encyclopedia www.wikipedia.org http://en.wikipedia.org/wiki/George_Boole 1

Transcript of Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In...

Page 1: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

Algebra Booleana

George Boole

1815 – 1864

Wikipedia, the Free Encyclopedia

www.wikipedia.org

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

1

Page 2: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

Logica delle Proposizioni

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).

ProposizioneEspressione del linguaggio alla quale può essere attribuito un valore di verità: vero o falso.

2

Page 3: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

3

Page 4: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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).

4

Page 5: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

5

Page 6: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

Tavola di verità

esempio - (a = b) a b

A NOT A

0 1

1 0

a = b - (a = b)

0 1

1 0

Operatore NOT (negazione)

6

Page 7: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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)

7

Page 8: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

8

Page 9: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

9

Page 10: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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)

10

Page 11: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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.

13

Page 12: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

14

Page 13: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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))

15

Page 14: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

16

Page 15: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

17

Page 16: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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)

18

Page 17: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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 ) )

19

Page 18: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

120

Page 19: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

21

Page 20: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

22

Page 21: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

23

Page 22: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

24

Page 23: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

25

Page 24: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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

26

Page 25: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

Progettazione dei circuiti logici

Confronto fra due bit: A=B; A>B

A B U M

0 0 1 0

0 1 0 0

1 0 0 1

1 1 1 0

_ _

U = A B + A B_

M = A B

– 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 27

Page 26: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

Espressioni Motore di ricerca

AND Unisce due parole che devono essere

presenti entrambe nella ricerca

OR Si usa quando è sufficiente che nel risultato

compaia una sola parola

AND NOT Precede una parola che si vuole escludere

dalla ricerca

NEAR Trova i documenti che contengono

entrambe le parole indicate ad una distanza

max di altre 10

PARENTESI Attribuiscono una priorità ad

un’espressione booleana (espressione

algebrica)28

Page 27: Algebra Booleana George Boole 1815 1864 · 2019-03-04 · Logica delle Proposizioni Logica In filosofia, lo studio delle leggi e delle funzioni che caratterizzano la struttura del

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:

29