• Non ci sono risultati.

Parte 1: Ragionamento non monotono

N/A
N/A
Protected

Academic year: 2021

Condividi "Parte 1: Ragionamento non monotono"

Copied!
23
0
0

Testo completo

(1)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 1

Non-monotonic reasoning

• Logica classica

– modella alcuni aspetti del modo di ragionare umano – ma richiede

• conoscenza completa • conoscenza consistente

• conoscenza “fissa” che non varia nel tempo

• Ragionamento in presenza di

– incompletezza – inconsistenza – conoscenza dinamica

è comune in molte attività umane

– si fanno assunzioni su conoscenza mancante

– si gestiscono inconsistenze rivedendo le proprie conoscenze (assunzioni) – si gestisce il cambiamento della conoscenza nel tempo

• Necessità di “logiche” per gestire questi aspetti

• Logica classica è monotona

– data teoria T tale per cui T |= p

– allora per qualunque A si ha che T ∪ A |= p quindi

– la conoscenza può solo aumentare

– in caso di inconsistenza la deduzione si banalizza – in caso di incompletezza non si arriva a conclusioni

• Necessità di ragionare in situazioni più complesse

– Comune avere a che fare con

• incompletezza: si fanno assunzioni

• inconsistenza: si rivede la propria conoscenza • conoscenza che si modifica nel tempo

(2)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 3

• Un esempio

– A, B e C sono i sospettati per un delitto

– A ha un alibi perché risulta nel registro di un albergo in una città diversa – B ha un alibi perché era in visita da suo cugino

– C dice di essere stato ad una gara di sci Dalle informazioni possiamo concludere che (1) A non ha commesso il delitto

(2) B non ha commesso il delitto

(3) almeno uno tra A, B e C è il colpevole (ci risultano gli unici con movente) oss: (3) è stato dedotto in assenza di informazione contraria

ora veniamo a sapere che

(4) C è stato ripreso in immagini televisive della gara quindi

(5) C non ha commesso il delitto ma (1), (2), (3) e (5) sono inconsistenti

devo modificare le mie credenze: cugino di B ha mentito, oppure registro dell’albergo corrotto oppure altri possibili con movente

Esempi di forme di ragionamento comuni

• Ragionamento in assenza di evidenza contraria

– Ho una lista di persone presenti sulla scena del delitto – A non compare nella lista

– concludo che A non era presente

– in futuro potrei avere altra informazione che mi porterà a concludere che invece A era presente

Assunzione di mondo chiuso

• Ragionamento per default

– So che gli uccelli in generale volano – Tweety è un uccello

– concludo che Tweety vola

– in futuro potrei scoprire che Tweety è un pinguino e che i pinguini sono uccelli anormali che non volano

(3)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 5

• Minimizzazione

– Azione A sposta un blocco da una posizione X a posizione Y – B è un blocco rosso in X

– Se eseguo A su B, avrò un blocco rosso in Y

– In realtà azione non mi diceva nulla sul fatto che B rimane dello stesso colore ma è ragionevole assumerlo

minimizzo i cambiamenti non giustificati ma in futuro potrei dovermi ricredere

• Abduzione

– so che l’influenza produce febbre e mal di testa – osservo un paziente con febbre e mal di testa – concludo che ha l’influenza

Inferenza non corretta dal punto di vista della logica classica – spiegazione delle osservazioni a partire dalla teoria

– in futuro potrei venire a sapere che anche la polmonite produce febbre, influenza e brividi e venire a sapere che il paziente ha anche i brividi – dovrò rivedere la mia conclusione e dire che il paziente ha la polmonite

• Ragionamento ipotetico

– Se giro la chiave in una auto che ha la batteria, l’auto si avvia – A è un’auto

– assumo che abbia la batteria e deduco che si avvia se giro la chiave – se in futuro vedo che non si avvia dovrò rivedere le mie assunzioni

• Gestione di inconsistenze (collegato al caso precedente)

– Esempio della storia di delitti vista sopra – Esempio dell’automobile visto prima In generale

– faccio assunzioni

– uso conoscenza per inferire nuove informazioni – se ho una inconsistenza devo

