1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1...

52
1 1 Vittorio Maniezzo Università di Bologna Logica introduzione 1 Ringraziamenti Questi lucidi derivano da adattamenti personali di materiale prodotto (fornitomi o reso scaricabile) da: P. Mello, M. Viroli, M. Huntbach, M. Milano, R. Baron … e ovviamente da wikipedia. Vittorio Maniezzo Università di Bologna 2

Transcript of 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1...

Page 1: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

1

1Vittorio Maniezzo – Università di Bologna

Logicaintroduzione1

Ringraziamenti

Questi lucidi derivano da adattamenti personali di materiale prodotto (fornitomi o reso scaricabile) da:

P. Mello, M. Viroli, M. Huntbach, M. Milano, R. Baron

… e ovviamente da wikipedia.

Vittorio Maniezzo – Università di Bologna 2

Page 2: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

2

LOGICALa logica (dal greco λόγος, logos, ovvero "parola", "pensiero", "idea", "argomento", "ragione") è lo studio del ragionamento e dell'argomentazione e, in particolare, dei procedimenti inferenziali, rivolto a chiarire quali procedimenti di pensiero siano validi e quali no.

La logica matematica è il settore della matematica che studia i sistemi formali dal punto di vista del modo di codificare i concetti intuitivi di dimostrazione e di calcolo. Si occupa delle parti della logica che possono essere modellate matematicamente.

La logica fornisce strumenti formali per:

• analizzare le inferenze come operazioni su espressioni simboliche;

• dedurre conseguenze da premesse;

• studiare la verità o falsità di certe proposizioni data la verità o falsità di altre proposizioni;

• stabilire la consistenza e la validità di una data teoria.

Vittorio Maniezzo – Università di Bologna 3

Logica e Informatica

La logica è utilizzata in informatica:

• In Intelligenza Artificiale come linguaggio formale per la rappresentazione di conoscenza

• Per sistemi di dimostrazione automatica di teoremi e studio di meccanismi efficienti per la dimostrazione

• Per la progettazione di reti logiche;

• Nei database relazionali, come linguaggio di interrogazione;

• Come linguaggio di specifica di programmi per eseguire prove formali di correttezza;

• Come linguaggio di programmazione (programmazione logica e prolog).

• Come meccanismo di composizione di vincoli su domini di definizione di variabili, al fine di individuare soluzioni ammissibili o ottime a problemi dati.

Vittorio Maniezzo – Università di Bologna 4

Page 3: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

3

Logica: Proposizionale e Primo OrdineDue classi principali: logica proposizionale e logica dei predicati.

Permettono di esprimere proposizioni (cioè frasi) e relazioni tra proposizioni. Nella logica dei predicati è possibile esprimere variabili e quantificazioni, mentre questo non è possibile nella logica proposizionale.

Nelle logiche del primo ordine, tutte le variabili possono indicare solamente individui, mentre nella logica del secondo ordine si ammette anche che le variabili possano indicare relazioni e funzioni specificate sopra agli individui

Il linguaggio della logica dei predicati del primo ordine è definito da:

• sintassi: caratteristiche strutturali del linguaggio formale (mediante una grammatica) senza attribuire alcun significato ai simboli;

• semantica: interpreta le frasi sintatticamente corrette del linguaggio e dà una interpretazione alle formule stabilendo se sono vere o false.

Vittorio Maniezzo – Università di Bologna 5

Logica: Proposizionale e Primo Ordine

• Nella logica proposizionale si considerano le proposizioni intere, senza guardare cosa hanno dentro, e si trattano le loro conseguenze come o vere o false. Si possono avere proposizioni come "tutti i gatti saltano" ed etichettarle vere o false, senza dover pensare ai gatti.

• Con la logica del primo ordine (1OL), si guarda anche alla struttura interna delle proposizioni, a cosa le rende vere o false. Quindi in "tutti i gatti saltano", si considera cosa la rende vera (qualsiasi gatto salta) o cosa la falsificherebbe (esiste un gatto, anche uno solo, che non salta).

Vittorio Maniezzo – Università di Bologna 6

Page 4: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

4

Logica Proposizionale

Vittorio Maniezzo – Università di Bologna 7

Premesse e conclusioniIn logica proposizionale, ad es. potremmo avere queste proposizioni:

p: le vipere si nascondono fra i sassi.q: i morsi di vipera fanno male.s: le scarpe sono una buona idea se si cammina sui sassi.

E' abbastanza ovvio che se p e q sono vere, allora anche s è vera:

Se p e q, allora s (if p and q, then s).

Se qualcuno ci garantisce che p e q sono vere, si può formalizzare il ragionamento come segue.

Le prime tre linee sono le premesse, l'ultima la conclusione.

if p and q, then s

p

q

Conclusione: s

Vittorio Maniezzo – Università di Bologna 8

Proposizionale

Page 5: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

5

Premesse e conclusioni

La logica proposizionale asserisce che qualunque ragionamento in questa forma è valido: quando tutte le premesse sono vere, anche la conclusione lo è. Non importa cosa dicono p, q e s.

Le premesse potrebbero essere false, ma il ragionamento reterebbe valido: è espresso in una forma che garantisce che la conclusione è vera se lo sono tutte le premesse.

La conclusione potrebbe però essere vera anche se le premesse fossero false, o perfino se il ragionamento non fosse valido.

La conclusione può essere vera anche per altri motivi. Forse non ci sono vipere fra i sassi, ma le scarpe sono comunque una buona idea.

Vittorio Maniezzo – Università di Bologna 9

Proposizionale

Identificazione proposizioni

Bisogna identificate le unità minime che siano proposizioni.

• “Se piove, allora prendo l'ombrello”: due prop. correlate da “if … then”.

• “Paolo è alto e grasso” due proposizioni correlate da “e”: Paolo è alto e (and) Paolo è grasso.

• "Paola è stata intelligente o fortunata". Due prop. correlate da "o" (or). “Or” è inclusivo: Paola è intelligente, o fortunata o entrambi.

• “Abdul non è un nome romagnolo”: una prop. con un “non” (not) : “not (Abdul è nome romagnolo)”. Si mette sempre la negazione davanti. Le parentesi indicano a cosa si applica la negazione.

Di solito si rappresentano le prop. con lettere come p, q, r, … . Non importa quale lettera, basta usare sempre la stessa per la stessa prop.

Si può formalizzare tutto con lettere e elementi extra, come if … then, and, or, not. Si usano parentesi per raggruppare elementi.

Vittorio Maniezzo – Università di Bologna 10

Proposizionale

Page 6: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

6

Connettivi Logici

Nelle formalizzazioni si possono utilizzare dei simboli, detti connettivi. Servono come sostituti delle parole “and”, “or”, “if … then” e “not”.

Servono a semplificare la notazione dei ragionamenti e a facilitare i metodi che controllano la validità di ragionamenti.

