Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7...

75
A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale Nota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig

Transcript of Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7...

Page 1: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 1

A7_3 V1.7

Inferenza nella logica proposizionale

Intelligenza Artificiale

Paolo Salvaneschi

Università di BergamoFacoltà di Ingegneria

Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie.Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore.

Sono graditi commenti o suggerimenti per il miglioramento del materialeNota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig

Page 2: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 2A7 Inferenza in PL Paolo Salvaneschi 2

INDICE

• Inferenza• Inferenza per enumerazione di modelli• Applicazione in sequenza di regole di inferenza• Risoluzione• KB in clausole di Horn• Forward chaining• Backward chaining• Confronto forward/backward

Page 3: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 3A7 Inferenza in PL Paolo Salvaneschi 3

Inferenza

• Inferenza– Procedura che, applicata ad una base di conoscenza,

deriva una frase α implicata logicamente dalla base di conoscenza KB

KB α

Page 4: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 4A7 Inferenza in PL Paolo Salvaneschi 4

Inferenza

• Concetti che si applicano a tutte le logiche– Equivalenza logica– Validità– Soddifacibilità

• Equivalenza logica• Due frasi sono logicamente equivalenti se e solo se sono

vere nello stesso insieme di modelli

α β β αiff eα β

Page 5: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 5A7 Inferenza in PL Paolo Salvaneschi 5

Inferenza

• Equivalenze logiche

Page 6: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 6A7 Inferenza in PL Paolo Salvaneschi 6

Inferenza

• Validità• Una frase è valida se è vera in tutti i modelli

(tautologia)• Es P ∨ ¬P è valida

Page 7: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 7A7 Inferenza in PL Paolo Salvaneschi 7

Inferenza

• Soddisfacibilità• Una frase è soddisfacibile se è vera in almeno un

modelloα è vera nel modello mm soddisfa αm è un modello (esempio) di α

• Modo di verifica: enumerare tutti i possibili modelli fino a che se ne trova uno che soddisfa

• Problema NP-completo

Page 8: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 8A7 Inferenza in PL Paolo Salvaneschi 8

Inferenza

• Relazione tra validità e implicazione logica (Relazione tra Implicazione logica e implicazione materiale)

• Deduction theorem

Per ogni formula α e β,α β

se e solo sela formula α⇒ β è valida

(sempre vera, in tutti i modelli)

Page 9: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 9A7 Inferenza in PL Paolo Salvaneschi 9

A B A ⇒ B

Inferenza

• EsempioKB α

1111

1001

1010

1000

P Q P ∧Q P ∧ Q ⇒ Q

KB αα KB

KB implica logicamente αα è vero in tutti i modelliin cui KB è vero

KB ⇒ α è verain tutti i modelli

P ∧ Q Q

Page 10: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 10A7 Inferenza in PL Paolo Salvaneschi 10

Inferenza

• Esempio

KB α

1111

1001

1010

1000

P Q P ∧Q P ∧ Q ⇒ Q

KB αα KB

Se KB ⇒ α non fosse vera in tutti i modelli allora ci sarebbe un caso in cui è falsa e quindi (tavola della verità della implicazione materiale)P ∧Q (KB) è vero e Q (α) è falso. α non è quindi vero in tutti i modelli in cui KB è vero e quindi non è implicato logicamente da KB

A B A ⇒ B

Page 11: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 11A7 Inferenza in PL Paolo Salvaneschi 11

α βse e solo se

la formula α ∧ ¬ β è non soddisfacibile(mai vera, in nessun modello)

Inferenza

• Relazione tra soddisfacibilità e implicazione logica

• Prova per contraddizione o refutazione(reductio ad absurdum). Assumiamo β falsa. Ciò porta ad una contraddizione con α

Page 12: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 12A7 Inferenza in PL Paolo Salvaneschi 12

Inferenza

• Inferenza– Procedura che, applicata ad una base di conoscenza,

deriva una frase α implicata logicamente dalla base di conoscenza KB

• Pattern di ragionamento in PL – Regole di inferenza– Prova: applicazione di una sequenza di regole di

inferenza (algoritmo di inferenza).

KB α

Page 13: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 13A7 Inferenza in PL Paolo Salvaneschi 13