• ritrattare alcune delle assunzioni • rivedere la conoscenza

(4)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 7

Ragionamento non-monotono

• Caratteristiche comuni delle forme di inferenza discusse

– non corrette dal punto di vista della logica classica

– defeasible, ossia conclusioni che potrebbero dover essere riviste in presenza di nuove informazioni

– in altri termini

ragionamento non monotono

• data teoria T

• inferisco informazione p: T |-i- p

|-i- sta ad indicare che uso forma di inferenza “i” non classica • in presenza di nuova informazione p potrebbe non essere più inferibile, ossia

– data nuova informazione A T ∪ A |-i- p

– si devono definire forme di inferenza diverse da quella classica (“modus ponens”)

Alcuni esempi di applicazioni in AI

• Rappresentazione della conoscenza

Rappresentazioni strutturate (frame o reti semantiche) prevedono – concetti (frame, nodi)

– proprietà di concetti (slot, …) – ereditarietà

Solo a volte

– proprietà sono necessarie – ereditarietà è stretta

Può in molti casi essere interessante definire – proprietà per default

– ereditarietà con cancellazione Esempio

uccelli proprietà_per_default volare passeri ISA uccelli

(5)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 9

• Planning (reasoning about action)

– descrizione delle azioni

• precondizioni • effetti

– tre seri problemi

• qualification problem

– definire in modo completo l’insieme delle precondizioni di una azione – ragionare facendo assunzioni su tali precondizioni

• frame problem

– definire in modo preciso cosa non cambia come effetto dell’azione – ragionare per default su tali effetti (es. minimizzazione effetti) • ramification problem

– definire in modo preciso in che modo le cose cambiano come effetto delle azioni

– Metodi logici classici di rappresentazione delle azioni non funzionano (vedremo in planning)

• rappresentazioni procedurali

• rappresentazione mediante logiche non classiche

• Azioni, tempo, cambiamento

• Diagnosi

– data una base di conoscenza che descrive il sistema da diagnosticare – dato un insieme di osservazioni (sintomi)

– trovare un insieme di guasti (malattie) che spiegano le osservazioni

Processo di ragionamento abduttivo

• Interpretazione più in generale

• Data e knowledge bases

– contengono informazioni su un certo dominio (miniworld)

– assunzione comune che ciò che non è scritto esplicitamente è falso (CWA) permette di dare risposte ma in modo non-monotono

• Problem solving costruttivo (es. scheduling, design, …)

– ragionamento basato su assunzioni

• es. si prova a fare assunzioni sullo scheduling di un insieme di azioni • si rivedono le assunzioni in caso di problemi o inconsistenze

• Ragionamento con e su agenti

– rappresentazione e gestione di belief multipli

(6)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 11

• Nel seguito vedremo alcuni approcci al non-monotonic reasoning

– Approcci basati su modelli minimali

• Closed World Assumption • Completamento e circoscrizione

– Default Reasoning – Abduzione

• e discuteremo brevemente alcune applicazioni

– reti semantiche con ereditarietà – ragionamento su azioni – diagnosi e interpretazione

• vedremo quindi i truth maintenance system

Modelli minimali

• Dato un insieme T di formule logiche nel linguaggio L

– interpretazione: mapping tra i simboli di L e un dominio

• simboli di funzione interpretati su funzioni • simboli di predicato su relazioni

– modello: interpretazione che soddisfa T

• Modelli preferiti

– un approccio alla logica non-monotona consiste nel definire dei criteri di ordinamento tra modelli e limitarsi quindi solo ai modelli “ottimali” (“preferiti”) rispetto a tali criteri

– un criterio di ordinamento: numero di atomi che sono veri

• Modelli minimali: M minimale se non esiste un altro modello M’ più

piccolo di M (ossia in cui meno atomi sono veri)

• Usare modelli preferiti (minimali) per definire logiche non monotone

– intuizione: si considerano veri solo gli atomi che devono necessariamente essere veri

(7)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 13

Closed World Assumption

• Una forma semplice di ragionamento non-monotono basata su

minimizzazione di modelli [Reiter, 78]