Vittorio Maniezzo – Università di Bologna 11

In parole In simboli Simboli alternativi

p or q p V q

p and q p Λ q p & q p.q pq

if p then q p → q p ⊃ q

not p ¬p ~p 𝑝

Proposizionale

Valori di veritàInvece di scrivere solo “p”, o “p & q”, o altro, possiamo vedere cosa succede all'avverarsi o falsificarsi delle diverse prop., ad es., cosa succede se p è vera, q è falsa, r è falsa e s è vera.

Lo si fa assegnando diversi valori di verità alla diverse prop. Si usano solo due valori di verità:

Vero (True, denotato T, V o 1).

Falso (False, denotato F o 0).

Adesso si possono specificare le regole per i connettivi, mostrando come diverse combinazioni di valori di verità per p e q determinano diversi valori di verità per “p v q”, “p & q”, “p → q” e “¬p”.

Si possono usare delle tabelle di verità, che elencano tutte le possibilità.

Vittorio Maniezzo – Università di Bologna 12

Proposizionale

Page 7: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

7

NOT

Not (negazione)

Vittorio Maniezzo – Università di Bologna 13

p ¬p

T F

F T

Proposizionale

OR

Or (disgiunzione: p e q sono i disgiunti)

Il valore T per p v q nella prima riga indica che v rappresenta un or inclusivo: p o q o entrambi.

Vittorio Maniezzo – Università di Bologna 14

p q p v q

T T T

T F T

F T T

F F F

Proposizionale

Page 8: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

8

AND

And (congiunzione: p e q sono i congiunti)

Vittorio Maniezzo – Università di Bologna 15

p q p & q

T T T

T F F

F T F

F F F

Proposizionale

