Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

40
Raciocínio Não Monotônico e Abdução Raciocínio Não Monotônico e Abdução Gustavo Lacerda Gustavo Lacerda Jacques Robin Jacques Robin CIn-UFPE CIn-UFPE

Transcript of Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Page 1: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Raciocínio Não Monotônico e AbduçãoRaciocínio Não Monotônico e Abdução

Gustavo LacerdaGustavo Lacerda

Jacques RobinJacques Robin

CIn-UFPECIn-UFPE

Page 2: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Agente baseado em conhecimentoAgente baseado em conhecimentodedutivo ou dedutivo ou abdutivoabdutivo

Am

bie

nte

Sensores

Atuadores

Base de Conhecimento Extensional (BCE): fatos, objetos

formulas lógicas instanciadas

Máquina de inferênciadedutiva ou abdutiva

Base de Conhecimento Intencional (BCI):regras, classes, formulas lógicas

universalmente quantificadas

Ask

Tell RetractAsk

Não Monotônic

a

Page 3: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Tipologia de raciocínio não monotônicoTipologia de raciocínio não monotônico

Raciocínio sobre ações e mudanças em ambientes não Raciocínio sobre ações e mudanças em ambientes não estacionáriosestacionários Axiomatização em lógica monotônica de raciocínio não monotônico temporal: Cálculo situacional Cálculo de eventos

Revisão não monotônica via retract de base de conhecimento extensional armazenando apenas fatos presentemente verdadeiros Manutenção da verdade da base de conhecimento depois de um retract

Raciocínio hipotético com informação parcial em ambientes Raciocínio hipotético com informação parcial em ambientes inacessíveisinacessíveis Negação por falha em programação em lógica Herança com sobrescrita em hierarquias de classes Abdução Revisão das crenças hipotéticas Causas da necessidade de tal revisão:

Recepção sensorial ou comunicativa de novos fatos confirmados, e que contradiz hipótese default ou abduzida

Tal contradição pode ser direta ou indireta via dedução

Page 4: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

denota estados resultantes de ações

Ontologia: tudo são termos lógicos

* situações: A função Result(a,s) denota a situação que resulta quando a ação a é executada na situação s.

* fluentes: funções e predicados que variam de uma situação para outra. e.g. ~Holding(G1, S0) quer dizer que o agente não está com o ouro na situação inicial S0.

* predicados eternos: e.g. Gold(G1) (não se escreve a situação)

Cálculo de Situações

Page 5: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Além de ações individuais, nós podemos falar sobre seqüências de ações.

Executar uma seqüência vazia não muda a situação:Result([],s) = s.

Executar outras seqüências: executar a primeira ação e depois executar o resto na situação resultante:Result([a|seq],s) = Result(seq, Result(a,s)).

Page 6: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Duas coisinhas a lembrar:Duas coisinhas a lembrar:

TodaToda situação, exceto situação, exceto SS00, é o resultado de , é o resultado de uma ação ou sequência de ações a partir de uma ação ou sequência de ações a partir de SS00..

Na nossa notação, a situação é Na nossa notação, a situação é sempresempre o o último argumentoúltimo argumento

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Page 7: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Projeção: dado um estado inicial e uma seqüência de ações, deduzir o estado final.

Planejamento: dado um estado inicial e um estado final desejado, responder a pergunta: “que sequência de ações vai resultar no estado desejado?”.

ou seja, quais valores de seq satisfazemAt(G1, [1,1], Result(seq,S0))?

(o objetivo sendo que o ouro G1 esteja na posição [1,1])

Page 8: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Axiomas de Possibilidade: que ações são possíveis numa dada situação.

e.g. “o agente pode se mover entre locais adjacentes”

At(Agent,x,s) /\ Adjacent(x,y)=> Poss(Go(x,y),s).

e.g. “se o agente está segurando alguma coisa, ele pode soltar”

Holding(g,s) => Poss(Release(g),s).

Page 9: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Axiomas de Consequências: quais propriedades (fluentes) vão ser “setadas” como resultado de executar a ação.

e.g. Poss(Go(x,y),s) => At(Agent,y,Result(Go(x,y),s)).

e.g. Poss(Grab(g),s) =>Holding(g,Result(Grab(g),s)).

Page 10: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

Agora vamos tentar usar um plano no mundo Wumpus:digamos que o objetivo é pegar o ouro G1, que está em [1,2], com o agente começando em [1,1].

A ação Go([1,1],[1,2]) funciona, e podemos dizer que o agente chegou lá:

At(Agent[1,2],Result(Go([1,1],[1,2]),S0))

Agora, precisamos mostrar que é possível o agente pegar o ouro, ou seja…