• Si assume vero solo ciò che deve essere vero; ogni altra cosa viene

assunta falsa

• Esempio

– database con indicazione delle città di residenza di un insieme di persone e delle persone che sono impiegate

abita(a,torino) impiegato(a) abita(b,torino)

abita(c,milano)

– molti modelli di questo insieme di formule

– secondo CWA si considerano vere solo le informazioni necessariamente vere (in questo caso quelle presenti nel database) e false tutte le altre

• impiegato(b) falso (in logica classica non potremmo concludere niente su tale fatto)

• abita(a,milano) falso

• Più in generale si deve considerare la chiusura deduttiva della teoria T

(e non solo gli atomi esplicitamente in T)

• Esempio

– T contiene le seguenti formule p(a), q(b), r(c), r(a) ∀X p(X) → q(X)

– modello minimale {p(a), q(a), q(b), r(a), r(c)} – per cui avremo che

• q(c) falso • r(b) falso

• Osservazione: in alcuni casi si possono avere più modelli minimali

– Esempio p(a)

∀X p(X) → q(X) ∨ r(X) – due modelli minimali

• M1 = {p(a), q(a)} • M2 = {p(a), r(a)}

(8)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 15

• Regola di inferenza della closed world assumption

– assumere ¬P ogni volta che questo è consistente oppure da un punto di vista differente

– T |-cwa-¬P sse T |-/- P

• Una interpretazione della negazione diversa da quella della logica

classica

– negazione utilizzata in database

– negazione utilizzata nei linguaggi di programmazione logica

• utilizzano Negazione per fallimento • simile alla CWA

• più debole in quanto CWA non è computabile (T |-/- P è semi-decidibile) T |-NF-¬P sse ogni dimostrazione di P da T fallisce in modo finito • limitazione a clausole di Horn: garanzia di un unico modello minimale

• Esempio

∀X adulto(X) ∧ ¬impiegato(X) → disoccupato(X)

da adulto(a), impiegato(a), adulto(b) derivo disoccupato(b) – non corretto per logica classica

– defeasible (se vengo a sapere impiegato(b))

Completamento

• Modo alternativo per definire la stessa forma di ragionamento [Clark 78]

– data una teoria T (formata da clausole di Horn), definire una trasformazione sintattica Tc di T tale per cui i modelli di Tc coincidano con i modelli minimali di T

o

– l’inferenza classica su Tc coincida con l’inferenza sotto NF in T

o

– la negazione in Tc coincida con la negazione come fallimento in T

• Vantaggio: possibilità di usare logica classica

• Trasformazione sintattica

– intuitivamente: trasformare implicazioni in bi-implicazioni – più precisamente

date clausole di Horn

a1 → b(X), a2 → b(X), …, an → b(X) (con ai congiunzioni) costruire

(9)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 17

• Esempio

p(a), q(b), r(c), r(a) ∀X p(X) → q(X) diventa ∀X (X=a) → p(X) ∀X (X=b) → q(X) ∀X p(X) → q(X) ∀X (X=a) → r(X) ∀X (X=c) → r(X) e quindi ∀X p(X) ↔ (X=a) ∀X q(X) ↔ (X=b ∨ p(X)) ∀X r(X) ↔ (X=a ∨ X=c)

– teoria trasformata ha un unico modello che coincide con il modello minimo della teoria di partenza

– da teoria trasformata posso concludere ¬q(c) o ¬ r(b) – OSS: funziona solo su clausole di Horn

Circumscription

• Un forma di minimizzazione più sofisticata

• Limitazioni di CWA

– opera in modo indipendente su ognuno dei predicati, senza considerare le interazioni

• es. p(a) ∨ p(b)

• da CWA si concludono ¬p(a) e ¬p(b) !!!

– va bene in applicazioni in cui si conoscono gli individui

• Limitazioni del completamento

– va bene solo su clausole di Horn

• Molte varianti della circoscrizione sono state definite

– [McCarthy, 80] – [McCarthy, 85] – [Lifschitz, 85]

• In ogni caso idea base è la stessa: aggiungere nuovi assiomi alla teoria