IF … THENIf … then (implicazione materiale: p è l'antecedente, q è il conseguente): stabilisce che q consegue da p.

Ultime due righe un po' strane. Se p è falsa, come sapere se qconsegue o no da p?

Si mette T quando p è falsa per dire che non si può affermare che qnon consegue da p (esempio: "se piove vado in auto", e se non piove? Forse si, forse no).

Vittorio Maniezzo – Università di Bologna 16

p q p → q

T T T

T F F

F T T

F F T

Proposizionale

Page 9: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

9

Se e solo se (iff, sse)

“X se e solo se Y” significa che X e Y sono o entrambi veri o entrambi falsi.

Questa espressione è molto comune, ha una sua abbreviazione : iff(italiano sse) e un suo connettivo: “p ↔ q”, o anche “p ≡ q”, anche se p ↔ q è equivalente a (p → q) & (q → p).

Vittorio Maniezzo – Università di Bologna 17

p q p ↔ q

T T T

T F F

F T F

F F T

Proposizionale

Tabelle di verità di espressioni

Si possono costruire espressioni anche lunghe, e scrivere le loro tabelle di verità.

Questo permette di formalizzare ragionamenti complessi e verificare la loro validità.

Esempio: (p v q) & (q →¬p)

Vittorio Maniezzo – Università di Bologna 18

p q ¬p p v q q →¬p (p v q) & (q →¬p)

T T F T F F

T F F T T T

F T T T T T

F F T F T F

Proposizionale

Page 10: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

10

Tabelle di verità di espressioni(p v q) → (¬p v r)

Vittorio Maniezzo – Università di Bologna 19

p q r ¬p (p v q) (¬p v r) (p v q) → (¬p v r)

T T T F T T T

T T F F T F F

T F T F T T T

T F F F T F F

F T T T T T T

F T F T T T T

F F T T F T T

F F F T F T T

Proposizionale

• (A ∨ B) → (¬A ∧ (B → C)

• ((A → B) ∧ (C → D)) → ((A ∧ C) → (B ∧ D))

• ¬((A ∨ C) ∨ B) ∨ (A ∧ C)

Tautologie e contraddizioni

• A volte, si ottengono dei T in ogni riga della colonna finale della tabella. Significa che l'espressione è vera per qualunque valore di verità delle prop. di base. Questa espressione è chiamata una tautologia.

• A volte, si ottengono degli F in ogni riga della colonna finale della tabella. Significa che l'espressione è falsa per qualunque valore di verità delle prop. di base. Questa espressione è chiamata una contraddizione.

Vittorio Maniezzo – Università di Bologna 20

Proposizionale

Page 11: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

11

Tautologie importanti

Vittorio Maniezzo – Università di Bologna 21

1) P1 ⇒P1 (principio di identità) 2) ¬(P1 ∧ (¬P1)) (principio di non contraddizione) 3) P1 ∨ (¬P1) (principio del terzo escluso) 4) P1 ⇔ ¬¬P1 (legge della doppia negazione) 5) ((P1 ⇒ P2) ∧ (P2 ⇒ P3))⇒(P1 ⇒ P3) (legge del sillogismo ipotetico) 6) (P1 ⇒ P2)⇒((P2 ⇒ P3)⇒(P1 ⇒ P3)) (legge del sillogismo ipotetico) 7) ((P1 ∨ P2) ∧ (¬P2))⇒P1 (legge del sillogismo disgiuntivo) 8) (P1 ⇒ P2)⇒( ¬ P2⇒ ¬ P1) (legge di contrapposizione) 9) (P1 ⇒ P2)⇔ ¬ (P1 ∧¬ P2) (legge di Filone Megarico) 10) (P1 ⇒ P2)⇔ (¬ P1 ∨ P2) (legge di Crisippo) 11) ¬ P1 ⇒(P1 ⇒ P2) (ex falso sequitur quodlibet) 12) P1 ⇒(P2 ⇒ P1) (verum sequitur a quodlibet) 13) (¬ P1⇒ P1) ⇒ P1 (legge di Cardano - Clavio) 14) (P1⇒ ¬ P1) ⇒¬ P1 (legge di Cardano - Clavio) 15) (P1 ⇒(P2 ∧¬ P2)) ⇒ ¬ P1 (riduzione all'assurdo) 16) (¬ P1 ⇒(P2 ∧¬ P2)) ⇒ P1 (riduzione all'assurdo) 17) ((P1 ∧¬ P2)⇒(P3 ∧¬ P3))⇒(P1 ⇒ P2) (riduzione all'assurdo) 18) ((P1 ∧¬ P2)⇒ P2)⇒(P1 ⇒ P2) (riduzione all'assurdo) 19) ((P1 ∧¬ P2)⇒ ¬ P1)⇒(P1 ⇒ P2) (riduzione all'assurdo)

Ragionamenti validi

In logica proposizionale, un ragionamento è valido se e solo se soddisfa questa condizione: quando tutte le premesse sono vere, lo è anche la conclusione.

Supponiamo di avere premesse A, B, C e conclusione D (le maiuscole denotano espressioni su p, q, r, …. Ad es., A può essere (p & q) →s).

Se ragionamento valido, soddisfa la condizione, quindi (A & B & C) →D è una tautologia:

• Se tutte le premesse sono vere, (A & B & C) è T, quindi D è T, ed è vera tutta l'espressione.

• Se una premessa è falsa, (A & B & C) è F, quindi l'intera espressione è vera. Non importa se D è T o F.

Vittorio Maniezzo – Università di Bologna 22

Proposizionale

Page 12: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

12

Ragionamenti validi

Se ragionamento non valido, non soddisfa la condizione, e

(A&B&C)→D non è una tautologia: c'è qualche circostanza in cui tutte

le premesse sono vere, (A & B & C) è T, ma D è F, quindi tutta

l'espressione è F.

Quindi se il ragionamento è valido, (A & B & C) → D è una tautologia,

mentre se non è valido, (A & B & C) → D non è una tautologia.

Possiamo quindi verificare se un ragionamento è valido costruendo

un'espressione come (A & B & C) → D, calcolando la sua tabella di

verità e verificando se è una tautologia.

Vittorio Maniezzo – Università di Bologna 23

Proposizionale

Verità e validitàLa verità è una proprietà degli enunciati o proposizioni.

Una proposizione è vera se e solo se corrisponde ai fatti, a come stanno le cose.

Altrimenti la proposizione è falsa.

Quando dalla verità delle premesse segue la verità della conclusione, diciamo che la deduzione rappresenta (costituisce) un argomento valido.

Es.

• Tutti i dinosauri sono estinti. I brontosauri sono dinosauri. Quindi i brontosauri sono estinti.

• Tutti i fiumi hanno un letto. Io ho un letto. Quindi io sono un fiume

Vittorio Maniezzo – Università di Bologna 24

Page 13: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

13

Esempio: validità di un ragionamento

Si consideri ad es. il ragionamento:

p

p → (q v r)

¬q

Conclusione: r

Si può verificarne la validità costruendo una condizionale con le

premesse come antecedente e la conclusione come conseguente.

Poi si valuta la tabella di verità per la condizionale, per vedere se si

ottiene T in ogni riga per l'espressione completa.

[ p & ( p → (q v r) ) & ¬q ] → r

In questo caso la si ottiene, per cui il ragionamento è valido.

(cont …)Vittorio Maniezzo – Università di Bologna 25

Proposizionale

Negazione della conclusioneAltro approccio per determinare la validità di un ragionamento: negarne la conclusione

Un ragionamento corretto, con premesse A, B e C, e conclusione D, (A & B & C) →D è una tautologia, non si ha mai (A & B & C) vero e D falso. Quindi (A & B & C & ¬D) è una contraddizione.

Per un ragionamento non valido, (A & B & C) →D non è una tautologia, a volte è falso, quindi a volte (A & B & C) è vero e D falso. (A & B & C & ¬D) non è una contraddizione.

Il test alternativo diventa:

Costruisci una congiunzione delle premesse e della negazione della conclusione e costruiscine la tabella di verità.• Se si ha una contraddizione (F in ogni riga), allora il ragionamento è

valido.• Se non si ha una contraddizione (T in almeno una riga), allora il

ragionamento non è valido.Vittorio Maniezzo – Università di Bologna 26

Proposizionale

Page 14: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

14

Formule ben formate (fbf, wff)Una sequenza di simboli è una formula. Una formula ben formata (fbf, well formed formula, wff) è una formula sintatticamente corretta. Una fbf è definita come segue.

• Ogni lettera proposizionale è una fbf.

• Se A è una fbf, allora lo è anche ¬A.

• Se A e B sono fbf, lo sono anche (A v B), (A & B) e (A → B).

• Nient'altro è una fbf.

Letterale: fbf atomica o la sua negazione.

Con queste regole si possono scrivere formule complesse. Ad es.:

• p, q e r sono fbf.

• Quindi (p v q), (q & r) e ¬q sono fbf.

• Quindi ( (p v q) v (q & r) ) è una fbf.

• Quindi ( ( (p v q) v (q & r) ) → ¬q ) è una fbf

Vittorio Maniezzo – Università di Bologna 27

Proposizionale

Sistema logico

Le regole su simboli e fbf definiscono un linguaggio formale, come esprimersi correttamente. Non specificano cosa è utile dire, in particolare cosa consegue da cosa. Per questo serve un sistema logico. Sono necessari tre componenti:

• Un linguaggio: un insieme di simboli e regole che determinano cosa è una fbf.

• Alcuni assiomi. Sono fbf che accettiamo come basi dei ragionamenti. Alcuni sistemi (v. deduzione naturale) prescindono da assiomi.

• Regole di inferenza: regole che permettono di concatenare ragionamenti. La prima che vedremo è il modus ponens.

Vittorio Maniezzo – Università di Bologna 28

Proposizionale

Page 15: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

15

Teoria

Avendo un sistema logico, si può costruire una teoria. Una teoria è un insieme di fbf. Le teorie di un qualche interesse di solito includono:

• Gli assiomi (se servono);

• I teoremi. Sono tutte le fbf che si possono ottenere alla fine di ragionamenti, usando le regole di inferenza. Gli assiomi sono anche teoremi;

• Nessun'altra fbf.

Gli assiomi dovrebbero essere plausibili per sé e necessari per provare tutto ciò che dovrebbe essere provabile, e nient'altro. Si devono poter provare tutte le tautologie e nessuna contraddizione.

Di solito si vogliono assiomi che permettono di provare solo le tautologie, altrimenti si potrebbero provare cose che potrebbero essere non vere.

Vittorio Maniezzo – Università di Bologna 29

Proposizionale

Regole di inferenza

Le regole di inferenza permettono di passare da fbf ad altre.

Notazionalmente, la parola "inferisci" viene spesso rappresentata dai simboli Ⱶ o |=.

La principale è il modus ponens (metodo di affermazione):

Da A e (A → B), inferisci B.

Un'altra regola è il modus tollens (metodo di negazione):

Da (A → B) e ¬B, inferisci ¬A.

Esempio:

1. Se si studia (A), allora si prende un bel voto (B)

2. Non ha preso un bel voto (¬B)

3. Non ha studiato (¬A)

Vittorio Maniezzo – Università di Bologna 30

Proposizionale

Page 16: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

16

Monotonicità

Una teoria T è monotona se l’aggiunta di nuovi assiomi non invalida i teoremi trovati precedentemente.

Esistono regole di inferenza non monotone. Ad esempio la regola nota come Assunzione di Mondo Chiuso (“Closed World Assumption”):

Assunzione del Mondo Chiuso (CWA):

T | A––––––

~ A

se una formula atomica A non è conseguenza logica di una teoria T, ~A si può considerare un teorema di T.

Se alla teoria T si aggiunge l'assioma A, non si può più derivare ~A, da cui segue la non monotonicità del sistema di inferenza.

Proposizionale

Vittorio Maniezzo – Università di Bologna 31

Prova di un teorema

La prova di un teorema è una sequenza di fbf. L'ultima è il teorema che vogliamo provare.

Ogni fbf deve essere una fra:

• Un assioma.

• Qualcosa che è già stato provato essere un teorema.

• Qualcosa che deriva da fbf precedenti usando le regole di inferenza. Le fbf precedenti non devono necessariamente essere quelle immediatamente precedenti nella sequenza.

• La ripetizione di una fbf precedente, o una sua riscrittura usando questa regola: possiamo sempre inserire o cancellare due negazioni in fila, “¬ ¬”.

E' importante specificare cosa si intende per prova, perché così è possibile automatizzare il controllo di prove e la ricerca di nuove prove.

Vittorio Maniezzo – Università di Bologna 32

Proposizionale

Page 17: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

17

Deduzione e risoluzione

Il collegamento fra prove e condizionali è dato dai teoremi di deduzione e di risoluzione.

Supponiamo di avere alcune premesse, A e B, e una conclusione C che ne deriva: A, B |= C.

Si può trasportare una premessa nella conclusione, trasformando la conclusione in un condizionale: se C deriva da A e B, allora ( B → C ) deriva da A.

Si può ripetere il procedimento, ottenendo che ( A → ( B → C ) ) deriva da nessuna premessa, quindi è un teorema.

Ma ( A → ( B → C ) ) è equivalente a ( ( A & B ) → C ) ), v. ad es. le relative tabelle di verità.

