1 / 34

Corso di Informatica (Programmazione)

Corso di Informatica (Programmazione). Lezione 9 (7 novembre 2008) Logica proposizionale e algebra di Boole. Introduzione. Logica proposizionale  studio del significato delle proposizioni connesse dai connettivi logici Algebra di Boole 

erica
Download Presentation

Corso di Informatica (Programmazione)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Corso di Informatica(Programmazione) Lezione 9 (7 novembre 2008) Logica proposizionale e algebra di Boole

  2. Introduzione Logica proposizionale studio del significato delle proposizioni connesse dai connettivi logici Algebra di Boole struttura algebrica codificata da George Boole (1815-1864) che manipola grandezze binarie {0,1}

  3. Introduzione Logica studio del processo di pensiero che parte da premesse e giunge a conclusioni Proposizione  dichiarazione a cui può essere associato un valore di verità (VERO o FALSO, V o F). Ad esempio “Il cane di Marco è nero” è una proposizione, mentre “Che ore sono?” non lo è.

  4. Connettivi logici • Nel seguito si: • indicheranno le proposizioni tramite lettere dell’alfabeto maiuscolo • indicherà il valore di verità di una proposizione P tramite la notazione v(P). Quindi v(P)=V se P è vera, v(P)=F se P è falsa • Ad esempio la proposizione “Roma è la capitale d’Italia” può essere indicata con la lettera R e quindi: • R=“Roma è la capitale d’Italia”  v(R) vale V

  5. Connettivi logici • I principali connettivi (operatori) logici sono: • congiunzione logica  “and”, “e”, “&”, Λ • disgiunzione inclusiva  “or”, “o”, “|”, V • disgiunzione esclusiva  “xor”, V • negazione logica  “not”, “!”, • implicazione logica  “Þ” • coimplicazione logica  “Û”

  6. Congiunzione logica Date due proposizioni A e B, l’operatore di congiunzione logica produce la proposizione C=A&B che è VERA se e solo se A e B sono entrambe VERE. Negli altri casi C è FALSA. Ad esempio se A=“Roma è la capitale d’Italia” (A è VERA, cioè v(A)=V) e B=“Milano si trova in Francia” (B è FALSA, cioè v(B)=F), allora la proposizione C=A&B=“Roma è la capitale d’Italia e Milano si trova in Francia” è FALSA, cioè v(C)=F

  7. Congiunzione logica La tabella di verità dell’operatore di congiunzione logica risulta quindi essere:

  8. Disgiunzione inclusiva Date due proposizioni A e B, l’operatore di disgiunzione inclusiva produce la proposizione C=A|B che è VERA se e solo se almeno una proposizione tra A e B è VERA. Negli altri casi C è FALSA. Ad esempio se A=“Roma è la capitale d’Italia” (A è VERA, cioè v(A)=V) e B=“Milano si trova in Francia” (B è FALSA, cioè v(B)=F), allora la proposizione C=A|B=“Roma è la capitale d’Italia o Milano si trova in Francia” è VERA, cioè v(C)=V

  9. Disgiunzione inclusiva La tabella di verità dell’operatore di disgiunzione inclusiva risulta quindi essere:

  10. Disgiunzione esclusiva Date due proposizioni A e B, l’operatore di disgiunzione esclusiva produce la proposizione C=A xor B che è VERA se e solo se una proposizione tra A e B è VERA. Negli altri casi C è FALSA. Ad esempio se A=“Roma è la capitale d’Italia” (A è VERA, cioè v(A)=V) e B=“Milano si trova in Lombardia” (B è VERA, cioè v(B)=V), allora la proposizione C=A xor B=“Roma è la capitale d’Italia oppure Milano si trova in Lombardia” è FALSA, cioè v(C)=F

  11. Disgiunzione inclusiva La tabella di verità dell’operatore di disgiunzione esclusiva risulta quindi essere:

  12. Negazione logica Data una proposizione A, l’operatore di negazione logica produce la proposizione C=!A che è VERA se e solo se A è FALSA. Ad esempio se A=“Roma è la capitale di Francia” (A è FALSA, cioè v(A)=F), allora la proposizione C=!A=“Roma non è la capitale di Francia” è VERA, cioè v(C)=V

  13. Disgiunzione inclusiva La tabella di verità dell’operatore di negazione logica risulta quindi essere:

  14. Implicazione logica Date due proposizioni A e B, l’operatore di implicazione logica produce la proposizione C=AÞB che è FALSA se e solo A è VERA e B è FALSA. Negli altri casi C è VERA. Ad esempio se A=“Fuori piove”, B=“Fuori ci sono nuvole”, e si ha che v(A)=V e v(B)=F, allora C=AÞB=“Fuori piove allora è falso che fuori ci sono nuvole” è palesemente FALSO (quando piove ci sono sempre le nuvole…)

  15. Implicazione logica La tabella di verità dell’operatore di implicazione logica risulta quindi essere:

  16. Coimplicazione logica Date due proposizioni A e B, l’operatore di coimplicazione logica produce la proposizione C=AÛB che è VERA se e solo A e B sono entrambe VERE o entrambe FALSE. Negli altri casi C è FALSA. Ad esempio se A=“Il triangolo ha angoli alla base uguali”, B=“Il triangolo è isoscele”, e si ha che v(A)=F e v(B)=F, allora C=AÛB=“Il triangolo non ha angoli alla base uguali allora il triangolo non è isoscele” è VERA

  17. Coimplicazione logica La tabella di verità dell’operatore di coimplicazione logica risulta quindi essere:

  18. Implicazione e coimplicazione logica Se due proposizioni A e B sono legate da implicazione logica (A Þ B), si dice che A è condizione sufficiente per B e B è condizione necessaria per A. Se due proposizioni A e B sono legate da coimplicazione logica (A ÛB), si dice che A è condizione necessaria e sufficiente per B.

  19. La formula Una formula f è una combinazione di simboli di proposizioni tramite connettivi (operatori) logici. Ad una formula è associato un valore di verità v(f) che dipende dai valori di verità delle proposizioni atomiche (proposizioni che non possono essere scomposte in ulteriori proposizioni più piccole) A & B è un esempio di formula

  20. La sintassi di una formula • L’alfabeto delle formule è composto da: • i simboli delle proposizioni • i simboli dei connettivi logici • parentesi tonde (per eliminare ambiguità)

  21. La sintassi di una formula • La grammatica delle formule definisce le regole di buona formazione. Esse sono: • un simbolo di proposizione è una formula ben formata (abbreviato FBF) • se f è una formula ben formata, allora la sua negazione !f è una FBF • se f e f’ sono FBF, allora fopf’) (dove “op” è uno dei connettivi logici) è una FBF • niente altro è una FBF

  22. La sintassi di una formula Ad esempio la formula f=(A & (!B)) | C è una FBF in quanto, in virtù della regola 1, A, B e C sono FBF. Inoltre anche !B è una FBF in virtù della regola 2. Infine, per la regola 3 sono FBF anche le formule A & !B e la formula F=(A & (!B)) | C . Invece la formula f’=A & (& B) non è una FBF.

  23. La semantica di una formula Ad una formula f (che sia FBF) può essere associato un valore di verità attraverso la funzione di valutazionev: v: L  {V,F} che mappa l’insieme delle formule ben formate L all’insieme {V,F}. La funzione v si basa sulle tabelle di verità dei connettivi logici visti in precedenza. Quindi data f, v(f) è il valore di verità associato a f

  24. La semantica di una formula Esempio: f=(A & (!B)) | C posto che sia v(A)=V, v(B)=V e v(C)=F si ha: v(!B)=F v(A & (!B))=F v(f)=v((A & (!B)) | C)=F

  25. La semantica di una formula • Si dice che una formula f è: • una tautologia se è sempre v(f)=V • una contraddizione se è sempre v(f)=F Ad esempio: • f=A & (notA)  v(f)=F sempre! • f’=A ! (notA)  v(f’)=V sempre!

  26. Algebra di Boole • L’algebra di Boole si basa su: • variabili booleane che possono assumere uno dei valori compresi nell’insieme {0,1} • operatori booleani • di negazione logica (NOT) • di prodotto logico (AND) • di somma logica (OR) • etc.

  27. Negazione logica (NOT) L’operazione di negazione logica (o complementazione) restituisce il valore opposto rispetto alla variabile x in ingresso. Data la variabile booleana x, la sua negazione logica si indica con –x, x, x’ oppure not(x). Se x vale 1, allora –x vale 0; se x vale 0, allora –x vale 1.

  28. Negazione logica (NOT) La tabella di verità dell’operatore di negazione logica risulta quindi essere:

  29. Prodotto logico (AND) L’operazione di prodotto logico, tra due variabili x e y, restituisce 1 se x e y hanno entrambe valore 1. In tutti gli altri casi restituisce 0. Date le variabili booleane x e y, il prodotto logico di x e y si indica con x y, xy oppure con (x and y).

  30. Prodotto logico (AND) La tabella di verità dell’operatore di prodotto logico risulta quindi essere:

  31. Somma logica (OR) L’operazione di somma logica, tra due variabili x e y, restituisce 1 se almeno una tra x e y ha valore 1. In tutti gli altri casi restituisce 0. Date le variabili booleane x e y, la somma logica di x e y si indica con x+y oppure con (x or y).

  32. Somma logica (OR) La tabella di verità dell’operatore di somma logica risulta quindi essere:

  33. Prodotti e somme notevoli x+0=x x+1=1 x+x=x x+(-x)=1 X 0=0 X 1=x X x=x x (-x)=0

  34. Proprietà dell’algebra booleana • Proprietà di idempotenza della somma e del prodotto  x+x=x e xx=x • Proprietà dell’elemento nullo della somma e del prodotto  x+1=1 e x0=0 • Proprietà commutativa della somma e del prodotto  x+y=y+x e xy=yx • Proprietà associativa della somma e del prodotto  x+(y+z)=(x+y)+z=x+y+z e x(yz)=(xy)z=xyz

More Related