T in dipendenza dell’insieme di predicati che si vogliono minimizzare

(eventualmente in modo dipendente, o con priorità)

(10)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 19

• Assiomi di circoscrizione

– tecnicamente complessi

– formule del secondo ordine che specificano per il predicato P da minimizzare che la sua estensione deve essere la più piccola consistente con la base di conoscenza

– permettono di minimizzare

• più predicati simultaneamente

• più predicati secondo una priorità (ad esempio, prima minimizzare un predicato P, poi tra i modelli minimi per P scegliere quelli minimi per un altro predicato Q)

• Esempio

– Data T con p(a) ∧ p(b), la circoscrizione di p in T produce l’assioma aggiuntivo∀X (p(X) → X=a ∨ X=b )

caso simile al completamento

– Data T con p(a) ∨ p(b), la circoscrizione di p in T produce l’assioma aggiuntivo ∀X (p(X) → X=a) ∨ ∀X (p(X) → X=b)

Default logic

• [Reiter 80]

• formalizza una delle più comuni forme di ragionamento non-monotono:

capacità di fare assunzioni o arrivare a conclusioni in assenza di evidenza

contraria (ossia per default)

• Default theory

– T: insieme di formule della logica classica – D: insieme di default, ossia regole del tipo

con il seguente significato

se A è vero e B è consistente allora concludi C Caso particolare: i default normali

se A è vero ed è consistente assumere B allora concludi B

C B A : B B A :

(11)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 21

• Esempi

• Default sono regole di inferenza

– data teoria di default (T,D)

• deduzione in T permette di inferire nuova informazione

• default sono applicabili per inferire (in modo defeasible) altra informazione

• Estensione di una default theory (T,D)

insieme massimale consistente che si può ottenere applicando la

chiusura deduttiva in T e applicando regole di default

– equiv.: insieme massimale di default ground applicabili

– massimale: nessun default ultertiormente applicabile senza violare il vincolo di consistenza

• Oss: in generale (T,D) può avere più estensioni

• Oss: default sono visti come regole di inferenza, non come formule

della teoria logica

• A inferibile da (T,D) se A è in tutte le estensioni di (T,D)