Vittorio Maniezzo – Università di Bologna 33

Proposizionale

Teorema di deduzione

Supponiamo di avere alcune premesse, e una conclusione che ne deriva.

Si possono prendere alcune (o tutte) le premesse, farne una congiunzione e creare un condizionale con la congiunzione prima della freccia e la conclusione originale dopo. Il nuovo condizionale segue dalle premesse rimanenti.

Se trasportiamo tutte le premesse nel condizionale, il condizionale è un teorema.

Vittorio Maniezzo – Università di Bologna 34

Proposizionale

Page 18: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

18

Teorema di risoluzione

Si può seguire anche il percorso inverso, togliendo l'antecedente dal condizionale e portandolo nella premessa. Questo è il teorema di risoluzione.

Se abbiamo un condizionale che deriva da delle premesse (o da niente), A |= ( B → C ), si può togliere l'antecedente dal condizionale, cancellare la freccia e usare l'antecedente come una nuova premessa, A, B |= C. Così il conseguente deriva dalle premesse originarie (se c'erano) più la nuova.

Per esempio, se ( B → C ) deriva da A, allora C deriva dalle premesse A e B.

Vittorio Maniezzo – Università di Bologna 35

Proposizionale

Logica dei Predicati

Vittorio Maniezzo – Università di Bologna 36

Page 19: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

19

Logica dei Predicati del Primo Ordine

Nella logica dei predicati del primo ordine (1OL) si studia anche la struttura interna delle prop., cosa le rende vere o false.

Es., "tutte le volpi sono ingorde" si considera cosa la renderebbe vera (ogni volpe ingorda) e cosa falsa (una qualunque volpe non ingorda). Si identificano le due proprietà (essere volpe e essere ingorda) e si considerano a turno tutti gli oggetti dell'universo, valutandole.

“Primo Ordine” perché le proprietà sono fisse: le si sceglie poi si controlla se gli oggetti le hanno. Se interessano proprietà non fisse, es. "tutte le caratteristiche dei cani le hanno anche i gatti", dovremmo usare una logica del secondo ordine.

"dei Predicati" perché si gestiscono predicati, oltre che nomi. Es., "Albi è una volpe" si ha che "Albi" è il nome di un oggetto e "è una volpe" è un predicato.

Vittorio Maniezzo – Università di Bologna 37

Oggetti e proprietà

Problema: controllare se ogni oggetto ha una proprietà data. In 1OL si considera a turno ogni oggetto dell'universo e si controlla se ha quella proprietà.

Es., "tutti gli oggetti sono mammiferi”. Viene tradotto in “per ogni oggetto, l'oggetto è un mammifero”.

In un universo contenente solo Albi (volpe), Bea (volpe), Charlie (orso) e Debbie (koala), questo sarebbe “Albi è un mammifero & Bea è un mammifero & Charlie è un mammifero & Debbie è un mammifero”. Ogni congiunto è vero, quindi la congiunzione è vera.

Per “tutti gli oggetti sono volpi”, che diventa “Per ogni oggetto, l'oggetto è una volpe” si scopre che per Charlie o Debbie l'asserto è falso. Si può scrivere:

¬ (Per ogni oggetto, l'oggetto è una volpe)

"Per ogni" è un quantificatore universale, denotato con

Vittorio Maniezzo – Università di Bologna 38

1OL

Page 20: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

20

Esistenza

Altra domanda è se esiste un oggetto che ha una data proprietà.

Es., “Ci sono orsi?”, risposta si se ce n'è almeno uno. Può essercene uno o centomila, si uguale. No se non ce n'è nessuno.

Per rispondere, ancora si considerano tutti gli oggetti a turno. Ci si può fermare appena si trova un orso.

La domanda è quindi "Esiste un oggetto tale che l'oggetto è un orso"?

E' vera nel nostro universo se è vera la disgiunzione:

Albi è un orso V Bea è un orso V Charlie è un orso V Debbie è un orso.

"Esiste un" è un quantificatore esistenziale, denotato

Vittorio Maniezzo – Università di Bologna 39

1OL

1OL: Sintassi

La sintassi della 1OL è definita sui seguenti elementi:

• costanti, C;

• funzioni, F;

• predicati (o relazioni), P;

• variabili, V;

• connettivi logici:

~ (negazione),

congiunzione),

(disgiunzione),

(implicazione),

(equivalenza),

parentesi “(“ “)”

quantificatori esistenziale () e universale ().

1OL

Vittorio Maniezzo – Università di Bologna 40

Page 21: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

21

1OL: Sintassi

Costanti: singole entità del dominio del discorso.

• Es. “maria”, “giovanna”, “3” iniziale minuscola

Variabili: entità non note del dominio,

• Es. X, Y iniziale maiuscola

Funzioni n-arie: individua univocamente un oggetto mediante una relazione tra altri “n” oggetti del dominio.

• Es. madre(maria)

Predicati n-ari: generica relazione (che può essere vera o falsa) fra n oggetti del dominio del discorso.

• Es. parente(giovanna,maria)

1OL

Vittorio Maniezzo – Università di Bologna 41

1OL: Sintassi

Date queste definizioni principali possiamo definire:

Termine (definito ricorsivamente):

• una variabile è un termine;

• una costante è un termine;

• se f è un simbolo di funzione n-aria e t1,...tn sono termini, allora f(t1,...,tn) è un termine.

• Es. maria, f(X)

Atomo o formula atomica:

• l’applicazione di un simbolo di predicato n-ario p a n termini t1,...,tn: p(t1,..,tn).

• Es. parente(giovanna,maria)

1OL

Vittorio Maniezzo – Università di Bologna 42

Page 22: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

22

1OL: Sintassi

Espressione (o formula): sequenza di simboli appartenenti all’alfabeto.

• parente(giovanna, maria) (E1)

• X (uomo(X) felice(X)) (E2)

• X (uomo(X) mortale(X)) (E3)

• X (uomo(X) V felice(X) ) (E4)

Formule ben formate (fbf): frasi sintatticamente corrette del linguaggio. Si ottengono attraverso combinazione di formule atomiche, utilizzando i connettivi e i quantificatori.

1OL

Vittorio Maniezzo – Università di Bologna 43

1OL: semplificazioni

Semplificazioni:

(AB) equivale a (~(A (~B)))

(AB) equivale a ((~A) B)

(A = B) equivale a ((A B) (B A))

Inoltre, per i quantificatori:

(X) A equivale a ~(X ~A)

(X) A equivale a ~(X ~A)

1OL

Vittorio Maniezzo – Università di Bologna 44

Page 23: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

23

Spostamento delle negazioni

Se c'è una negazione contigua a un quantificatore (dx o sx), la si può

muovere dall'altra parte del quantificatore, cambiando il

quantificatore da esistenziale a universale, o viceversa.

“non esiste un oggetto tale che P” ha lo stesso significato di “ogni

oggetto è tale che non P”.

Esempio:

¬(∃x)(∃y)(Lxy)

(∀x) ¬ (∃ y)(Lxy)

(∀x)(∀y) ¬ (Lxy)

Vittorio Maniezzo – Università di Bologna 45

1OL

fbf

Due classi di fbf: atomiche and non-atomiche.

• Se F è un predicato o una relazione, e t1, t2 , … sono termini, allora F(t1, t2 , … ) è una fbf atomica.

• Se A è una fbf, lo è anche ¬A.

• Se A e B sono fbf, lo sono anche (A v B), (A & B) e (A → B).

• Se B è una fbf e x è una variabile, allora (∀ x)(B) e (∃x)(B) sono fbf.

Nient'altro è una fbf.

Vittorio Maniezzo – Università di Bologna 46

1OL

Page 24: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

24

Forme Normalifbf in forma normale disgiuntiva (“disjunctive normal form”, DNF): disgiunzione di una o più fbf composte da congiunzioni di letterali; le quantificazioni compaiono tutte in testa a F.

Esempio La fbf: XY Z (a(X) b(Y,Z)) V (c(X) ~a(Z) d) V fè in forma normale disgiuntiva.

fbf in forma normale congiuntiva (“conjunctive normal form”, CNF): congiunzione di una o più fbf composte da disgiunzioni di letterali; le quantificazioni compaiono tutte in testa ad F.

Esempio

La fbf: X Y Z (a(X) V b(Y,Z)) (c(X) V ~a(Z) V d) f

è in forma normale congiuntiva.

Qualunque fbf può essere trasformata in forma normale (congiuntiva o disgiuntiva) attraverso opportune trasformazioni sintattiche.

1OL

Vittorio Maniezzo – Università di Bologna 47

Variabili libere

Campo di azione (scope) di un quantificatore: fbf che lo segue immediatamente. Nel caso di ambiguità si utilizzano le parentesi tonde.

Es., nella fbf: X (p(X,Y)q(X)) q(X) la quantificazione sulla variabile X ha come campo d'azione la formula p(X,Y)q(X)

Variabili libere: variabili che non compaiono all'interno del campo di azione di un quantificatore.

Es., nella fbf: F = X (p(X,Y)q(X)) la variabile Y risulta libera in F.

Formule chiuse: fbf che non contengono alcuna variabile libera.

Formule ground: formule che non contengono variabili.

1OL

Vittorio Maniezzo – Università di Bologna 48

Page 25: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

25

AssiomiCome in logica proposizionale, si scelgono alcune fbf e le si usa come assiomi. Ogni formula che ne deriva sarà un teorema.

Due tipi di assiomi: logici e non logici.

• Assiomi logici, sempre presenti, servono a definire il sistema logico generale (dove funzioni, predicati, relazioni, e quantificatorifunzionano come ci aspettiamo).

• Assiomi non logici, servono a definire teorie specifiche, ad esempio qualche parte della matematica. Variano con le teorie.

Considerando solo quelli logici, ci sono molti insiemi alternativi equivalenti.

Anche qui, come in logica proposizionale, gli assiomi sono in realtà schemi di assiomi. Qualunque formula compatibile con lo schema è un assioma. Nella lista dopo, gli schemi 1, 2, 3 sono quelli della logica proposizionale.

Vittorio Maniezzo – Università di Bologna 49

1OL

Assiomi

1. ( A → (B → A) )

2. ( (A → (B → C) ) → ( (A → B) → (A → C) ) )

3. ( (¬A → ¬B) → (B → A) )

4. ( A → (∀x) (A) ) dove x non è libera in A.

5. ( (∀x)(A → B) → ( (∀x)(A) → (∀x)(B) ) )

6. ( (∀ x)( … x … ) → ( … t … ) ) x variabile e t termine, t libera per x nel conseguente

7. (∀x)(Ax/t ), A è un assioma logico con dentro un termine t, x è una variabile. Ax/t è come A, ma con tutte le istanze di t sostituite da x, che è una variabile che non ci sarebbe in A.

Vittorio Maniezzo – Università di Bologna 50

1OL

NO

Page 26: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

26

Modus Ponens (MP):A, AB

B

Deriva da due formule del tipo A e AB la nuova formula B.

Specializzazione (Spec): (x) A

A(t)

Da una formula quantificata universalmente è possibile derivare una formula identica all’originale in cui la variabile X è sostituita da un elemento dell'universo del discorso (costante o funzione).

1OL: Regole di Inferenza1OL

Vittorio Maniezzo – Università di Bologna 51

SemanticaAssocia un significato ai simboli. Ogni sistema formale è la modellizzazione di una certa realtà. La semantica collega il modello alla realtà.

Una interpretazione è la costruzione di un rapporto fra i simboli del sistema formale e la realtà (chiamata anche universo o dominio del discorso).

Ogni formula atomica o composta della logica dei predicati del primo ordine può assumere il valore vero o falso in base alla frase che rappresenta nel dominio del discorso.

Esempio:

•X Y Z (op(X, Y, Z ) op(Y, X, Z ))

• se X, Y, Z variano sull’insieme dei numeri reali tale formula è vera se il simbolo di predicato “op” ha il significato di un operatore commutativo (es: somma o moltiplicazione), falsa se l’operatore non è commutativo (es. sottrazione o divisione).

1OL

Vittorio Maniezzo – Università di Bologna 52

Page 27: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

27

Interpretazioni

Si definisce a priori un universo (del discorso)

Si interpretano per primi constanti, predicati e relazioni. Lo si fa

assegnando loro oggetti o gruppi di oggetti dall'universo.

Si parte dai simboli (del sistema) e non dagli oggetti (dell'universo)

perché siamo interessati nella struttura logica delle formule e dei

ragionamenti, quali sono validi indipendentemente

dall'interpretazione.

Interesse primario sui simboli. Es., ragionamenti validi in logica

proposizionale: lo sono indipendentemente dai valori di verità delle

lettere p, q e r, quindi per qualunque significato si dia a quelle lettere.

Vittorio Maniezzo – Università di Bologna 53

1OL

Interpretazioni

Dato un linguaggio del primo ordine L, un’interpretazione per L definisce un dominio non vuoto D e assegna:

• a ogni simbolo di costante in C, una costante in D;

• a ogni simbolo di funzione n-ario F, una funzione: F: DnD;

• a ogni simbolo di predicato n-ario in P una relazione in Dn, cioè un sottoinsieme di Dn.

1OL

Vittorio Maniezzo – Università di Bologna 54

Page 28: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

28

Valori di veritàLe formule atomiche sono vere o false in specifiche interpretazioni, questo vale per predicati e per relazioni.

Elementi di cui conosciamo la verità, connessi &, v o →, o con ¬ davanti, si applicano le stesse regole viste in logica proposizionale.

Variabili quantificate, unico quantificatore (se più quantificatori, metodo più complesso). Si assegnano valori alle variabili, così che le formule che le contengono hanno il valore di verità calcolabile con le regole delle formule atomiche e dei connettivi &, v, → e ¬.

Formula quantificata esistenzialmente: una formula del tipo X F è vera in un’interpretazione I se esiste almeno un elemento d del dominio D tale che la formula F', ottenuta assegnando d alla variabile X, è vera in I. In caso contrario F ha valore falso.

Formula quantificata universalmente: una formula del tipo X F è vera in un’interpretazione I se per ogni elemento d del dominio D, la formula F', ottenuta da F sostituendo d alla variabile X, è vera in I. Altrimenti F ha valore falso.

Vittorio Maniezzo – Università di Bologna 55

1OL

Modelli

Data una interpretazione I e una fbf chiusa F, I è un modello per F se e solo se F è vera in I.

Una fbf è soddisfacibile se e solo se è vera almeno in una interpretazione, ovvero se esiste almeno un modello per essa.

Una fbf che ha valore vero per tutte le possibili interpretazioni, cioè per cui ogni possibile interpretazione è un modello, è detta logicamente valida.

• Esempio: La fbf X p(X) ~(Y p(Y)) è logicamente valida. Infatti, le formule X p(X) e Y p(Y) sono varianti della stessa formula F e quindi hanno i medesimi valori di verità per qualunque interpretazione. In generale, F ~F ha sempre valore vero, in modo indipendente dall'interpretazione.

F logicamente valida ~F è non soddisfacibile.

F è soddisfacibile ~F non è logicamente valida.

1OL

Vittorio Maniezzo – Università di Bologna 56

Page 29: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

29

Soddisfacibilità

Un insieme di formule chiuse del primo ordine S è soddisfacibile se

esiste una interpretazione I che soddisfa tutte le formule di S (cioè che

è un modello per ciascuna formula di S). Tale interpretazione è detta

modello di S.

Un insieme di formule S che non può essere soddisfatto da alcuna

interpretazione, è detto insoddisfacibile (o inconsistente). Ad esempio

l'insieme di formule {A,~A} è insoddisfacibile.

1OL

Vittorio Maniezzo – Università di Bologna 57

Conseguenza Logica

Una formula F segue logicamente (o è conseguenza logica) da un insieme di formule S (e si scrive S |= F), se e solo se ogni interpretazione I che è un modello per S, è un modello per F.

Proprietà

Se una fbf F segue logicamente da S (S |= F), allora l'insieme S {~F} è insoddisfacibile.

Viceversa, se S {~F} è insoddisfacibile (e S era soddisfacibile), allora F segue logicamente da S.

Difficile lavorare a livello semantico (interpretazione, modelli). Quindi si lavora a livello sintattico.

1OL

Vittorio Maniezzo – Università di Bologna 58

Page 30: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

30

Logica: sintassi e semantica

SEMANTICA

conseguenze logiche

Proposizioni vere

modelli

SINTASSI

teoremi

Assiomi

Regole

di inferenza

1OL

Vittorio Maniezzo – Università di Bologna 59

DecidibilitàTeoria decidibile: teoria per la quale esiste un metodo meccanico per stabilire se una qualunque fbf è un teorema o non lo è.

1OL non è decidibile, ma semi-decidibile: se una formula è un teorema, esiste un metodo meccanico che la deriva in un numero finito di passi. Se invece la formula non è un teorema, non è garantita la terminazione del metodo meccanico (Turing 1936, Church 1936).

Una teoria del primo ordine è un insieme di fbf chiuse (assiomi) e si può quindi parlare di modello di una teoria.

Un modello per una teoria del primo ordine T è un’interpretazione che soddisfa tutti gli assiomi di T (assiomi logici e assiomi propri).

Se T ha almeno un modello viene detta consistente (o soddisfacibile).

1OL

Vittorio Maniezzo – Università di Bologna 60

Page 31: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

31

Ricapitolando …Gli agenti logici applicano inferenze a un insieme di fbf per derivare nuove fbf.

Alcuni concetti utili:

• sintassi: struttura formale delle proposizioni.

• semantica: verità di proposizioni rispetto ad interpretazioni/modelli

• conseguenza logica (entailment): proposizione necessariamente vera data un’altra proposizione

• inferenza: derivare (sintatticamente) proposizioni da altre proposizioni

• correttezza (soundness): la derivazione produce solo proposizioni che sono conseguenze logiche.

• completezza (completeness): la derivazione può produrre tutte le conseguenze logiche.

1OL

Vittorio Maniezzo – Università di Bologna 61

Dimostrazioni (automatiche)

Vittorio Maniezzo – Università di Bologna 62

Page 32: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

32

Clausole

Una clausola è una disgiunzione di letterali (cioè formule atomiche negate e non negate), in cui tutte le variabili sono quantificate universalmente in modo implicito.

Una clausola generica può essere rappresentata come la disgiunzione:

A1A2 ... An ~B1 ... ~Bm

dove Ai (i=1,..,n) e Bj (j=1,..,m) sono atomi.

Una clausola nella quale non compare alcun letterale, né positivo né negativo, è detta clausola vuota e verrà indicata con , interpretato come contraddizione: disgiunzione (falso ~vero)

Un sottoinsieme delle clausole è costituito dalle clausole di Horn, nelle quali si ha sempre un solo letterale positivo:

A1 ~B1 … ~Bm

Vittorio Maniezzo – Università di Bologna 63

Clausole di HornLe clausole di Horn possono essere scritte in una forma equivalente sostituendo al simbolo di disgiunzione e negazione ~ il simbolo di implicazione logica () e ricordando che:

~BA equivale a BA

Nel seguito indicherò spesso l'implicazione logica BA con:

A B (“B implica A”, oppure “A se B”).

La clausola: A1...An~B1..~Bm

può essere riscritta come: A1,...,An B1,...,Bm

dove i simboli “,” che separano gli atomi Ai sono da interpretare come disgiunzioni, mentre quelli che separano gli atomi Bj sono congiunzioni.

• Clausola di Horn: A B1,...,Bm

• B1,...,Bm è detto goal

Vittorio Maniezzo – Università di Bologna 64

Page 33: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

33

Il principio di risoluzione

E' un sistema di deduzione per la logica a clausole per il quale valgono interessanti proprietà.

Regola di inferenza: principio di risoluzione [Robinson 65], si applica a teorie del primo ordine in forma a clausole.

È la regola di inferenza base utilizzata nella programmazione logica.

Vittorio Maniezzo – Università di Bologna 65

Il principio di risoluzione

Il principio di risoluzione si applica a formule in forma a clausole, è utilizzato dalla maggior parte dei risolutori automatici di teoremi.

Logica Proposizionale: clausole prive di variabili.

Siano C1 e C2 due clausole prive di variabili:

C1 = A1 .. An C2 = B1 .. Bm

Se esistono in C1 e C2 due letterali opposti, Ai e Bj, tali che Ai = ~Bj,

allora da C1 e C2, (clausole parent) si può derivare una nuova clausola C3, denominata risolvente, della forma:

C3 = A1 .. Ai-1 Ai+1 .. An B1 .. Bj-1 Bj+1 .. Bm

C3 è conseguenza logica di C1C2.C1: L C1’ C2: L C2’

C: C1’ C2’Vittorio Maniezzo – Università di Bologna 66

Page 34: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

34

Esempi

C1= p(0,0) C2 = ~p(0,0) p(0,s(0))

C3= p(0,s(0))

C1 = p q ~a ~b C2 = f a

C3= p q ~b f

Vittorio Maniezzo – Università di Bologna 67

Dimostrazione per contraddizione attraverso la risoluzione

Dati gli assiomi H di una teoria e una formula F, se si deriva da H~F} una contraddizione logica, si dimostra che F è un teorema della teoria.Passi:

1) Ridurre H e il teorema negato ~F in forma a clausole.