Inferenza per enumerazione di modelli

• Primo algoritmo di inferenza: inferenza per enumerazione (model checking)

– Implementazione diretta della definizione

Si enumerano i modelliSi verifica che in ogni modello in cui KB è vero α sia vero (tavola della verità)(un modello fissa il valore vero o falso di ogni simbolo proposizionale)

KB α

Page 14: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 14A7 Inferenza in PL Paolo Salvaneschi 14

True

False

True

True

TrueTrueTrueTrue

FalseFalseFalseTrue

TrueFalseTrueFalse

FalseFalseFalseFalse

P Q P ⇒ Q (P ⇒ Q) ∧P Q

Modello di α (in cui α è vero)

Modello di KB (in cui KB è vero)

KB αSi verifica che in ogni modello in cui KB è vero α sia vero

Ogni riga è un possibile modello

Ogni colonna dice se la corrispondente

frase (simbolo proposizionale) èvera nei possibili

modelli

Inferenza per enumerazione di modelli

Page 15: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 15A7 Inferenza in PL Paolo Salvaneschi 15

Insieme deimodelli di αM(α)

Insieme deimodelli di KBM(KB)

Si verifica che in ogni modello in cui KB è vero α sia vero

KB |= α se e solo se M ( KB ) ⊆ M (α )“Se KB è vero allora α deve essere vero”

Inferenza per enumerazione di modelli

Page 16: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 16A7 Inferenza in PL Paolo Salvaneschi 16

True

False

True

True

TrueTrueTrueTrue

FalseFalseFalseTrue

TrueFalseTrueFalse

FalseFalseFalseFalse

P Q P ⇒ Q (P ⇒ Q) ∧P Q

Solo se: consideriamo un modello in cui α è falso.KB risulterà falso

Inferenza per enumerazione di modelli

KB α

Page 17: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 17A7 Inferenza in PL Paolo Salvaneschi 17

Inferenza

• Alternativamente, per verificare che KB αpotremmo utilizzare il teorema di deduzionee verificare che

KB ⇒ α(P ⇒ Q) ∧P ⇒ Q

è valida (è sempre vera)

Page 18: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 18A7 Inferenza in PL Paolo Salvaneschi 18

Inferenza per enumerazione di modelli

• Utilizzando l’inferenza per enumerazione abbiamo verificato che la base di conoscenza

α⇒ β α

β

KB = {α ⇒ β α}

Implica logicamente β

Regola di inferenza

Page 19: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 19A7 Inferenza in PL Paolo Salvaneschi 19

Inferenza per enumerazione di modelli

Page 20: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 20A7 Inferenza in PL Paolo Salvaneschi 20

Inferenza per enumerazione di modelli

• Algoritmo corretto (implementa direttamente la definizione di implicazione logica)

• e completo (esamina esaustivamente un numero finito di modelli)

• Complessità– Tempo: O(2n) per n simboli (in KB e α)

– Spazio: O(n) (depth first)• L’implicazione proposizionale è un problema co-

NP-completo co-NP complemento di NP: Per ogni problema di decisione in NP c’è un corrispondente problema in co-NP con le risposte si e noinvertiteco-NP- completo idem

Page 21: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 21A7 Inferenza in PL Paolo Salvaneschi 21

Applicazione in sequenza di regole di inferenza

• Altri algoritmi di inferenza (alternativa a enumerazione di modelli): applicazione in sequenza di regole di inferenza (prova)– Trovare una prova è come trovare una soluzione ad un

problema di ricerca– Le regole di inferenza possono essere usate come

operatori su KB utilizzando i metodi di ricerca nello spazio degli stati

– Funzione successore:genera tutte le possibili applicazioni di regole di inferenza

Page 22: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 22A7 Inferenza in PL Paolo Salvaneschi 22

Applicazione in sequenza di regole di inferenza

• Regole di inferenza• Scritte nella seguente forma

A1…..An

A

Premesse

Conclusione

Page 23: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 23A7 Inferenza in PL Paolo Salvaneschi 23

• Regole di inferenza• Equivalenze logiche (vedi sopra)• Modus ponens

• And-Elimination

Applicazione in sequenza di regole di inferenza

α⇒ β α

β

α ∧ β

α

α ∧ β