– vedremo poi modifiche di questa definizione ) ( ) ( : ) ( X flies X flies X bird ) ( ) ( : ) ( X guasto X guasto X circuito ¬ ¬ ) ( ) ( : ) ( X flies X normal X bird

• Esempio

– Teoria logica T ∀X pinguino(X) → uccello(X) ∀X passero(X) → uccello(X) ∀X pinguino(X) → ¬vola(X) ∀X uccello(X) → animale(X)

uccello(a) pinguino(b) passero(c) – Default D

– Estensione

uccello(a), animale(a)

pinguino(b), uccello(b), animale(b) passero(c), uccello(c), animale(c)

primo default applicabile per a e c, inconsistente applicarlo per b vola(a), vola(c)

secondo default applicabile per tutti faUova(a), faUova(b), faUova(c)

) ( ) ( : ) ( X vola X vola X uccello ) ( ) ( : ) ( X faUova X faUova X uccello

(12)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 23

• Esempio: estensioni multiple

– Teoria logica T

quacchero(a) repubblicano(a) – Default D

– Esstensioni

I due default si bloccano a vicenda: l’applicazione di uno rende inconsistente l’applicazione dell’altro

Due estensioni

• E1: quacchero(a), repubblicano(a), pacifista(a) • E2: quacchero(a), repubblicano(a), ¬pacifista(a) – Per cui non si può inferire nulla riguardo a pacifista(a)

) ( ) ( : ) ( X pacifista X pacifista X quacchero ) ( ) ( : ) ( X pacifista X pacifista X no repubblica ¬ ¬

Inheritance networks

• Importante applicazione del ragionamento per default (e della default

logic, con variazioni)

• rappresentazioni strutturate di gerarchie di classi con proprietà

– in molti linguaggi solo proprietà necessarie che vengono ereditate – fondamentale poter rappresentare proprietà per default che possono essere

cancellate in sottoclassi (ereditarietà con cancellazione)

• Esempio

– uccelli, pinguini e volare visto prima

• Notazione grafica

uccello pinguino passero faUova animale vola default (defeasible) cancellazione nondeafult

(13)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 25

• Consideriamo il caso con solo archi di default

p q (p ISA q) p q (p IS NOT A q) a q (a inst of q) a q (a NOT inst of q)

• Simili a default alla Reiter

q q p : q q p ¬ ¬ :

• Due forme di inferenza di base

p2 ... pN q

p1 p1 ISA q

p2 ... pN q

p1 p1 IS NOT A q

• Vari tipi di gerarchie

– ereditarietà singola VS ereditarietà multipla – cancellazione VS non cancellazione

• Caso interessante: ereditarietà multipla con cancellazione

• Problema: ambiguità:

– stesso problema di estensioni multiple della default logic pacifista

quacchero repubblicano nixon

– In alcuni casi può essere interessante selezionare solo alcune estensioni come plausibili (solo alcune inferenze)

– quindi avere un criterio di preferenza tra le estensioni – Esempio

uccello vola pinguino

– E1: pinguino vola – E2: pinguino non vola E2 è una inferenza da preferirsi

(14)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 27

• Una regola: effettuare overriding: link diretti da una classe fanno

overriding di quelli ereditati

– ad esempio pinguino non vola per overriding della proprietà di volare della classe degli uccelli

• Una prima soluzione: inferenze basate sulla lunghezza dei cammini

– le inferenze su cammini più corti fanno overriding su quelle su cammini più lunghi

– risolve il caso dei pinguini

– non funziona in altri casi, ad esempio

grigio elefante

elefanteIndiano clyde

– Vorrei concludere che clyde non è grigio (proprietà della sottoclasse che fa overriding di quella della classe

– invece si hanno due inferenze plausibili

• Una soluzione alternativa: il concetto di distanza inferenziale

– rappresenta la preferenza tra estensioni che si vuole avere intuitivamente (vedi esempi prima)

– possono comunque rimanere estensioni multiple (vedi il caso del Nixon diamond)

• Inferenza credulous VS inferenza skeptical

Due forme di inferenza per affrontare il caso di estensioni multiple

– skeptical: rifiuto di trarre conclusioni in caso di ambiguità

• 1 sola estensione

– credulous: cercare di concludere il più cose possibile

• estensioni multiple e conclusioni ambigue

– Osservazione: la estensione di inferenza skeptical è diversa (è meno forte -restrittivo) dalla intersezione delle estensioni di inferenza credulous:

B P ... A fa preemption su C P ... A se C ... B

(15)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 29

– Esempi

pacifista

quacchero repubblicano nixon

• Skeptical: quacchero, repubblicano • Credulous: 2 estensioni

– repubblicano, quacchero, pacifista – repubblicano, quacchero, non pacifista

pacifista

quacchero repubblicano nixon

anti-militarista

tifoso di calcio

• Skeptical: non concludendo nulla su pacifista concludo che Nixon è non antimilitarista (essendo un tifoso di calcio)

• non antimilatrista non è in tutte le estensioni

uomo

marine cappellano george

bevitore di birra • Due estensioni

– sulla destra cappellano IS NOT a bevitore di birra fa preemption su uomo IS A bevitore di birra – sulla sinistra nessuna preemption

• Il caso di archi di ereditarietà stretti

– simile ma archi stretti portano a inferenze non-defeasible su cui non si possono generare estensioni alternative e con cui i default devono essere consistenti

– Esempio

– Si può concludere che

• nixon è molto religioso (il fatto che è repubblicano non può generare estensioni multiple perchè l’altro arco è stretto)

• sono tutti motivati politicamente? … dipende dal tipo di inferenza • ... pacifista quacchero repubblicano nixon motivato politicamente molto religioso tom reagan

(16)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 31

Reasoning about action e teoria del cambiamento

• Problema:

– Rappresentazione di azioni e dei loro effetti (ad esempio per un sistema di pianificazione)

– Ragionamento sulle azioni

• predizione degli effetti di insiemi di azioni

• pianificazione della sequenza di azioni per ottenere un obiettivo • interpretazione: quali azioni possono aver portato ad una data situazione

• Primo problema: il concetto di stato e la sua rappresentazione

– rappresentazione della situazione in cui si trova la parte del mondo che si sta modellando

– varie soluzioni possibili

– una soluzione usata frequentemente (e utile per analizzare i problemi): il

situation calculus

• Esempio rappresentare che in stato s il blocco a è sopra al blocco b – on(a,b,s)

– con reificazione. holds(on(a,b),s)

prendono il nome di fluent

• Secondo problema. La rappresentazione delle azioni

– azione = trasformazione di stato

– rappresentazione: nuovo stato come funzione dell’azione

• Esempio: azione che sposta un blocco B da posizione X a posizione Y nello stato S produce il nuovo stato S’= move(B, X, Y, S)

– Qualification problem: come rappresentare (tutte) le precondizioni di una azione

• in generale una azione può avere infinite precondizioni, ossia infinite situazioni in cui può fallire

• impossibile rappresentarle tutte: alcune anche difficili da prevedere

Una soluzione: usare logiche non standard

• precondizione generica • effetto della azione come default • inferenza defeasible

Esempio

• azione che sposta un blocco B da posizione X a posizione Y

– on(B, X, S) ∧¬ab(move(B, X, Y, S)) → on(B, Y, move(B, X, Y, S)) – holds(on(B, X),S) ∧¬ab(move(B, X, Y, S))

(17)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 33

• Terzo problema: Frame problem, ossia come rappresentare gli effetti di

una azione

– azione modifica alcuni fluent

– come rappresentare il fatto che molti altri restano invariati

• Esempio se bianco(X,S) allora sarà anche bianco(X,move(X, Y, S))

– Frame axioms: specificano cosa non cambia

– anche in questo caso è opportuna una rappresentazione mediante default

• in generale molte cose non cambiano

• salvo sitazioni eccezionali (ad esempio nello spostamento sono passato sotto uno spruzzatore di vernice rossa)

– Varie soluzioni dal punto di vista tecnico – Esempio

holds(p(X),S) ∧¬ab(p(X), action1(S)) → holds(p(X), action1(S))

• Uso di logiche non monotone porta a problemi

– estensioni multiple di cui alcune non desiderate

• varie soluzioni, analizzeremo per il problema della predizione (il più

studiato); in altri problemi più critico (vedremo planning e abduzione)

• Un esempio famoso: lo Yale Shooting Problem

– esempio per mettere in evidenza i problemi legati al frame problem – istante iniziale:

• fucile scarico e tacchino vivo alive(fred) (¬dead(fred)) unloaded(gun) (¬load(gun))

– descrizione azioni (“default” in una qualche logica non monotona) • ¬ab(load(X,S)) → holds(loaded(X), load(X,S)))

• ¬ab(shoot(X,S)) → holds(dead(X), shoot(X,S))) • wait

