Racioc - PowerPoint PPT Presentation

About This Presentation
Title:

Racioc

Description:

Racioc nio N o Monot nico e Abdu o Gustavo Lacerda Jacques Robin CIn-UFPE – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 41
Provided by: Jacqu53
Category:

less

Transcript and Presenter's Notes

Title: Racioc


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

2
Agente baseado em conhecimentodedutivo ou
abdutivo
Ambiente
Base de Conhecimento Intencional (BCI) regras,
classes, formulas lógicas universalmente
quantificadas
Sensores
Não Monotônica
Ask
Máquina de inferência dedutiva ou abdutiva
Tell
Retract
Ask
Base de Conhecimento Extensional (BCE) fatos,
objetos formulas lógicas instanciadas
Atuadores
3
Tipologia de raciocínio não monotônico
  • Raciocínio sobre ações e mudanças em ambientes
    não estacioná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 inacessí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

4
Ações, Situações e Eventos
Cálculo de Situações
  • denota estados resultantes de
    açõesOntologia 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)

5
Açõ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çãoResult(,s)
s. Executar outras seqüências executar a
primeira ação e depois executar o resto na
situação resultanteResult(aseq,s)
Result(seq, Result(a,s)).
6
Ações, Situações e Eventos
Cálculo de Situações
  • Duas coisinhas a lembrarToda situação, exceto
    S0, é o resultado de uma ação ou sequência de
    ações a partir de S0.Na nossa notação, a
    situação é sempre o último argumento

7
Açõ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 satisfazem At(G1,
1,1, Result(seq,S0))? (o objetivo sendo que o
ouro G1 esteja na posição 1,1)
8
Açõ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) gt Poss(Go(x,y),s).e.g. se
o agente está segurando alguma coisa, ele pode
soltar Holding(g,s) gt Poss(Release(g),s).
9
Açõ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) gt
At(Agent,y,Result(Go(x,y),s)).e.g.
Poss(Grab(g),s) gt Holding(g,Result(Grab(g),s))
.
10
Ações, Situações e Eventos
Cálculo de Situações

Agora vamos tentar usar um plano no mundo
Wumpusdigamos 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(Agent1,2,Result(Go(1,1,1,2),S0))Ag
ora, precisamos mostrar que é possível o agente
pegar o ouro, ou seja
11
Açõ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çãoAt(G1,1,2,R
    esult(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.

12
Açõ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 SucessorAção é possível gt (fluente é
verdadeiro no estado resultante ? (a ação
tornou o fluente verdadeiro \/ o fluente
já era verdadeiro )
13
Os problemas das ramificaçõese da qualificação
  • RamificaçãoSe 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çãopara 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)

14
Limitaçõ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.

15
Cálculo situacional x de eventos
Regras do Mundo Wumpus
  • Event Calculus
  • T holds
  • holds(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).
  • ????????
  • 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

16
Cálculo de eventos
Ontologia
  • 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
    agenteInitiates(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.

17
Ontologia 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
    assimT(President(USA) GeorgeWashington,
    AD1790).

18
Limitaçõ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.

19
Raciocinar sobre crenças e conhecimento
  • 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.

20
Raciocinar sobre crenças e conhecimento
  • Seção 10.4 do AIMAProblema 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))

21
Raciocinar sobre crenças e conhecimento
  • 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 temos
  • BLois(Flies(Superman)), mas não temos BLois
    (Superman Clark)
  • Então não podemos concluir que BLois(Flies(Clark))
    (que bom!)

22
Raciocinar sobre crenças e conhecimento
  • 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.

23
Refletir mudanças do ambiente em base de
conhecimento instantânea com retract
  • 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).

24
Exemplo do problema da manutenção da verdade 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

25
Manutenção da verdadebaseada 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

26
Manutenção da verdadebaseada em suposição
  • 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.

27
Circunscrição
  • Seçã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.

28
Ló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.

29
Abdução
Conhecimento Prévio Causal em Intenção ?X co(X) ?
ca(X) ? e(X)
Abdução CPCI ? CPEC ? NCEC CPEE
Viés sobre Hipóteses ?X ca(X)
30
Abdução exemplo
  • A partir de
  • Conhecimento prévio causal em intenção
  • ?X,Y,T loc(agent,X,Y,T) ? orientation(0,T) ?
    do(forward,T) ? loc(wall,X1,Y) ?
    loc(agent,X,Y,T1)
  • 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
  • Novo conhecimento em extensão de causa
    hipotética
  • loc(wall,5,1)

31
Aplicaçõ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.

32
Formulaçõ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

33
Viés sobre hipóteses abdutivas objetivos
  • 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

34
Viés sobre hipóteses predicados abduzíveis
  • Exemplo
  • grass-is-wet ? rained-last-nightgrass-is-wet ?
    sprinkler-was-onshoes-are-wet ? grass-is-wet
  • Para a observação shoes-are-wetA 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.

35
Viés sobre hipóteses abdutivas restriçõ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 y
  • sprinkler ? choveu ? false

36
Viés sobre hipóteses abdutivas minimizaçã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

37
Dedução
38
Dedução exemplos
  • A partir de
  • Conhecimento prévio causal em intenção
  • ?X,Y,T loc(agent,X,Y,T) ? orientation(0,T) ?
    forward(T) ? ? loc(wall,X1,Y) ?
    loc(agent,X1,Y,T1)
  • Conhecimento prévio em extensão de causas
    observadas
  • loc(agent,1,1,1) ? orientation(0,1) ?
    forward(1) ? ? loc(wall,2,1)
  • Deduzir
  • Novo conhecimento em extensão de efeito
    previsto
  • loc(agent,2,1,2).
  • A partir de
  • Conhecimento prévio diagnó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,X1,Y) ?
    loc(wumpus,X-1,Y) ? loc(wumpus,X,Y1) ?
    loc(wumpus,X,Y-1)).
  • Conhecimento prévio em extensão de efeito
    observado
  • smell(stench,3) ? loc(agent,2,2,3)
  • 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)).

39
Indução
Conhecimento Prévio Causal em Intenção Incompleto
?X c(X) ? i(X)
  • Conhecimento
  • Prévio em Extensão
  • Efeitos Observados
  • e(a), e(b), ...
  • Causais Observadasc(a), c(b), ...

Novo Conhecimento Causal Hipotético em
Intenção ?X i(X) ? e(X)
Indução CPCI ? NCCI ? CPEC CPEE
Viés sobre Hipóteses ?X,Y i(X) ? Y(X)
40
Indução exemplo
  • 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 ? gt,lt,, ?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
  • Novo conhecimento em intenção
  • ?X,Y Xlt1 ? Xgt4 ? Ylt1 ? Ygt4 ? loc(wall,X,Y)
  • Variação
  • Conhecimento prévio em intenção
  • ?X,Y,H,W Xlt1 ? XgtH ? Ylt1 ? YgtW ? loc(wall,X,Y)
Write a Comment
User Comments (0)
About PowerShow.com