H trasformato nell'insieme di clausole HC: H HC

F negata e trasformata nell'insieme di clausole FC: ~F FC

2) All'insieme HC FC si applica la risoluzione

Se F è un teorema della teoria, allora la risoluzione deriva la contraddizione logica (clausola vuota) in un numero finito di passi.

Contraddizione: Nella derivazione compariranno due clausole del tipo A e ~B con A e B formule atomiche unificabili.

Vittorio Maniezzo – Università di Bologna 68

Page 35: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

35

Dimostrazione per contraddizione attraverso la risoluzione

Per dimostrare F, il metodo procede generando i risolventi per tutte le

coppie di clausole dell'insieme di partenza C0 = HCFC che sono

aggiunti a C0. Procedimento iterato, fino a derivare, se è possibile, la

clausola vuota.

1. Ci+1 = Ci {risolventi delle clausole di Ci}

2. Se Ci+1 contiene la clausola vuota, termina.

Altrimenti ripeti il passo 1.

Vittorio Maniezzo – Università di Bologna 69

Esempio

H = {(a cd) (ade) (a ~c)}

F = {de}

La trasformazione in clausole di H e ~F produce:

HC = {~acd, ade, ~a~c}

FC = {~d, ~e} (cioè ~(d e))

Si vuole dimostrare che HC FC:

{ ~a c d, (1)

a d e, (2)

~a ~c, (3)

~d, (4)

~e } (5)

è contraddittorio.

Vittorio Maniezzo – Università di Bologna 70

Page 36: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

36

EsempioTutti i possibili risolventi al passo 1 sono:

{ c d e, (6) da (1) e (2)

de~c, (7) da (2) e (3)

~ac, (8) da (1) e (4)

ae, (9) da (2) e (4)

a d, (10) da (2) e (5)

~ad} (11) da (1) e (3)

Al passo 2, da (10) e (11) viene derivato il risolvente:

d (12)

e al passo 3, da (4) e (12) viene derivata anche la clausola vuota.

Vittorio Maniezzo – Università di Bologna 71

Algoritmo di Risoluzione per PL (Logica Proposizionale)

Per contraddizione, i.e., KBα è insoddisfacibile

Vittorio Maniezzo – Università di Bologna 72

Page 37: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

37

Modus ponens

Horn Form (sottinsieme della logica proposizionale)

KB = congiunzione di clausole di Horn

Clausole di Horn =

•Proposizioni atomiche; oppure

•(congiunzione di proposizioni atomiche) proposizione atomica

• E.g. KB = C (B A) (C D B)

Modus Ponens (per Horn): completo per Horn KB