– frame axioms (altri “default”)

• azione wait non cambia nulla

– holds(loaded(X),S) ∧¬ab(loaded(X), wait(S)) → holds(loaded(X), wait(S)) • azione load non cambia alive

– sequenza di azioni:

• t2= load(gun,t1), • t3= wait(t2) • t4=shoot(fred,t3)

(18)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 35

• Due modi di applicare i frame axioms, ossia

Due estensioni nella formulazione del problema mediante logiche non

monotone

– fred è morto in t4

• fucile è carico in t2

• applicando frame axiom rimane carico in t3 e fred è vivo in t3 • quindi sparando fred rimane ucciso

– fred è vivo in t4

• applico frame axiom più volte per alive

• quindi deve essere abnormal che il fucile rimanga carico tra load e shoot

• varie soluzioni al problema

– minimizzazione cronologica: le cose anormali avvengono “il più tradi possibile”, questo porta a preferire estensione in cui fred muore

• controindicazione per altri problemi es. stolen car problem

– parcheggio auto

– azione di aspettare lascia l’auto dove è – azione furto fa sparire auto

– se non trovo auto concludo che è stata rubata all’ultimo momento

– Soluzioni basate sull’uso di negazione per fallimento invece di logiche di deafult o circoscrizione

• soluzione naturale del problema