Page 11: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Cálculo de Situações

• Queremos mostrar que é possível o agente pegar o ouro.

• Já sabemos que o agente está em [1,2]• Só resta confirmar que o ouro também está lá…

“o ouro está em [1,2] na nova situação”At(G1,[1,2],Result(Go([1,1],[1,2]),S0))

• Infelizmente, nada no nosso KB justifica essa conclusão.

• O problema é que os axiomas de consequências dizem o que muda, mas não dizem o que fica igual.

• Neste caso, a posição do ouro (antes de pegá-lo)• Este é o famoso frame problem.

Page 12: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ações, Situações e EventosAções, Situações e Eventos

Frame Problem: Como representar as coisas que não mudam?

Possíveis Soluções:

Axiomas de Frame: para cada ação, para cada fluente, nós dizemos se/quando a ação não influencia o fluente.Desvantagem: o número de axiomas vai ser O(AF).

Axiomas de Estado Sucessor:Ação é possível =>

(fluente é verdadeiro no estado resultante (a ação tornou o fluente verdadeiro \/ o fluente já era verdadeiro )

Page 13: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Os problemas das ramificaçõesOs problemas das ramificaçõese da qualificaçãoe da qualificação

Ramificação:Se o agente está segurando uma mala, e o agente move, então a mala move com ele.Se dentro da mala tem uma banana, ela também move.E assim por diante...e.g.: em cima da p.333

Qualificação:para modelar o mundo real, uma regra precisa de muitas condições. Sempre vão existir os casos imprevisíveis, aonde as regras vão estar erradas ou incompletas.e.g.: Se a gosma do Wumpus melar o ouro, a ação “Grab” pode não funcionar.

Exemplificar os dois no Wumpus com lógica (pegar exemplo do AIMA)

Page 14: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Limitações do cálculo situacionalLimitações do cálculo situacional

Assume que o agente é o único causador de mudança do mundo

Representa tempo de maneira pontual e não intervalar, indiretamente via situações.

Representa a topologia do tempo, mas não a geometria, ou seja a ordem “antes e depois” é preservada, porém situações não diferenciam entre um intervalo de 1s e de 1 semana.

“Cálculo de Eventos” supera essas limitações.

Page 15: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Cálculo situacional x de eventosCálculo situacional x de eventos

Situation Calculus

At(o,x,S0) ((o = Agent x = [1,1]) (o = G1 x = [1,2])).

Holding(o,SO).

Gold(G1) Adjacent([1,1],[1,2]) Adjacent([1,2],[1,1]).

AIMA pp.330-334

Event Calculus

T = holdsholds(at(Agent,[1,1],T0). holds(at(G1,[1,2],T0).Agent G1.

Initiates(Go(x,y),At(Agent,y),t).

Initiates(Grab(g),Holding(g),t).

Regras do Mundo Wumpus

Page 16: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Cálculo de eventosCálculo de eventos

No Cálculo de Eventos, os predicados não são do domínio. Ver abaixo.

Eventos Discretos: como ações, mas não precisam ser causadas por um agente

Initiates(e,f,t) indica que o evento e no tempo t causa o fluente f a ser verdade.

Terminates(w,f,t) indica que o evento e no tempo t causa o fluente f a não ser verdade.

Happens(e,t) indica que o evento e acontece no tempo t.

Clipped(f,t,t2) diz que f é terminado por algum evento entre t e t2.

Ontologia

Page 17: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Ontologia do cálculo de eventosOntologia do cálculo de eventos

Eventos Líquidos: Eventos que não acontecem imediatamente.

E(e,i) quer dizer que um evento tipo e ocorreu dentro do intervalo i.

T(e,i) quer dizer que um evento tipo e ocorreu exatamente no intervalo i.

Estados: Além de descrever processos de mudança contínua, eventos líquidos podem descrever processos de constância contínua.

T(In(Shankar,NewYork),Today) quer dizer que Shankar passou o dia inteiro em NewYork.

Intervalos: Podemos falar sobre as possíveis relações entre dois intervalos de tempo: Meet, Before, After, During, Overlap.

Fluentes e objetos: O objeto “USA” é um evento que começou em 1776. Sua propriedade “President” é um fluente, que representamos assim:T(President(USA) = GeorgeWashington, AD1790).

Page 18: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Limitações do cálculo de eventosLimitações do cálculo de eventos

Eficiência: para cada situação, você calcula o mundo inteiro novamente. Alto custo de memória e de processamento.Solução: sistemas de planejamento especializados.

Page 19: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Raciocinar sobre crenças e Raciocinar sobre crenças e conhecimentoconhecimento

Seção 10.4 do AIMA Quando o agente raciocina sobre suas ações, ele

pode: usar proposições sobre crenças e proposições, tanto de outros agente quanto dele mesmo.

Ações podem ter precondições e efeitos de conhecimento.

Por exemplo: a ação “discar o telefone de alguém” tem o conhecimento desse número como precondição; enquanto que a ação “procurar um número na lista telefônica” tem o efeito de saber o número.

Page 20: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Raciocinar sobre crenças e Raciocinar sobre crenças e conhecimentoconhecimento

Seção 10.4 do AIMA

Problema ao representar crenças: transparência referencial, ou seja, a gente sempre pode substituir um termo por outro que tenha o mesmo valor.

(Superman = Clark) |=

Believes(Lois,Flies(Superman)) Believes(Lois, Flies(Clark))

Page 21: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Uma solução é usar a lógica modal epistêmica / doxástica, que usa operadores referencialmente “opacos”.

Num agente com um mínimo de racionalidade,(K(A B), K(A)) K(B)

(A, K(A B)) ou (K(A), A B) são suficientes para concluir B, mas não para concluir K(B).

Nós temosBLois(Flies(Superman)), mas não temos

BLois (Superman = Clark)

Então não podemos concluir que BLois(Flies(Clark)) (que bom!)

Raciocinar sobre crenças e Raciocinar sobre crenças e conhecimentoconhecimento

Page 22: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Outra solução é usar aspas, com o unique string axiom e uma função de denotação: então temos

den(“Superman”) = den(“Clark”) = Objeto4892,

enquanto que “Superman” “Clark”.

Raciocinar sobre crenças e Raciocinar sobre crenças e conhecimentoconhecimento

Page 23: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Refletir mudanças do ambiente em base Refletir mudanças do ambiente em base de conhecimento instantânea com de conhecimento instantânea com

retractretract Codificar atualização do modelo do agente de um ambiente não estacionário usando: retract(old fact) e tell(new fact), no lugar de tell(new fact, new situation)

Porém, surge o problema da manutenção da verdade O que foi deduzido a partir do fato retirado, tem que ser por

sua vez retirado

Executamos uma regra tipo Go(x,y):Com esse tipo de sistema, acontece o seguinte: tell(At(Agent,y)) retract(At(Agent,x)) simultaneamente

Regra de ramificação do ouro andando junto ao agente quando está segurando o ouro permitiu prova a partir de At(Agent,x), Holding(G1).

Precisamos retrair também At(G1,y).

Page 24: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Exemplo do problema da manutenção da Exemplo do problema da manutenção da verdade no Mundo do Wumpusverdade no Mundo do Wumpus

Parece ser eficiente em relação ao cálculo de eventos, já que não faz cópia de toda base para cada modificação do ambiente.

Porém pode levar a um processo em cadeia, no qual se desfaz a maioria das deduções passadas. Repô-las pode ter um custo equivalente.

Abordagem ingênua para manutenção de verdade: retrair tudo o que foi deduzido após a inclusão do fato que foi retraído

recomeçar dedução de tudo que foi deduzido depois desse ponto (via resolução ou encadeamento de regras para frente)

isto é INEFICIENTE

Page 25: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Manutenção da verdadeManutenção da verdadebaseada em justificativabaseada em justificativa

Abordagem JTMS (Justification-Based Truth Maintenance System): cada frase na KB é anotada com uma justificação (as frases a partir da qual ela foi inferida)

Quando o Retract é executado, todas as frases que usavam a frase retraída como justificativa são re-avaliadas: se não passarem, elas serão retraídas também, recursivamente...

E tudo o que não é mais justificável vai ser retraído nessa reação em cadeia.

Porém as frases retraídas não são deletadas, pois elas podem voltar a ser consideradas no futuro. Desta maneira a cadeia de inferências é mantida caso a frase volte a ser considerada True.

Vantagem: mais rápido que o sistema ingênuo quando há hipóteses que são consideradas True e False alternadamente.

Limitações: mudança de contexto é ineficiente

Page 26: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Além de permitir a retração de informação incorreta, TMSs em geral podem acelerar a análise de múltiplas hipóteses. Por exemplo, se a cidade das olimpíadas de 2048 mudar de Bucharest para Sibil, a cadeia pode ser re-usada.

Cada frase é rotulada com o conjunto de assunções que a torna verdade. Desta maneira é fácil verificar se uma frase é deduzível ou não: é equivalente a testar “set containment”.

Manutenção da verdadeManutenção da verdadebaseada em suposiçãobaseada em suposição

Page 27: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

CircunscriçãoCircunscriçãoSeção 10.7 do AIMA

Versão mais poderosa da hipótese do mundo fechado

Bird(x) Abnormal(x) Flies(x)

Se Abnormal for circunscrito, um raciocinador circunscritivo pode assumir Abnormal(x) a menos que Abnormal(x) seja sabido.

Republican(Nixon) Quaker(Nixon).Republican(x) Abnormal2(x) Pacifist(x).Quaker(x) Abnormal(x) Pacifist(x).

Como o sistema resolve isso?* Dois modelos preferidos: Abnormal1(Nixon) e Abnormal2(x). O sistema fica corretamente indeciso sobre esta frase.* Porém, podemos usar circunscrição priorizada, aonde uma regra é dada mais importância que a outra.

Page 28: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Lógica defaultLógica default

Seção 10.7 do AIMA

Usa regras default para gerar conclusões não-monotônicas.

Bird(x) : Flies(x)/Flies(x).

quer dizer se x é um pássaro, e “x voa” é consistente com a KB, então “x voa” pode ser concluído por default.

Obviamente, a conclusão default estará sujeita a revisão.

Page 29: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

AbduçãoAbdução

Abdução

CPCI CPEC NCEC |= CPEE

ConhecimentoPrévio Causalem Intenção

X co(X) ca(X) e(X)

ConhecimentoPrévio em Extensão:• Efeitos Observados

e(a), e(b), ...• Causais Observadas

Incompletasco(a), co(b), ...

Novo Conhecimentoem Extensão:

Causas Hipotéticasca(a), ca(b) ...

Viés sobre Hipóteses:

X ca(X)

Page 30: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Abdução: exemploAbdução: exemplo

A partir de:A partir de: Conhecimento prévio causalcausal em intenção:

X,Y,T loc(agent,X,Y,T) orientation(0,T) do(forward,T) loc(wall,X+1,Y) loc(agent,X,Y,T+1)

Conhecimento prévio em extensão incompleto de causas: loc(agent,4,1,1) orientation(0,1) do(forward,1)

Conhecimento prévio em extensão de efeitos observados: loc(agent,4,1,2)

Abduzir:Abduzir: Novo conhecimento em extensão de causacausa hipotética:

loc(wall,5,1)

Page 31: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Aplicações práticas da abdução em IAAplicações práticas da abdução em IA

Tirado de p. 1 e 13-14 de Kakas-Denecker (KD), Seção 1.3 de Kakas-Kowalski-Toni (KKT)

Diagnóstico de Falha (Diagnóstico médico): aqui a teoria descreve o comportamento “normal” do sistema. Quando se tem a observação que o comportamento está anormal, busca-se o componente anormal que explica esse comportamento anormal do sistema.

Visão de Alto Nível: as hipóteses abduzíveis são os objetos a serem reconhecidos, e observações são descrições parciais dos objetos.

Raciocínio Legal: para encontrar casos similares.

Engenharia de Software: para resolver inconsistências em requirementos de sistemas

Constraint Solving Problems: Quebra-cabeças lógicos, N-Queens, problemas de planejamento no mundo dos blocos, etc.

Page 32: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Formulações lógicas da abduçãoFormulações lógicas da abdução

Seções 1-3 de KD Seções 1.2-1.3 de KKT

Dada uma teoria conhecida P, uma explicação abdutiva para um query Q é um conjunto de átomos abduzíveis tal que:

Visão de derivação:(P Q) (P | False) (P IC)

Visão de consistência:(P Q) (P IC | False)

Esta escolha vai depender do que você quer fazer

Page 33: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Viés sobre hipóteses abdutivas: Viés sobre hipóteses abdutivas: objetivosobjetivos pp. 4-6 de KKT

Encontrar conjunto de hipótese mais conciso e mais geral

Encontrar causas explicando os efeitos observados, no lugar de encontrar co-efeitos das mesmas causas sub-jacentes

Encontrar causas mais profundas (básicas), no lugar de causas intermediárias, efeitos dessas causas profundas

Encontrar um número mínimo que causas que expliquem o máximo de observações

Considerar apenas instâncias de um conjunto pré-definido de predicados chamado de abduzíveis. Geralmente escolhidos dentro dos predicados sem definição intencional na base de conhecimento

Podem ser estratificados em níveis de preferências

Page 34: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Viés sobre hipóteses: predicados Viés sobre hipóteses: predicados abduzíveisabduzíveis

Exemplo:

grass-is-wet rained-last-nightgrass-is-wet sprinkler-was-onshoes-are-wet grass-is-wet

Para a observação shoes-are-wet:A explicação {grass-is-wet} não é básicaenquanto {rained-last-night} e {sprinkler-was-on} são.

A explicação {rained-last-night, sprinkler-was-on} não é mínima.

Page 35: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Viés sobre hipóteses abdutivas: Viés sobre hipóteses abdutivas: restrições de integridaderestrições de integridade

Excluir hipóteses que: Violam diretamente um conjunto pré-definido de restrições de integridades

Cuja inclusão na base de conhecimento permite deduzir fatos que violam uma dessas restrições

Logicamente:

Exemplo:At(Wumpus(x)) At(Wumpus(y) x = ysprinkler choveu false

Page 36: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Viés sobre hipóteses abdutivas: Viés sobre hipóteses abdutivas: minimizaçãominimização

Excluir conjunto de hipóteses que podem ser explicadas em termos de (i.e., deduzidas a partir de) outras hipóteses igualmente válidas Exemplo: grassIsWet, quando sabemos sprinkler-was-on

Preferir conjunto de hipóteses com maior número de efeitos observados (corroboração) Exemplo: formigasDeAsas corrobora chuva e não sprinkler

Preferir conjunto de hipóteses mais geral Exemplo:

Preferir conjunto de hipóteses mais conciso: quanto menos pre-requisitos, mais plausível é que as hipóteses sejam verdade. Exemplo:

Page 37: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

DeduçãoDedução

Dedução

CPEC CPCI |= NCEE

ConhecimentoPrévio Causalem Intenção

X c(X) e(X)

ConhecimentoPrévio em Extensão:Causas Observadas

c(a), c(b), ...

Novo Conhecimentoem Extensão:

Efeitos Previstose(a), e(b) ...

Dedução

CPDI CPEE |= NCEC

ConhecimentoPrévio Diagnóstico

em IntençãoX e(X) c(X)

ConhecimentoPrévio em Extensão:Efeitos Observados

e(a), e(b), ...

Novo Conhecimentoem Extensão:

Causas c(a), c(b) ...

Page 38: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Dedução: exemplosDedução: exemplos

A partir de:A partir de: Conhecimento prévio causalcausal em intenção:

X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X+1,Y) loc(agent,X+1,Y,T+1)

Conhecimento prévio em extensão de causas observadas: loc(agent,1,1,1) orientation(0,1)

forward(1) loc(wall,2,1)

Deduzir:Deduzir: Novo conhecimento em extensão de efeito previsto:

loc(agent,2,1,2).

A partir de:A partir de: Conhecimento prévio diagnósticodiagnóstico em intenção:

X,Y,T loc(agent,X,Y,T) smell(stench,T) smelly(X,Y).

X,Y smelly(X,Y) loc(wumpus,X+1,Y) loc(wumpus,X-1,Y) loc(wumpus,X,Y+1) loc(wumpus,X,Y-1)).

Conhecimento prévio em extensão de efeito observado

smell(stench,3) loc(agent,2,2,3)

Deduzir:Deduzir: Novo conhecimento em extensão de causa hipotética:

loc(wumpus,3,2) loc(wumpus,1,2) loc(wumpus,2,3) loc(wumpus,2,1)).

Page 39: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

InduçãoIndução

Novo ConhecimentoCausal Hipotético

em IntençãoX i(X) e(X)

Indução

CPCI NCCI CPEC |= CPEE

ConhecimentoPrévio em Extensão:• Efeitos Observados

e(a), e(b), ...• Causais Observadas

c(a), c(b), ...

Conhecimento PrévioCausal em Intenção

IncompletoX c(X) i(X)

Viés sobre Hipóteses:

X,Y i(X) Y(X)

Page 40: Raciocínio Não Monotônico e Abdução Gustavo Lacerda Jacques Robin CIn-UFPE.

Indução: exemploIndução: exemplo

A partir de:A partir de: Conhecimento prévio em extensão:

loc(wall,1,1) loc(wall,0,1) loc(wall,1,2) loc(0,2) ... ... loc(wall,4,5) loc(wall,4,4) loc(wall,3,5) loc(wall,3,4) ... ...

Viés sobre hipótese: P1,P2,P3,P4 {>,<,=}, C {, }, Q1,Q2,Q3 {,}: Q1U1,U2,U3,U4 Q2V1,V2,V3,V4 Q3W P1(U,V1) P2(U,V2) P3(U,V3) P4(U,V4) loc(W,U,V)

Induzir:Induzir: Novo conhecimento em intenção:

X,Y X<1 X>4 Y<1 Y>4 loc(wall,X,Y)

Variação: Variação: Conhecimento prévio em intenção:

X,Y,H,W X<1 X>H Y<1 Y>W loc(wall,X,Y)