β

Page 24: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 24A7 Inferenza in PL Paolo Salvaneschi 24

• Esempio: procedura di inferenza iApplico due volte la regola “modus ponens”

Applicazione in sequenza di regole di inferenza

α⇒ β α

β

Modus ponens

KB = {felino ⇒ animale, gatto ⇒ felino, gatto}

gatto ⇒ felino gatto

felino

felino ⇒ animale felino

animale

KB animalei

Passo 1

Passo 2

Conclusione

Page 25: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 25A7 Inferenza in PL Paolo Salvaneschi 25

Applicazione in sequenza di regole di inferenza

• Confronto tra :– inferenza per enumerazione (model checking)– applicazione in sequenza di regole di inferenza (prova,

dimostrazione)• NP-completa• Nel caso peggiore la prova non è più efficiente della enumerazione

dei modelli• In pratica può essere più efficiente poiché ignora proposizioni

irrilevanti (le proposizioni non considerate dalle inferenze applicate) mentre l’algoritmo che enumera gli stati della tavola di verità le considera tutte (vedi nota)

Page 26: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 26A7 Inferenza in PL Paolo Salvaneschi 26

nota• I sistemi logici esaminati sono monotoni• Se si aggiunge informazione alla base di conoscenza,

l’effetto è che l’insieme delle frasi implicate logicamente può solo crescere

• Aggiungendo informazione ciò che è vero prima non diventa falso, semplicemente si aggiungono nuove verità

• Logiche non monotone

Applicazione in sequenza di regole di inferenza

Se KB α allora KB ∧ β α

Page 27: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 27A7 Inferenza in PL Paolo Salvaneschi 27

nota• I sistemi logici esaminati sono monotoni• Nell’esempio precedente si utilizza la regola di inferenza

Modus Ponens applicandola più volte a piccole porzioni di KB – Località

• Se la logica proposizionale non fosse monotona bisognerebbe considerare ogni volta l’intera KB e non sarebbe possibile modificarla incrementalmente

Applicazione in sequenza di regole di inferenza

Page 28: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 28A7 Inferenza in PL Paolo Salvaneschi 28

Risoluzione

• Le regole sono corrette (sound)• Gli algoritmi di inferenza che usano

l’applicazione in sequenza di regole di inferenza sono corretti (sound)

• Sono completi?• L’algoritmo di ricerca può essere completo, ma

l’algoritmo di inferenza può non essere completo se la scelta delle regole di inferenza non èadeguata

Page 29: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 29A7 Inferenza in PL Paolo Salvaneschi 29

Risoluzione

• Risoluzione• Una sola regola di inferenza che, unita a un

algoritmo di ricerca completo, genera un algoritmo di inferenza completo

• La risoluzione è corretta e completa per PL

Page 30: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 30A7 Inferenza in PL Paolo Salvaneschi 30

Risoluzione

• Clausole• Una clausola è una disgiunzione di letterali

Letterale: frase atomica (letterale positivo) o frase atomica negata (letterale negativo)

• Un letterale è considerato come una disgiunzione di un letterale (clausola unitaria)

• Letterali complementari: uno la negazione dell’altro

Page 31: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 31A7 Inferenza in PL Paolo Salvaneschi 31

Risoluzione

• Esempio: Clausole di lunghezza due• La risoluzione prende due clausole e produce una

nuova clausola che contiene tutti i letterali delle due originali, eccetto i letterali complementari

Page 32: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 32A7 Inferenza in PL Paolo Salvaneschi 32

• Unit resolution inference ruleletterale letterali complementari

• Full resolution inference ruleletterali complementari

eliminato

Risoluzione

eliminato

eliminato

eliminato

Page 33: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 33A7 Inferenza in PL Paolo Salvaneschi 33

• La clausola risultante deve contenere solo una copia di ogni letterale (fattorizzazione)

A ∨ B A ∨ ¬ B

A ∨ A

A ∨ A

A

Risoluzione

Page 34: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 34A7 Inferenza in PL Paolo Salvaneschi 34

Risoluzione

• La regola di risoluzione è applicabile solo a disgiunzioni di letterali

• Si dimostra che ogni frase nella logica delle proposizioni è logicamente equivalente a una congiunzione di disgiunzioni di letterali