• semantica chiara solo per alcune classi di formule (clausole o clausole di Horn)

– Approcci non esclusivamente logici

• rappresentazione della azioni non in termini logici • vedremo in dettaglio nel planning

(19)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 37

Abduzione

• Abduzione: inferenza per trovare la “migliore spiegazione” per un

insieme di osservazioni, data una teoria

– forma comune di inferenza in molte attività umane

– fondamentale in molte attività di problem solving, ad esempio: interpretazione, diagnosi, ma anche pianificazione, comprensione del linguaggio, apprendimento, …

– studiata in campo filosofico sin dal secolo scorso

• dal punto di vista logico

– deduzione: modus ponens – abduzione:

• A come spiegazione di B, data la teoria che A→ B

• inferenza non corretta dal punto di vista della logica classica (non truth-preserving)

– Osservazione: abduzione e induzione sono due forme di inferenza diverse (anche se spesso c’è confusione)

B A B A → A B B A →

• Più in generale, una definizione:

– data una teoria T (insieme di formule logiche)

– data una osservazione OBS (insieme di atomi ground - si può generalizzare al caso non ground) da spiegare

– una spiegazione E è un insieme di atomi ground tale per cui

• T ∪ E consistente • T ∪ E |— OBS

– spesso si richiede che E abbia altre proprietà che lo rendono una spiegazione interessante

• linguaggio predefinito (insieme dei simboli abducibili)

• primitivo (ossia contenga solo atomi non spiegabili da altri atomi) • minimale (non ridondante)

• minima cardinalità • costo minimo • …..

– Osservazione:

• alcune di queste condizioni in contrasto • può dipendere da applicazione

(20)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 39

• Esempio

– T = {a → b, e → b , b ∧ c →d, e → f } – OBS = {d} – spiegazioni • E1 = {a, c} • E2 = {e, c}

• Abduzione e negazione nelle osservazioni

– OBS può contenere osservazioni negative

• esempio OBS1 = {d, ¬f }

– Solitamente trattate come negazione per fallimento

• T ∪ E consistente • T ∪ E |-NF- OBS

Nell’esempio

• E1 = {a, c}

• Abduzione e negazione nella teoria

– analogamente viene trattata come negazione per fallimento

• OSS: difficile fornire teorie per dare spiegazioni di eventi negati

(problema simile a quello della qualificazione)

Esempio

piove innaffiatore acceso

strada bagnata erba bagnata acqua nel tubo scarpe bagnate erba luccicante

Esempi di spiegazioni non ridondanti

• OBS = {erba luccicante}

– E1 ={piove} E2 ={innaffiatore acceso}

• OBS = {scarpe bagnate, acqua nel tubo}

– E1 ={innaffiatore acceso}

• OBS = {scarpe bagnate, ¬acqua nel tubo}

– E1 ={piove} E2={scarpe lavate}

• OBS = {scarpe bagnate, ¬strada bagnata}

– E1 ={innaffiatore acceso} E2={scarpe lavate}

(21)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 41

• Relazione tra abduzione e deduzione

– intuitivamente abduzione corrisponde a invertire le implicazioni in una teoria deduttiva

– più precisamente si può dimostrare che

• siano E1, E2, … En le spiegazioni abduttive di OBS da T • allora si ha che, dato il completamento TC di T

TC ∪ OBS | E1 ∨ E2 ∨ … ∨ En – Esempio • T = {a → b, e → b , b ∧ c →d, e → f } • TC = {a ∨ e ↔ b , b ∧ c ↔ d, e ↔ f } • OBS = {d } – da TC ∪ OBS | b ∧ c ≡ (a ∨ e) ∧ c ≡ (a ∧ c) ∨ (e ∧ c) • OBS = {d, ¬f }

– da TC ∪ OBS | b ∧ c ∧ ¬e ≡ (a ∨ e) ∧ c ∧ ¬e ≡ (a ∧ c ∧ ¬e )

• Abduzione è una forma di inferenza defeasible

– basata su assunzione di completezza delle “cause”

Applicazioni del ragionamento abduttivo