α1, … ,αn, α1 … αn β

β

Può essere usato sia per forward chaining o backward chaining.

Algoritmi molto semplici e con complessità lineare in tempo.Vittorio Maniezzo – Università di Bologna 73

Forward chaining

Idea: applica tutte le regole le cui premesse sono soddisfatte nella KB, e aggiungi le conclusioni alla KB, fino a trovare la query

Vittorio Maniezzo – Università di Bologna 74

Page 38: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

38

Forward chaining: esempio

Vittorio Maniezzo – Università di Bologna 75

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 76

Page 39: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

39

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 77

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 78

Page 40: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

40

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 79

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 80

Page 41: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

41

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 81

Forward chaining : esempio

Vittorio Maniezzo – Università di Bologna 82

Page 42: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

42

Backward chaining (BC)

Idea: lavora backward dalla query (goal) q. Per dimostrare q:

• Controlla se q è già noto, oppure,

• Dimostra attraverso BC tutte le premesse di una qualche regola che conclude q

Per evitare loop, controlla se i nuovi sottogoal sono già nello stack dei goal.

Evita di ripetere lavoro controllando se i nuovi sottogoal sono già stati dimostrati veri o falsi.

Vittorio Maniezzo – Università di Bologna 83

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 84

Page 43: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

43

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 85

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 86

Page 44: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

44

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 87

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 88

Page 45: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

45

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 89

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 90

Page 46: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

46

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 91

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 92

Page 47: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

47

Backward chaining : esempio

Vittorio Maniezzo – Università di Bologna 93

Forward vs. backward chaining

FC è data-driven,

• e.g., monitoring, configurazione, interpretazione

• Non si concentra sull’obiettivo

BC è goal-driven, quindi in generale più appropriato per il problem-solving

Vittorio Maniezzo – Università di Bologna 94

Page 48: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

48

Sommario fin qui

La risoluzione è completa per la logica proposizionale