• Forma normale congiuntiva (CNF – ConjunctiveNormal Form)

Es. (A ∨ ¬ B ) ∧ (B ∨ ¬ C ∨ ¬ D)

Page 35: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 35A7 Inferenza in PL Paolo Salvaneschi 35

• L’algoritmo di risoluzione (per refutazione)– Nota: la risoluzione non può essere utilizzata per

enumerare le frasi vere (generare le conseguenze) ma solo per confermare o rifiutare una frase

• Una procedura di inferenza basata sulla risoluzione utilizza il seguente schema:Prova per contraddizione. Per dimostrare che

si dimostra che (KB ∧ ¬α) è non soddisfacibile

Risoluzione

KB α

Page 36: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 36A7 Inferenza in PL Paolo Salvaneschi 36

– (KB ∧ ¬α) è convertito in CNF– La regola di risoluzione è applicata alle clausole

risultanti– Ogni coppia di clausole che contiene letterali

complementari è risolta ed è aggiunta all’insieme fino a che:

• Non è più possibile aggiungere nuove clausole:KB non implica α

• E’ derivata una clausola vuota (equivale a False – può avere origine solo dalla risoluzione di due clausole unitarie complementari es. P e ¬P) (contraddizione) :KB implica α

Risoluzione

Page 37: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 37A7 Inferenza in PL Paolo Salvaneschi 37

Risoluzione

• Esempio di risoluzione

(KB ∧ ¬α) convertita in CNF

Risoluzione

clausola vuotaKB implica α

Tutte le clausole ottenute risolvendo le coppie della riga sopra

Page 38: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 38A7 Inferenza in PL Paolo Salvaneschi 38

Risoluzione

Nota

B 1,1 ∨ ¬ B 1,1 ∨ P 1,2

True ∨ P 1,2

Trueeliminata

Page 39: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 39A7 Inferenza in PL Paolo Salvaneschi 39

KB in clausole di Horn

• Clausole di Horn• Le basi di conoscenza reali possono contenere clausole

appartenenti ad una classe con una restrizione chiamate Clausole di Horn. Per esse esiste una procedura di inferenza in tempo polinomiale.

• Clausole di Horn:Disgiunzione di letterali di cui al massimo uno è positivo

(¬ A ∨ ¬ B ∨ C )

(¬ B ∨ C ∨ D)

è una clausola di Horn

Non è una clausola di Horn

Page 40: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 40A7 Inferenza in PL Paolo Salvaneschi 40

KB in clausole di Horn

• Utilizzo delle Clausole di Horn• Ogni clausola di Horn può essere scritta come una

implicazione la cui premessa è una congiunzione di letterali positivi e la cui conclusione è un unico letterale positivo

• Modo facile da leggere usato nelle basi di conoscenza

(A ∧ B ⇒ C )(Se lo spostamento K1 è intermedio

e lo spostamento K2 è elevatoallora lo stato è preallarme)

Regola

Page 41: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 41A7 Inferenza in PL Paolo Salvaneschi 41

• Esempio

KB in clausole di Horn

¬ A ∨ ¬ B ∨ C(¬ A ∨ ¬ B ) ∨ C associatività di ∨

¬(A ∧ B ) ∨ C De Morgan

A ∧ B ⇒ C eliminazione dell’implicazione

Page 42: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 42A7 Inferenza in PL Paolo Salvaneschi 42

KB in clausole di Horn

• Utilizzo delle Clausole di Horn• L’inferenza con le clausole di Horn può essere eseguita

applicando il Modus Ponens ovunque possibile, fino a quando non si può eseguire alcuna inferenza.

• L’inferenza con le clausole di Horn può essere eseguita con gli algoritmi forward chaining e backward chaining. Facili da capire

• Complessità per decidere l’implicazione logica: lineare rispetto alle dimensioni di KB

Page 43: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 43A7 Inferenza in PL Paolo Salvaneschi 43

KB in clausole di Horn

• Clausole di Horn: Disgiunzione di letterali di cui al massimo uno è positivo

• Definite clauses (base per la programmazione logica): Disgiunzione di letterali di cui esattamente uno è positivo

(¬ A ∨ ¬ B )E’ una Horn clauseNon è una definite Horn clause