• Diagnosi (vedremo più in dettaglio più avanti)

– abducibili = guasti – osservazioni = sintomi

– teoria: modello che collega i guasti (cause) alle loro conseguenze – Esempio

• OBS = {luci spente}

– E1 = {batteria scarica } E2 = {lampadina fluminata } • OBS = {luci spente, auto non parte}

– E1 = {batteria scarica }

• Pianificazione

– abducibili = azioni – osservazioni = goal

– teoria: modello che descrive gli effetti delle azioni batteria scarica

auto non parte luci spente lampadina fulminata

(22)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 43

• Interpretazione

– abducibili = ipotesi

– osservazioni = fatti da interpretare

– teoria: modello che descrive relazioni tra le ipotesi e le loro conseguenze Esempio: interpretazione di immagini

r1

r2 c1

c2

– abducibili = {land(X), river(X), water(X), road(X), shore(X)}

– teoria: relazioni tra abducibili (caratteristiche geografiche) e forme geometriche Esempi

• river(X) ∧ river(Y) → ¬cross(X,Y) • river(X) ∨ road(X) ∨ shore(X) → linear(X)

– osservazioni: caratteristiche geometriche dell’immagine

– In questo modo le spiegazioni abducubli corrispondono a interpretazioni delle immagini

• Update di viste in basi di dati logiche (e relazionali)

– abducibili = predicati della base di dati estensionale – osservazioni = update intensionale (di una vista) – teoria: definizioni delle viste

– Esempio

• DB estensionale contiene le relazioni padre e madre padre(a,b)

padre(a,e) madre(c,b)

• viste definiscono altre relazioni nonno(X,Y) ← padre(X,Z) ∧ padre(Z,Y) …

• Update

– U ≡ nonno(a,f)

– devo trovare cosa aggiungere al DB estensionale in modo da rendere vero U

E1 = {padre(b,f)} E2 = {padre(e,f) }

(23)

Console, Botta - Dip. Informatica, Univ. Torino Non-monotonic reasoning 45

• Strette relazioni tra abduzione e programmazione logica: Abductive

Logic Programming

– dato un programma P e un goal G

• G viene dimostrato e si calcola sostituzione di risposta OPPURE • si possono fare assunzioni su atomi abducibili

– Risposta è

• sostituzione

• insieme di assunzioni su abducibili

– (più complesso con negazione)

– Un modo per implementare il ragionamento abduttivo – [Kowalski ILC 92]

• Strette relazioni con ATMS

– ATMS è un strumento per ragionamento abduttivo

Conclusioni

• varie forme di ragionamento non-monotono per “simulare” forme di

ragionamento comuni (“common-sense”)

• varie proprietà di equivalenza tra le diverse logiche non-monotone

• Seri problemi di complessità computazionale nel ragionamento non

monotono

– intrattabile in quasi tutti i casi

– spesso livello di intrattabilità elevato (non solo NP, ma classi superiori della gerarchia di complessità)

Riferimenti

Documenti correlati

In particolare β 3 va considerato se gli impulsi sono ultra corti (durata minore di 0,1 ps), dato che lo spettro risulta in tal caso molto ampio. Il termine β 3 è dovuto

per il riconoscimento è memorizzare nello stack i simboli della prima metà, poi estrarre i simboli dallo stack e verificare che corrispondano a quelli della seconda metà della

Si provi che, se G e’ un grafo con almeno due vertici, allora G ha almeno due vertici con lo stesso

[r]

Nella predisposizione del programma sono stati pienamente coinvolti anche i giovani avisini che hanno suggerito e organizzato la prima serata, quella inaugu- rale,

SAPENDO CHE IL CAMPO HA LA FORMA DI UN QUADRATO CON AREA DI 900M^2 CALCOLA QUANTI DAM DI RETE SONO NECESSARI.. UN QUADRATO HA UN PERIMETRO DI

Un impianto industriale è dedicato alla fabbricazione di un prodotto caratterizzato da un certo grado di deperibilità: se infatti il prodotto staziona in

Possiamo fare le varie osservazioni riportate sulle dispense.. Col comando plot(B) si ottiene un grafico