1 / 82

Abdução, Raciocínio por default e Revisão de crenças

Abdução, Raciocínio por default e Revisão de crenças. Daniel Moreira João dos Prazeres Priscila Saboia. Motivação Introdução Lembrete de abdução Introduzindo raciocínio por default Lembrete de revisão de crenças Raciocínio por default Abordagens NAF Abdução Lógica- defaut NAF

river
Download Presentation

Abdução, Raciocínio por default e Revisão de crenças

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abdução, Raciocínio por default eRevisão de crenças Daniel Moreira João dos Prazeres Priscila Saboia

  2. Motivação Introdução Lembrete de abdução Introduzindo raciocínio por default Lembrete de revisão de crenças Raciocínio por default Abordagens NAF Abdução Lógica-defaut NAF NAF como raciocínio por default GLPs Sintaxe GLPs estratificados Semânticas declarativas Completação de Clark Semântica de conjuntos de resposta (SCR) Semântica bem-fundamentada (SBF) SCR X SBF Semânticas operacionais Resolução SLDNF Resolução SLG Abdução Aplicações práticas na IA Viés Positive Abductive Logic Programming (PALP) Sintaxe Semântica declarativa Semântica operacional: SLDA Tranformar GLPs em PALPs General Abductive Logic Programming (GALP) Semântica operacional: SLDNFA Raciocínio por default como abdução Abdução em CHRv Exemplo Revisão de Crença e Manutenção de Verdade Sistemas de manutenção de verdade; JTMS JTMS e abdução ATMS ATMS e abdução JTMS X ATMS Conclusão Esquema

  3. Motivação • O que fazer, dentro do contexto da IA - Simbólica, quando um agente não possui conhecimento suficiente para deduzir informações necessárias à escolha da sua próxima ação? • Raciocínio hipotético com informação parcial em ambientes parcialmente observáveis. (CR1)primos(F1, F2)irmaos(P1, P2)pai(P1, F1) pai(P2, F2) (CF1)pai(joaquim, jose) (CF2)pai(manoel, joao) (CF3)primos(jose, joao) (P1) irmaos(joaquim, manoel) ???

  4. Conhecimento Prévio Causal em Intenção e(X)  co(X)  ch(X) Conhecimento Prévio em Extensão: • Efeitos Observados e(a), e(b), ... • Causais ObservadasIncompletasco(a), co(b), ... Novo Conhecimento em Extensão: Causas Hipotéticas ch(a), ch(b) ... Abdução CPCICPECNCEC |= CPEE Viés sobre Hipóteses: ch(X) Introdução: lembrete de abdução

  5. Introdução: lembrete de abdução (2) • A partir de: • Conhecimento prévio causal em intenção: • loc(P, X, Y, T+1)loc(P, X, Y, T)move(P, X+1, Y, T)mureta(X+1, Y) • Conhecimento prévio em extensão incompleto de causas: • loc(player_1, 4, 1, 1) move(player_1, 5, 1, 1) • Conhecimento prévio em extensão de efeitos observados: • loc(player_1, 4, 1, 2) • Abduzir: • Novo conhecimento em extensão de causa hipotética: • mureta(5, 1)

  6. Introduzindo raciocínio por default • Uso de regras-default aplicadas se não geram contradições com a aplicação de regras dedutivas. • Característica não-monotônica • Adição de nova informação pode impossibilitar a derivação de fatos antes deriváveis. (RD1) voa(X)ave(X) // regra default (CR1) ave(X)  pinguim(X) // regra dedutiva (CR2)¬voa(X)  pinguim(X) // regra dedutiva (CF1) ave(picolino) (CF2) pinguim(picolino) // nova percepção Conclusão por default voa(picolino) Nova conclusão ¬voa(picolino)

  7. Introdução: lembrete de revisão de crença • Tarefa de raciocínio necessária quando: • Recepção (sensorial ou comunicativa) de novos fatos confirmados contradiz conclusão por default ou hipóteses abduzidas anteriormente. • Tal contradição pode ser observada diretamente, ou indiretamente via dedução. Conclusão por default (RD1) ave(X)  bota_ovo(X)  tem_bico(X) (CR1) mamifero(X)  monotrema(X) *(RI1) false  ave(X)  mamifero(X) (CF1) bota_ovo(ornitorrinco) (CF2) tem_bico(ornitorrinco) (HD1) ave(ornitorrinco) (CF4) mamifero(ornitorrinco) (CF3) monotrema(ornitorrinco) (HD1) ave(ornitorrinco) tell(ave(ornitorrinco)) Recepção comunicativa (CF3) monotrema(ornitorrinco) tell(monotrema(ornitorrinco)) Dedução (CF4) mamifero(ornitorrinco) tell(mamifero(ornitorrinco)) Revisão de crença retract(ave(ornitorrinco)). * Cláusulas com a cabeça falsa são ditas restrições, sendo peculiares ao formalismo lógico PALP. Estas serão melhor abordadas posteriormente.

  8. Elephant +cor: branco RoyalElephant Raciocínio por default: abordagens • NAF (negation as failure – negação por falha): novo conectivo naf; • Abdução: tarefa de raciocínio; • Lógica-default: nova regra de inferência; • Ver AIMA, capítulo 10, seção 7, para maiores detalhes. • Herança não-monotônica: Clyde:RoyalElephant

  9. Elephant +cor: branco RoyalElephant +cor: branco Raciocínio por default: abordagens • NAF (negation as failure – negação por falha): novo conectivo naf; • Abdução: tarefa de raciocínio; • Lógica-default: nova regra de inferência; • Ver AIMA, capítulo 10, seção 7, para maiores detalhes. • Herança não-monotônica: Clyde:RoyalElephant

  10. Elephant +cor: branco RoyalElephant +cor: branco Raciocínio por default: abordagens • NAF (negation as failure – negação por falha): novo conectivo naf; • Abdução: tarefa de raciocínio; • Lógica-default: nova regra de inferência; • Ver AIMA, capítulo 10, seção 7, para maiores detalhes. • Herança não-monotônica: Clyde:RoyalElephant +cor: branco

  11. Elephant +cor: branco RoyalElephant +cor: cinza Raciocínio por default: abordagens • NAF (negation as failure – negação por falha): novo conectivo naf; • Abdução: tarefa de raciocínio; • Lógica-default: nova regra de inferência; • Ver AIMA, capítulo 10, seção 7, para maiores detalhes. • Herança não-monotônica: Clyde:RoyalElephant +cor: branco Nova Percepção

  12. Elephant +cor: branco RoyalElephant +cor: cinza Raciocínio por default: abordagens • NAF (negation as failure – negação por falha): novo conectivo naf; • Abdução: tarefa de raciocínio; • Lógica-default: nova regra de inferência; • Ver AIMA, capítulo 10, seção 7, para maiores detalhes. • Herança não-monotônica: Clyde:RoyalElephant +cor: cinza

  13. NAF – Negação por falha • Conectivo unário (naf) antes de um termo A; • Ao encontrar premissa da forma naf A... • A máquina de inferência tenta deduzir A. • Se consegue em tempo finito, deriva que naf A é falso; • Se não consegue em tempo finito, deriva que naf A é verdadeiro. • Semanticamente, naf é distinto da negação clássica , da lógica: • A é verdadeiro sse BC |= A; • naf(A) é verdadeiro sse BC| A; onde BC é a base de conhecimento.

  14. Exemplo de NAF • Negação por falha funciona com hipótese do mundo fechado (CR1) ave(X)  tem_bico(X)  bota_ovo(X) tem_pena(X) (CR2) mamifero(X)  naf(ave(X)) (CF1) tem_bico(ornitorrinco) (CF2) bota_ovo(ornitorrinco) (P1)  mamifero(ornitorrinco)

  15. Exemplo de NAF • Negação por falha funciona com hipótese do mundo fechado (CR1)ave(X) tem_bico(X)bota_ovo(X) tem_pena(X) (CR2) mamifero(X)naf(ave(X)) (CF1)tem_bico(ornitorrinco) (CF2)bota_ovo(ornitorrinco) (P1)  mamifero(ornitorrinco) MI-NAF*: Verdadeiro. * MI-NAF: máquina de inferência que implementa a negação por falha.

  16. NAF como raciocínio por default (CR1) voa(X)ave(X)  naf(pinguim(X)) (CR2) ave(X)  pinguim(X) (CF1) ave(picolino) (P1)  voa(picolino)

  17. NAF como raciocínio por default (CR1)voa(X)ave(X) naf(pinguim(X)) (CR2) ave(X) pinguim(X) (CF1)ave(picolino) (CF3) pinguim(picolino) // nova percepção (P1)  voa(picolino) (P1)  voa(picolino) MI-NAF*: Verdadeiro * MI-NAF: máquina de inferência que implementa a negação por falha.

  18. NAF como raciocínio por default • Característica não-monotônica • Adição de nova informação impossibilitou derivação de fatos antes deriváveis. (CR1)voa(X)ave(X) naf(pinguim(X)) (CR2)ave(X)pinguim(X) (CF1) ave(picolino) (CF3) pinguim(picolino) // nova percepção (P1)  voa(picolino) (P1)  voa(picolino) MI-NAF*: Verdadeiro MI-NAF*: Falso * MI-NAF: máquina de inferência que implementa a negação por falha.

  19. Arg GLP 1..* Functor =  StratifiedGLP NegativeLiteral Functor =  Functor = naf CFOLFunctionalTerm GLPPremisse Functor =  GLPs: sintaxe abstrata General Logic Program Literal Premisse * GLPClause Conclusion * Fact * CFOLAtomicFormula CFOLTerm Functor GLPs sem ciclos de dependência entre predicados através de naf CFOLNonFunctionalTerm PredicateSymbol context Fact inv Fact: Premisse -> size() = 1 and Premisse.Literal.CFOLTerm = true Functor CFOLVariable FunctionSymbol ConstantSymbol context GLPClause inv DC: Conclusion.CFOLAtomicFormula.CFOLTerm  false

  20. Exemplo de GLP (CR1) ave(X)  homeotermico(X) naf mamifero(X) (CR2) mamifero(X)  homeotermico(X) naf ave(X) (CR3) mama(X)  mamifero(X) (CR4) bota_ovo(X)  ave(X) (CF1) mama(ornitorrinco) (CF2) bota_ovo(ornitorrinco)

  21. naf naf naf GLPs estratificados • GLPs sem ciclos de dependência entre predicados através de naf • GLP estratificado: femea(X)  mulher(X) mulher(X) humano(X)  naf(homem(X)) humano(X)  homem(x) • GLP não-estratificado: femea(X)  mulher(X) mulher(X) humano(X)  naf(homem(X)) humano(X)  homem(X) homem(X)  naf(mulher(X)) femea(X) mulher(X) humano(X) homem(X) femea(X) mulher(X) humano(X) homem(X)

  22. Semânticas declarativas de GLPs • Completação de Clark; • Semântica de conjuntos de resposta; • Semântica bem-fundamentada

  23. Completação de Clark para GLPs • Mesmo algoritmo para DLPs, estendido para substituir nafs por negações clássicas ¬ femea(X)  mulher(X) mulher(X) humano(X)  naf(homem(X)) humano(X)  homem(x) X1(femea(X1)  X(X1 = X  mulher(X))) X1(mulher(X1)  X(X1 = X  humano(X)  ¬homem(X))) X1(humano(X1)  X(X1 = X  homem(X))) X1(¬ homem(X1))

  24. Inconsistente! Completação de Clark para GLPs (2) • Limitação ligado(X)  aperta_botao(X)  naf(ligado(X)) X1(ligado(X1)  X(X1 = X  aperta_botao(X)  ¬ligado(X))) • Simplificado ligado(X) por p, X1 = X por a e aperta_botao(X) por b... p  a  b  ¬p • Supondo p = a = b = Verdadeiro Verdadeiro Falso • Solução: escrever GLPs estratificados.

  25. Semântica de conjunto de respostas • Modelos estáveis • Justificativa de um elemento E de um modelo Mh de Herbrand: elementos de Mh formando o corpo de uma regra que conclui E; • Modelo estável: modelo mínimo de Herbrand cujos elementos são todos justificados; • Um programa lógico é consistente se possui um modelo estável. anc(X, Y)  pai(X, Y) anc(X, Z)  anc(X, Y)  pai(Y, Z) pai(joaquim, jose) pai(manoel, joaquim) MHM = {pai(manoel, joaquim), anc(manoel, joaquim), pai(joaquim, jose), anc(joaquim, jose), anc(manoel, jose)}

  26. Semântica de conjuntos de resposta (2) • Certos GLPs apresentam mais de um modelo mínimo de Herbrand, que não são estáveis. ave(X)  homeotermico(X)  naf(mamifero(X)). mamifero(X)  homeotermico(X)  naf(ave(X)). mama(X)  mamifero(X). homeotermico(ornitorrinco). MHM1 = {homeotermico(ornitorrinco), ave(ornitorrinco)}

  27. Semântica de conjuntos de resposta (2) • Certos GLPs apresentam mais de um modelo mínimo de Herbrand, que não são estáveis. ave(X)  homeotermico(X)  naf(mamifero(X)). mamifero(X)  homeotermico(X)  naf(ave(X)). mama(X)  mamifero(X). homeotermico(ornitorrinco). MHM1 = {homeotermico(ornitorrinco), ave(ornitorrinco)} MHM2 = {homeotermico(ornitorrinco), mamifero(ornitorrinco), mama(ornitorrinco)}

  28. Semântica de conjuntos de resposta (2) • Certos GLPs apresentam mais de um modelo mínimo de Herbrand, que não são estáveis. ave(X)  homeotermico(X)  naf(mamifero(X)). mamifero(X)  homeotermico(X)  naf(ave(X)). mama(X)  mamifero(X). homeotermico(ornitorrinco). MHM1 = {homeotermico(ornitorrinco), ave(ornitorrinco)} MHM2 = {homeotermico(ornitorrinco), mamifero(ornitorrinco), mama(ornitorrinco)}

  29. Semântica de conjuntos de resposta (3) • Modelos estáveis em GLPs: • Para obtê-los, reduz-se o programa P: • 1. Elimina-se todas as regras que possuam um literal naf(A), estando A em um dos modelos mínimos; • 2. Elimina-se todos os literais negativos das regras restantes. P = { ave(X)  homeotermico(X)  naf(mamifero(X)) mamifero(X)  homeotermico(X)  naf(ave(X)) mama(X)  mamifero(X) homeotermico(ornitorrinco) } MHM1 = {homeotermico(X), ave(ornitorrinco)} R1(P, A = ave(X)) = { ave(X)  homeotermico(X) mama(X)  mamifero(X) homeotermico(ornitorrinco) } MHM(R1) = {homeotermico(ornitorrinco), ave(ornitorrinco)}

  30. Semântica de conjuntos de resposta (3) P = { ave(X)  homeotermico(X)  naf(mamifero(X)) mamifero(X)  homeotermico(X)  naf(ave(X)) mama(X)  mamifero(X) homeotermico(ornitorrinco) } MHM2 = {homeotermico(X), mamifero(ornitorrinco), mama(ornitorrinco)} R2(P, A = mamifero(X)) = { mamifero(X)  homeotermico(X) mama(X)  mamifero(X) homeotermico(ornitorrinco) } MHM(R2) = {homeotermico(ornitorrinco), mamifero(ornitorrinco), mama(ornitorrinco)}

  31. Conjuntos de resposta e abdução • Semanticamente, P significa um conjunto de respostas, dadas para cada possível redução de P. R1(P, ave(X)): {homeotermico(ornitorrinco), ave(ornitorrinco)} | ave(ornitorrinco) (supondo ave(ornitorrinco) = Verdadeiro) + R2(P, mamifero(X)): {mamifero(ornitorrinco), homeotermico(ornitorrinco), mama(ornitorrinco)} | mamifero(ornitorrinco) (supondo mamifero(ornitorrinco) = Verdadeiro)

  32. Conjuntos de resposta e abdução • Semanticamente, P significa um conjunto de respostas, dadas para cada possível redução de P. R1(P, ave(X)): {homeotermico(ornitorrinco), ave(ornitorrinco)} | ave(ornitorrinco) (supondo ave(ornitorrinco) = Verdadeiro) + R2(P, mamifero(X)): {mamifero(ornitorrinco), homeotermico(ornitorrinco), mama(ornitorrinco)} | mamifero(ornitorrinco) (supondo mamifero(ornitorrinco) = Verdadeiro)

  33. Semântica bem-fundamentada • Adota a lógica ternária. • Lógica ternária: • Valores-verdade: • Falso = 0; • Indefinido = ½; • Verdadeiro = 1. • (Re)Definições das fórmulas lógicas: ¬F = 1 – F F  G = min(F, G) F  G = max(F, G) F  G = se F < G então 0 senão 1 F  G = se F = G então 1 senão 0

  34. Semântica bem-fundamentada (2) • Lógica ternária (continuação) • Tabela-verdade:

  35. Semântica bem-fundamentada (3) • Estende a idéia de modelos estáveis; • Permite o valor INDEFINIDO U para termos ground que não são absolutamente Falsos nem Verdadeiros. ave(X)  homeotermico(X)  naf(mamifero(X)) mamifero(X)  homeotermico(X)  naf(ave(X)) mama(X)  mamifero(X) homeotermico(ornitorrinco) ME = {homeotermico(ornitorrinco) = T, mamifero(ornitorrinco) = U, ave(ornitorrinco) = U, mama(ornitorrinco) = U, todos os demais termos falsos} • Semântica operacional baseada em SBF: responde a perguntas gerais com Verdadeiro (T), Falso (F) ou Indefinido (U).

  36. Semântica de conjuntos de resposta Booleana; Vários modelos; Crédula: Define a semântica em termos de suposições sobre fatos não fundamentados (abdução). a  b  naf c c  d  naf a b d Semântica bem-fundamentada Ternária Modelo único; Cética: Assume que fatos não fundamentados são indefinidos. a b, d c Semântica de conjuntos de resposta XSemântica bem-fundamentada SCR: {a, b, d} | a {c, b, d} | c SBF: {b, d} verdadeiros{a, c} indefinidos

  37. GLPs: semânticas operacionais • Resolução SLDNF (implementa a semântica declarativa da completação de Clark); • Resolução SLG (implementa a semântica declarativa bem-fundamentada).

  38. Resolução SLDNF • Combinação de resolução SLD para resolver literais positivos, e negação por falha finita para resolver literais negativos. • Resolução SLD para resolver literais positivos... • Encadeamento para trás, com regra específica de seleção de termos nas premissas das cláusulas a serem resolvidas, em tempo linear. + • Negação por falha finita para resolver literais negativos... • naf A é VERDADEIRO sse  A tem uma árvore SLD com falha finita; • naf A é FALSO sse  A tem uma refutação SLD com substituição-resposta computada vazia (i. e. sem substituir todos os argumentos do literal por constantes).

  39. C B A Exemplo de resolução SLDNF alicerce(X)  sobre(Y, X)  no_chao(X) no_chao(X) naf(fora_do_chao(X)) fora_do_chao(X) sobre(X, Y) acima(X, Y) sobre(X, Y) acima(X, Y) sobre(X, Z)  acima(Z, Y) sobre(c, b) sobre(b, a) • Pergunta: alicerce(X)

  40. Exemplo de resolução SLDNF (2)  fora_do_chao(b)  alicerce(X)  sobre(b, Y0)  sobre(Y0, X), no_chao(X)  no_chao(b)  no_chao(a)  fora_do_chao(a)  naf(fora_do_chao(b))  naf(fora_do_chao(a))  sobre(a, Y0) FF FF

  41. C B A Limitações da resolução SLDNF • Pergunta:  naf(sobre(X, Y)) • “Quais são os blocos X e Y em que X não está sobre Y?” • Resposta: Nenhuma (stuck)... • Esta situação chama-se floundering.  sobre(X, Y)  naf(sobre(X, Y))  sobre(c, b)  sobre(b, a) ??? X=b, Y=a* X=c, Y=b* * Não são uma substituição-resposta computada vazia...

  42. Limitações da resolução SLDNF (2) • Mais exemplos: termina(X)  naf(em_loop(X)) em_loop(X) em_loop(X) mulher(X) naf(homem(X)) homem(X)  naf(mulher(X))  termina(X)  em_loop(X)  naf(em_loop(X))  em_loop(X)  homem(X)  mulher(X)  naf(mulher(X))  naf(homem(X))

  43. Resolução SLG:programação em lógica tabelada • Pilha de objetivos substituída por tabela de objetivos e respostas; • Para cada objetivo, tabela guarda: • Ponteiro para objetivo que o chamou; • Ponteiro para alguma variação sua: • Renomeação de variáveis, por exemplo p(f(X),Y)  p(f(A),B); • Cláusula instanciada cuja conclusão unifica com o referido objetivo; • Posição da clásusula no programa; • Todas as suas respostas.

  44. Resolução SLG:programação em lógica tabelada (2) • Para provar objetivo G: • Procura por variação G’ na tabela; • Se há alguma, utiliza resposta de G´ como resposta de G • Senão, encadeia para trás G, de modo a obter a primeira resposta para G; • Depois de encontrar tal resposta (ou falhar) : • Armazena-a na tabela; • Faz backtrack para encontrar outras respostas e também armazená-las; • Continua a prova com a próxima premissa para o objetivo de chamada.

  45. Abdução • Programa • loc(P, X, Y, T+1)loc(P, X, Y, T)move(P, X+1, Y, T)mureta(X+1, Y) • loc(player_1, 4, 1, 1) move(player_1, 5, 1, 1) • Observação • loc(player_1, 4, 1, 2) • IC • false  loc(P,X,Y,T)  mureta(X, Y) • Explicação • mureta(5, 1)

  46. Aplicações práticas da abdução em IA • Diagnóstico de Falha (Diagnóstico médico): • P : descreve o comportamento “normal” do sistema; • O : comportamento que está anormal; • E : componente anormal que explica esse comportamento anormal do sistema. • Visão de Alto Nível: • O : descrições parciais dos objetos; • E : são os objetos a serem reconhecidos. • Raciocínio Default: • O : conclusões; • E : suposições acreditadas por default . • Planejamento: • O : estado a ser alcançado; • E : planos .

  47. Viés sobre hipóteses abdutivas: objetivos • E – um conjunto de átomos que explicam O; • Viés restringe explicações: • Encontrar explicações que atendam a restrições de integridade; • Encontrar causas mais profundas (básicas), no lugar de causas intermediárias, efeitos dessas causas profundas; • Encontrar um número mínimo de 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 priorizados em níveis de preferências

  48. Viés sobre hipóteses abdutivas:causas básicas e mínimas • Exemplo: grama-molhada  choveu-ontem-noitegrama-molhada  regador-ligadosapatos-molhados grama-molhada • Para a observação sapatos-molhados: • Causas básicas {grama-molhada}não é básica{choveu-ontem-noite} e {regador-ligado}são básicas. • Causas mínimas {choveu-ontem-noite, regador-ligado}não é mínima. {choveu-ontem-noite} e {regador-ligado}são mínimas.

  49. 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 • Exemplo: At(Wumpus(x))  At(Wumpus(y))  x = y sprinkler  choveu  false

  50. 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 • Preferir conjunto de hipóteses mais conciso: quanto menos pre-requisitos, mais plausível é que as hipóteses sejam verdade.

More Related