(¬ A ∨ ¬ B ∨ C ) E’ una definite Horn clause

headbody

( C ) fact

Page 44: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 44A7 Inferenza in PL Paolo Salvaneschi 44

KB in clausole di Horn

Nota: Horn clause senza letterali positivi: cosa è?

(¬ A ∨ ¬ B ) E’ una Horn clauseNon è una definite Horn clause

¬(A ∧ B )

¬(A ∧ B ) ∨ False

(A ∧ B ) ⇒ False E’ un vincolo di integrità(database)

Voto <30 e lode ⇒ False

Page 45: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 45A7 Inferenza in PL Paolo Salvaneschi 45

KB in clausole di Horn

• Algoritmi di Forward-chaining e Backward-chaining

• Inferenza su una base di conoscenza costituita da una congiunzione di Clausole di Horn

• Complessità lineare rispetto alle dimensioni di KB• Es di KB:

Page 46: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 46A7 Inferenza in PL Paolo Salvaneschi 46

Forward-chaining

• Forward-chaining• Schema:

– Problema: q (query) è implicata da KB ?– Inizia dai fatti conosciuti (letterali positivi) in KB– Se le premesse di una implicazione sono vere,

aggiunge la conclusione all’insieme dei fatti conosciuti in KB

– Procede fino a che è aggiunta q oppure non si può piùinferire nulla

• Sound e completa

Page 47: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 47A7 Inferenza in PL Paolo Salvaneschi 47

Forward-chaining

Esempio

Grafo AND-ORequivalente

AND

ORbody head

Page 48: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 48A7 Inferenza in PL Paolo Salvaneschi 48

Forward-chaining

Page 49: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 49A7 Inferenza in PL Paolo Salvaneschi 49

Forward-chaining

Page 50: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 50A7 Inferenza in PL Paolo Salvaneschi 50

Forward Chaining

Count: quante premesse di un’implicazione sono sconosciuteSe il contatore arriva a zero tutte le premesse sono note e la conclusione può essere aggiunta a KB

Simboli inizialmente noti come veri (in agenda)

Query

Page 51: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 51A7 Inferenza in PL Paolo Salvaneschi 51

Forward Chaining

Page 52: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 52A7 Inferenza in PL Paolo Salvaneschi 52

Forward Chaining

Simbolo inferito (in inferred)

Page 53: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 53A7 Inferenza in PL Paolo Salvaneschi 53

Forward Chaining

Page 54: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 54A7 Inferenza in PL Paolo Salvaneschi 54

Forward Chaining

Page 55: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 55A7 Inferenza in PL Paolo Salvaneschi 55

Forward Chaining

Simbolo giàprocessato. Non èaggiunto a KBEvita ridondanze e loop

Page 56: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 56A7 Inferenza in PL Paolo Salvaneschi 56

Forward Chaining

Page 57: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 57A7 Inferenza in PL Paolo Salvaneschi 57

Forward Chaining

Page 58: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 58A7 Inferenza in PL Paolo Salvaneschi 58

Forward Chaining

• Forward----Data Driven• Il processo di ragionamento è diretto dai dati che sono

propagati attraverso la base di conoscenza, deducendo nuovi fatti

• Nell’esempio il ragionamento ha lo scopo di rispondere ad una specifica query (q è vero?)

• Il ragionamento diretto dai dati può essere anche utilizzato senza una query

• L’agente riceve dei dati sensoriali e inferisce delle conclusioni. Es. interpretazione automatica di un insieme di dati di misura

Page 59: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 59A7 Inferenza in PL Paolo Salvaneschi 59

Forward Chaining

• Forward----Data Driven• Durante il processo di ragionamento è possibile che, nel

grafo AND-OR, siano attivabili più regole contemporaneamente.

• Possono essere utili meccanismi esterni che decidono quale attivare tra le regole attivabili

Page 60: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 60A7 Inferenza in PL Paolo Salvaneschi 60

Forward Chaining

L’algoritmo propaga i dati di ingressoe,quando trova STOP si ferma.Sia R1 che R2 sono attivabiliPuò aver senso attivare R2 (regola più specifica che contienepiù fatti in ingresso)

Misura A alta Misura B alta

Allarme--STOP