Forward, backward chaining sono completi per le clausole di Horn

La logica proposizionale è molto povera dal punto di vista espressivo.

Vittorio Maniezzo – Università di Bologna 95

Dimostrazioni in logica dei predicati

La logica dei predicati è un linguaggio più potente per esprimere KB (variabili e quantificatori).

Quindi lo studio delle dimostrazioni è più complicato.

Vedremo la dimostrazione basata su

• Risoluzione (corretta e completa per clausole generali)

• Forward chaining (corretta e completa per clausole Horn). Usata nei Database deduttivi (DATALOG)

• Backward chaining (corretta e completa per clausole Horn). Usata nella Programmazione Logica (PROLOG).

Vittorio Maniezzo – Università di Bologna 96

Page 49: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

49

Trasform. in clausole (opzionale)

Una qualunque fbf della logica dei predicati si può trasformare in un insieme di clausole generali.

Passi (8):

1) Trasformazione in fbf chiusa

Esempio la formula:

X (p(Y) ~(Y (q(X,Y) p(Y)) ) ) (1)

è trasformata in:

X Y (p(Y) ~(Y (q(X,Y) p(Y)) )) (2)

2) Applicazione delle equivalenze per i connettivi logici (ad esempio AB è sostituito da ~AB) e la si riduce in forma and-or.

La formula (2) diventa:

X Y (~p(Y) ~(Y (~q(X,Y) p(Y)) ) ) (3)Vittorio Maniezzo – Università di Bologna 97NO

Trasform. in clausole (opzionale)3) Negazione di atomi ma non di formule composte, tenendo presente

che:

X ~A equivale a ~X A

X ~A equivale a ~ X A

~(A1A2An) equivale a ~A1~A2 ~An

~(A1A2An) equivale a ~A1~A2~An (leggi di De Morgan).

L'espressione (3) diventa:

X Y (~p(Y) (Y (q(X,Y) ~p(Y)))) (4)

4) Cambiamento di nomi delle variabili, nel caso di conflitti.

in (4) la seconda variabile Y viene rinominata Z:

X Y (~p(Y) (Z (q(X,Z)~p(Z)))) (5)

Vittorio Maniezzo – Università di Bologna 98NO

Page 50: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

50

Trasform. in clausole (opzionale)

5) Spostamento dei quantificatori in testa alla formula (forma prenessa).

X Y Z (~p(Y) (q(X,Z) ~p(Z))) (6)

6) Forma normale congiuntiva cioè congiunzione di disgiunzioni, con quantificazione in testa.

X Y Z ((~p(Y) q(X,Z)) (~p(Y) ~p(Z))) (7)

7) Skolemizzazione: ogni variabile quantificata esistenzialmente viene sostituita da una funzione delle variabili quantificate universalmente che la precedono. Tale funzione è detta funzione di Skolem. Questa sostituzione non è del tutto equivalente ma lo è per l'inconsistenza.

Es. la formula X Y p(X,Y) può essere espressa come:X p(X,g(X))

In (7) Z è sostituita da f(X,Y), perché Z si trova nel campo delle quantificazioni X e Y:

XY ((~p(Y)q(X, f(X,Y))) (~p(Y)~p(f(X,Y)))) (8)Vittorio Maniezzo – Università di Bologna 99NO

Trasform. in clausole (opzionale)8) Eliminazione dei quantificatori universali: si ottiene è una formula detta universale (tutte le sue variabili sono quantificate universalmente) in forma normale congiuntiva.

((~p(Y) q(X,f(X,Y))) (~p(Y) ~p(f(X,Y)))) (9)

Una formula di questo tipo rappresenta un insieme di clausole (ciascuna data da un congiunto nella formula). La forma normale a clausole che si ottiene:

{~p(Y)q(X,f(X,Y)), ~p(Y)~p(f(X,Y))} (10)

La seconda clausola può essere riscritta rinominando le variabili (sostituendo cioè la formula con una sua variante).

{~p(Y)q(X,f(X,Y)), ~p(Z)~p(f(W,Z))} (11)

Vittorio Maniezzo – Università di Bologna 100NO

Page 51: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

51

Trasformazione in clausole

• Qualunque teoria del primo ordine T può essere trasformata in una teoria T’ in forma a clausole.

Anche se T non è logicamente equivalente a T’ (a causa dell'introduzione delle funzioni di Skolem), vale comunque la seguente proprietà:

• Sia T una teoria del primo ordine e T’ una sua trasformazione in clausole. Allora T è insoddisfacibile se e solo se T’ è insoddisfacibile.

Il principio di risoluzione è una procedura di dimostrazione che opera per contraddizione e si basa sul concetto di insoddisfacibilità.

Vittorio Maniezzo – Università di Bologna 101

Unificazione

Per applicare il principio di risoluzione alle clausole non ground è necessario introdurre il concetto di unificazione [Robinson 65].

Unificazione: procedimento di manipolazione formale utilizzato per stabilire quando due espressioni possono coincidere procedendo a opportune sostituzioni.

Sostituzione: insieme di legami di termini Ti a simboli di variabili Xi

(i=1,..,n): = {X1/T1, X2/T2,...,Xn/Tn}, dove X1, X2,..., Xn sono distinte.

La sostituzione corrispondente all'insieme vuoto è detta sostituzione identità ().

Vittorio Maniezzo – Università di Bologna 102

Page 52: 1 Logica - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica... · 2016-03-01 · 1 Vittorio Maniezzo –Università di Bologna 1 Logica 1 introduzione Ringraziamenti

52

Algoritmo di unificazioneT 2 <cost ante> <variabile> <termine compost o> C2 X2 S2 T 1

<cost ante> C1

<variabile> X1

<termine composto> S1

ok se C1=C2

ok {X2/C1}

NO

ok {X1/C2}

ok {X1/X2}

ok {X1/S2}

NO ok {X2/S1}

ok se S1 e S2 hanno st esso funtore e ariet à e gli argomenti UNIFICANO

Algoritmo in grado di determinare se due atomi (o termini) sono unificabili o meno e restituire, nel primo caso, la sostituzione unificatrice più generale.

Esistono vari algoritmi di unificazione di differente complessità.

Vittorio Maniezzo – Università di Bologna 111

Correttezza e completezza

Si può dimostrare che sotto opportune strategie, la risoluzione è corretta e completa.

Se viene generata la clausola vuota la teoria HCFC è insoddisfacibile e se la teoria HCFC è insoddisfacibile la derivazione genera la clausola vuota in un numero finito di passi.

Teorema (Correttezza e completezza della risoluzione)

Un insieme di clausole è insoddisfacibile se e solo se l'algoritmo di risoluzione termina con successo in un numero finito di passi, generando la clausola vuota.

Il metodo di risoluzione procede esaustivamente generando tutti i possibili risolventi ad ogni passo.

Vittorio Maniezzo – Università di Bologna 112