Allarmegrave --STOP

R1 R2

Dati di ingresso

Page 61: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 61A7 Inferenza in PL Paolo Salvaneschi 61

Backward -chaining

• Backward-chaining• Schema

– Idea: procedere all’indietro dall’obiettivo q: per dimostrare q tramite KB, verifica se q è già dimostrato, or dimostra tramite KB tutte le premesse di una regola che ha q come conclusione

– Evitare i cicli: verificare che le premesse non siano già state nella lista dei simboli da verificare

– Evitare la duplicazione di lavoro: verifica se una premessa da verificare1) è già stata provata vera2) ha già portato al fallimento

Page 62: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 62A7 Inferenza in PL Paolo Salvaneschi 62

Backward -chaining

Per dimostrare vero Q bisogna dimostrare vero P (sotto-obiettivo)Obiettivi

Q

Page 63: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 63A7 Inferenza in PL Paolo Salvaneschi 63

Backward -chaining

Per dimostrare vero Pbisogna dimostrare veri M e LObiettivi

PQ

Page 64: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 64A7 Inferenza in PL Paolo Salvaneschi 64

Backward -chaining

Obiettivi

LMPQ

Page 65: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 65A7 Inferenza in PL Paolo Salvaneschi 65

Backward -chaining

Per dimostrare vero Mbisogna dimostrare veri B e LB è un fattoL è già da dimostrare vero

Per dimostrare vero LBisogna dimostrare vero (P and A) or (B and A)P è un sotto-obiettivo già considerato

Bisogna dimostrare vero B e AB e A sono fatti

ObiettiviABLMPQ

Page 66: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 66A7 Inferenza in PL Paolo Salvaneschi 66

Backward -chaining

A B C

LOR

Quale si sceglietra il sotto-obiettivo A e la coppia di sotto-obiettivi B,C ?

Es. l’ultimo inserito nello stack. Se fallimento si ritorna indietro e si prova la coppia (il successivo insieme di sotto-obiettivi)

(Esplorazione depth first dell’albero AND / OR)

Nota

Page 67: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 67A7 Inferenza in PL Paolo Salvaneschi 67

Backward -chaining

B e A è vero

Page 68: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 68A7 Inferenza in PL Paolo Salvaneschi 68

Backward -chaining

L è vero se B e A sono veri

Obiettivi

LMPQ

Page 69: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 69A7 Inferenza in PL Paolo Salvaneschi 69

Backward -chaining

Quindi L è vero

Page 70: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 70A7 Inferenza in PL Paolo Salvaneschi 70

Backward -chaining

M è vero se L e B sono veri

Obiettivi

MPQ

Page 71: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 71A7 Inferenza in PL Paolo Salvaneschi 71

Backward -chaining

Quindi M è vero

Page 72: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 72A7 Inferenza in PL Paolo Salvaneschi 72

Backward -chaining

Page 73: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 73A7 Inferenza in PL Paolo Salvaneschi 73

Backward -chaining

Page 74: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 74A7 Inferenza in PL Paolo Salvaneschi 74

Backward -chaining

• Backward----Goal Driven• Adatta alla soluzione di problemi (verifica di ipotesi)• (il componente xx è guasto?, Il paziente ha l’epatite?)

• Complessità lineare rispetto alle dimensioni di KB• In realtà può essere molto meno di lineare:

il ragionamento considera solo i fatti rilevanti

Page 75: Inferenza nella logica proposizionale in PL...A7 Inferenza in PL Paolo Salvaneschi 1 A7_3 V1.7 Inferenza nella logica proposizionale Intelligenza Artificiale Paolo Salvaneschi Università

A7 Inferenza in PL Paolo Salvaneschi 75A7 Inferenza in PL Paolo Salvaneschi 75

Confronto Forward - Backward

• Forward----Data driven– Non ci sono definite ipotesi da testare– Il risultato del ragionamento dipende dalla situazione

corrente (il ragionamento inizia dai fatti disponibili)– Es.Problemi di configurazione, interpretazione dati

• Backward----Goal Driven– Esistono delle ipotesi definite da testare (il

ragionamento inizia dalle ipotesi)– Il numero delle ipotesi è limitato– Es. Problemi di diagnosi medica, di apparati