1 / 45

Agentes Baseados em Lógica

Agentes Baseados em Lógica. Wumpus. Agente caçador de tesouros. Bem-vindos ao “Mundo do Wumpus”. O Mundo do Wumpus: formulação do problema. Ambiente: agente, Wumpus, cavernas, buracos, ouro Estado inicial: agente na caverna (1,1) com apenas uma flecha

summer-kerr
Download Presentation

Agentes Baseados em Lógica

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. Agentes Baseados em Lógica

  2. Wumpus Agente caçador de tesouros Bem-vindos ao “Mundo do Wumpus”

  3. O Mundo do Wumpus: formulação do problema • Ambiente: • agente, Wumpus, cavernas, buracos, ouro • Estado inicial: • agente na caverna (1,1) com apenas uma flecha • Wumpus e buracos em cavernas quaisquer • Objetivos: • pegar a barra de ouro e voltar à caverna (1,1) com vida • Percepções: • fedor, brisa, luz, choque (contra a parede da caverna) e grito do Wumpus • Ações: • avançar para próxima caverna • girar 90 graus à direita ou à esquerda • pegar um objeto na mesma caverna que o agente • atirar na direção para onde o agente está olhando (a flecha pára quando encontra uma parede ou mata o Wumpus) • sair da caverna

  4. 4 4 3 3 2 2 ok B? ok A V A B? 1 1 b ok ok ok ok 1 2 3 4 1 2 3 4 Raciocinando e Agindo no Mundo do Wumpus • Conhecimento do agente: (a) no início do jogo, depois de receber sua primeira percepção , e (b) depois do 1o movimento, com a seqüência de percepções [nada,brisa,nada,nada,nada] V - caverna visitada

  5. 4 4 B? A B? W! W! 3 3 f b l A 2 2 V V f ok f ok ok ok V V V V B! B! 1 1 b ok b ok ok ok 1 2 3 4 1 2 3 4 Raciocinando e Agindo no Mundo do Wumpus • Estando em (2,2), o agente move-se para (2,3) e encontra o ouro!!!

  6. Mundo de Wumpus • Tipo de ambiente • Acessível ou Inacessível ? • Determinista ou Não-Determinista? • Episódico ou Não-Episódico? • Estático ou Dinâmico ? • Discreto ou Contínuo ? • Tipo de agente? • Agente tabela • Agente reativo • Agente reativo com estado interno (autômato) • Agente cognitivo (baseado em objetivos) • Agente otimizador • Agente adaptativo

  7. Agentes baseado em Lógica • Agentes podem ser formalizados e implementados por Sistemas baseados em conhecimento (aula anterior) • Veremos aqui como formalizar um agente que raciocina com base na Lógica Proposicional • nível do conhecimento • A implementação desse agente pode ser feita com Prolog ou Java+JEOPS, por exemplo

  8. Um Agente-BC para o Mundo do Wumpus • A Base de Conhecimento consiste em: • sentenças representando as percepções do agente • sentenças válidas implicadas a partir das sentenças das percepções • regras utilizadas para implicar novas sentenças a partir das sentenças existentes • Símbolos: • Ax-y significa que “o agente está na caverna (x,y)” • Bx-y significa que “existe um buraco na caverna (x,y)” • Wx-y significa que “o Wumpus está na caverna (x,y)” • Ox-y significa que “o ouro está na caverna (x,y)” • bx-y significa que “existe brisa na caverna (x,y)” • fx-y significa que “existe fedor na caverna (x,y)” • lx-y significa que “existe luz na caverna (x,y)”

  9. 4 W 3 A 2 f ok ok V V B! 1 b ok ok 1 2 3 4 Base de Conhecimento para o Mundo do Wumpus • Com base nas percepções do estado abaixo, a BC deverá conter as seguintes sentenças: • Ø f1-1 Ø b1-1 • Ø f2-1 b2-1 • f1-2 Ø b1-2 V - caverna visitada

  10. Base de Conhecimento para o Mundo do Wumpus • O agente também tem algum conhecimento prévio sobre o ambiente, e.g.: • se uma caverna não tem fedor, então o Wumpus não está nessa caverna, nem está em nenhuma caverna adjacente a ela. • O agente terá uma regra para cada caverna no seu ambiente R1: Ø f1-1 Þ Ø W1-1 Ù Ø W1-2 Ù Ø W2-1 R2: Ø f2-1 Þ Ø W1-1 Ù Ø W2-1 Ù Ø W2-2 Ù Ø W3-1 R3: Ø f1-2 Þ Ø W1-1 Ù Ø W1-2 Ù Ø W2-2 Ù Ø W1-3 • O agente também deve saber que, se existe fedor em (1,2), então deve haver um Wumpus em (1,2) ou em alguma caverna adjacente a ela: R4: f1-2 Þ W1-3 Ú W1-2 Ú W2-2 Ú W1-1

  11. Como Encontrar o Wumpus - Inferência! • O Wumpus está em (1,3). Como provar isto? (1) construindo a Tabela-Verdade para a sentença • existem 12 símbolos proposicionais na BC, então a Tabela-Verdade terá 12 colunas. (2) usando regras de inferência!

  12. Lógica Proposicional: Regras de Inferência • a/b diz que a sentença b pode ser derivada de a por inferência. • Modus Ponens: • E-eliminação: • E-introdução: • Ou-introdução: • Eliminação de dupla negação: • Resolução unidade: • Resolução:

  13. Como Encontrar o Wumpus - Inferência! • Inicialmente, vamos mostrar que o Wumpus não está em nenhuma outra caverna, e então concluir, por eliminação, que ele está em (1,3). 1. Aplicando Modus Ponens a Ø f1-1 eR1, obtemos: Ø W1-1 Ù Ø W1-2 Ù Ø W2-1 2. Aplicando E-eliminação a (1), obtemos três sentenças isoladas: Ø W1-1 Ø W1-2 Ø W2-1 3. Aplicando Modus Ponens a Ø f2-1 eR2, e em seguida aplicando E-eliminaçãoobtemos: Ø W1-1 Ø W2-1 Ø W2-2 Ø W3-1 4. Aplicando Modus Ponens a f1-2 eR4, obtemos: W1-3 Ú W1-2 Ú W2-2 Ú W1-1

  14. Como Encontrar o Wumpus - Inferência! 5. Aplicando Resolução Unidade, onde a é W1-3 Ú W1-2 Ú W2-2 e b é W1-1 obtemos (do passo 2, temos Ø W1-1): W1-3 Ú W1-2 Ú W2-2 6. Aplicando Resolução Unidade, onde a é W1-3 Ú W1-2 e b é W2-2 obtemos: W1-3 Ú W1-2 7. Aplicando Resolução Unidade, onde a é W1-3 e b é W1-2 obtemos: W1-3 !!!

  15. Problemas com o Agente Proposicional • Problema: existem proposições demais a considerar • ex.: a regra: “não avance se o Wumpus estiver em frente a você“ só pode ser representada com um conjunto de 64 regras. • serão necessárias milhares de regras para definir um agente eficiente, e o processo de inferência ficará muito lento. • Outro problema: domínios dinâmicos! • Quando o agente faz seu primeiro movimento, a proposição A1-1 torna-se falsa, e A2-1 torna-se verdadeira. • Soluções: • “apagar” A(1,1) - não! => o agente precisa saber onde esteve antes. • usar símbolos diferentes para a localização do agente a cada tempo t => a BC teria que ser “reescrita” a cada tempo t. • Se o agenteexecutar 100 passos, a BC terá 6400 regras apenas para dizer que ele não deve avançar quando o Wumpus estiver em frente a ele.

  16. Agentes que raciocinam com base na lógica de primeira ordem (LPO) • Engajamentos, sintaxe e semântica da LPO • Uso da LPO em agentes baseados em conhecimento • Aplicação ao mundo do Wumpus • Representando mudanças no mundo • Deduzindo propriedades escondidas do mundo

  17. Motivação • LPO: o formalismo de referência para representação de conhecimento, o mais estudado e o melhor formalizado • LPO satisfaz em grande parte os seguintes critérios • adequação representacional ( > L Proposicional) • para representar o mundo (expressividade) • adequação inferencial ( = L Proposicional) • para fazer inferência • eficiência aquisicional ( = L Proposicional) • facilidade de adicionar conhecimento • modularidade ( > L Proposicional) • Embora tenha problemas com • legibilidade e eficiência inferencial

  18. Engajamento ontológico • Engajamento ontológico: • Trata da realidade, uma descrição do mundo • Na Lógica Proposicional, o mundo consiste em fatos. • Na Lógica de Primeira Ordem, o mundo consiste em: • objetos: coisas” com identidade própria • ex. pessoas, casas, Wumpus, caverna, etc. • relações entre esses objetos • ex. irmão-de, tem-cor, parte-de, adjacente, etc. • propriedades, que distinguem esses objetos • ex. vermelho, redondo, fundo, fedorento, etc. • funções: um ou mais objetos se relacionam com um único objeto • ex. dobro, distância, pai_de, etc.

  19. Engajamento ontológico • Além disso, a LPO exprime: • fatos sobre todos objetos do universo () • fatos sobre objetos particulares () • Exemplos: • 1 + 1 = 2 • objetos: 1, 2; relação: =; função: +. • Todas as Cavernas adjacentes ao Wumpus são fedorentas. • objetos: cavernas, Wumpus; propriedade: fedorentas; relação: adjacente. • A LPO não faz engajamentos ontológicos para coisas como tempo, categorias, e eventos. • neutralidade favorece flexibilidade

  20. Engajamento epistemológico • Engajamento epistemológico: • estados do conhecimento (crenças) • A LPO tem o mesmo engajamento epistemológico que a lógica proposicional • tudo é verdadeiro ou falso • Para tratar incerteza • Outras lógicas (de n-valoradas, fuzzy, para-consistente, etc.) • Probabilidade

  21. Resumo

  22. Agente sensores Tell Base de Conhecimento Máquina de Inferência (Raciocínio) Mecanismo de Aprendizagem - opcional a m b i e n t e Ask Tell efetuadores Agentes Baseados em Conhecimento Dedutivo: Arquitetura • Tell - adiciona novas sentenças à BC • Ask - consulta a BC

  23. Agente baseados em LPO • função Agente-BC(percepção) retorna uma ação Tell(BC, Percepções-Sentença(percepção,t)) ação¬Ask(BC Pergunta-Ação(t)) Tell(BC, Ação-Sentença(ação,t)) t ¬ t + 1 retorna ação • Onde... • funçãoPergunta-Ação cria umaquery tal como: $ a Ação(a,6) • função ASK devolve uma lista de instanciações: {a / Pegar} - Pegar é atribuída à variável ação. • TELL gravar a ação escolhida na BC.

  24. Representação do mundo Representação lógica inicial Representação lógica atualizada Conhecimento de Lógica Mecanismo de inferência LPO em agentes baseados em conhecimento No mundo : A. Pedro possui um cachorro. B. Todo dono de cachorro é um protetor dos animais. C. Nenhum protetor dos animais mata um animal. Na Lógica: A. $x cachorro(x) Ù possui(Pedro,x) B. "x $y cachorro(y) Ù possui(x,y)) Þ protetorAnimais(x) C. "x protetorAnimais(x) Ù"y animal(y) ÞØmata(x,y)

  25. Sistema Formal em LPO Cálculo = Cálculo de Predicados Teoria Teoremas =fatos derivados (axiomas + regras de derivação) Axiomas = fatos+ regras Linguagem = LPO Regras de derivação = regras de inferência Síncronas Diacrônicas sintaxe + semântica causais de diagnóstico BC = fatos e regras básicos (só axiomas!) MT = fatos particulares à instância do problema e fatos derivados Máquina de Inferência = regras de inferência

  26. LPO em agentes baseados em conhecimento • Axiomas = fatos e regras básicos e fatos do problema • exs. Pai(Caetano,Zeca), Mãe(Canô, Caetano) • "(x,z) Avó(x,z) Û $(y) Mãe(x,y) Ù (Mãe(y,z) Ú Pai(y,z)) • Teoremas = fatos derivados • ex. Avó(Canô, Zeca) • Pesquisa = ASK • Quantificador : a resposta é booleana • ASK(BC, Irmã(Betânia,Caetano)) -> true • ASK(BC, x (Irmã(x,Caetano) Ù Cantora(x))) -> false • Quantificador : a resposta é uma lista de instanciações/substituições de variáveis - binding • ASK (BC, $x Irmã(x,Caetano)) -> {x/Betânia,x/Irene} • ASK (BC, $x (Irmã(x,Caetano) Ù Cantora(x))) -> {x/Betânia}

  27. Um Agente LPO para o Mundo do Wumpus • Interface entre o agente e o ambiente: • sentença de percepções, que inclui as percepções e o tempo (passo) em que elas ocorreram, e.g.: • Percepção ([Fedor, Brisa, Luz, nada, nada], 6) • Ações do agente: • Girar(Direita), Girar(Esquerda), Avançar, Atirar, Pegar, Soltar e Sair das cavernas • Três arquiteturas de Agentes baseados em LPO: • Agente reativo • Agente com Modelo do Mundo • Agente baseado em Objetivo

  28. Agente reativo baseado em LPO • Possui regras ligando conjuntos de percepções às ações • Essas regras assemelham-se a reações, " f,b,c,g,t Percepção([f,b,Luz,c,g], t) Þ Ação(Pegar, t) • Essas regras dividem-se entre • Regras de (interpretação) da percepção " b,l,c,g,t Percepção([Fedor,b,l,c,g], t) Þ Fedor (t) " f,l,c,g,t Percepção([f,Brisa,l,c,g], t) Þ Brisa (t) " f,b,c,g,t Percepção([f,b,Luz,c,g], t) Þ Junto-do-Ouro (t) . . . • Regras de ação: " t Junto-do-Ouro (t)Þ Ação(Pegar, t)

  29. Limitações do agente reativo • um agente ótimo deveria: • recuperar o ouro ou • determinar que é muito perigoso pegar o ouro e • em qualquer dos casos acima, voltar para (1,1) e sair da caverna. • Um agente reativo nunca sabe quando sair, • estar com o ouro e estar na caverna (1,1) não fazem parte da sua percepção (se pegou, esqueceu). • esses agentes podem entrar em laços infinitos. • Para ter essas informações, o agente precisa guardar uma representação do mundo.

  30. Agentes LPO com Modelo do Mundo • Modelo interno do mundo • sentenças sobre o mundo atual, em vez de percepções passadas • “às 4h30 pegou o ouro” ===> “está com o ouro” • as sentenças serão atualizadas quando o agente receber novas percepções e realizar ações • ex. chaves no bolso, pegou o ouro,..

  31. Representando Mudanças no Mundo: abordagens • “Como representar as mudanças realmente? • O agente foi de (1,1) para (1,2) • “Apagar” da BC sentenças que já não são verdade • ruim: perdemos o conhecimento sobre o passado, o que impossibilita previsões de diferentes futuros. • Cada estado é representado por uma BC diferente: • ruim: pode explorar situações hipotéticas, porém não pode raciocinar sobre mais de uma situação ao mesmo tempo. • ex. “existiam buracos em (1,2) e (3,2)?” • Solução: Cálculo situacional • uma maneira de escrever mudanças no tempo em LPO. • representação de diferentes situações na mesma BC

  32. Cálculo Situacional • O mundo consiste em uma seqüência de situações • situação N ===ação===> situação N+1 • Predicados que mudam com o tempo têm um argumento de situação adicional • Ao invés de Em(Agente,local) teremos (Em(Agente,[1,1],S0) ÙEm(Agente,[1,2],S1)) • Predicados que denotam propriedades que não mudam com o tempo • não necessitam de argumentos de situação • ex. no mundo do Wumpus:Parede(0,1) e Parede(1,0) • Para representar as mudanças no mundo: função Resultado • Resultado (ação,situação N) = situação N+1

  33. Exemplo de cálculo situacional Result(Forward,S0) = S1 Result(Turn(Right),S1) = S2 Result(Forward,S2) = S3

  34. Axiomas estado-sucessor • Descrição completa de como o mundo evolui uma coisa é verdade depoisÛ [uma ação acabou de torná-la verdade Ú ela já era verdade e nenhuma ação a tornou falsa ] • Ex. " a,x,sSegurando(x, Resultado(a,s)) Û [(a = PegarÙ (Presente (x, s) Ù Portável(x)) Ú (Segurando (x,s) Ù (a ¹ Soltar)] • É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo.

  35. Guardando localizações • O agente precisa lembrar por onde andou e o que viu • para poder deduzir onde estão os buracos e o Wumpus, • para garantir uma exploração completa das cavernas • O agente precisa saber: • localização inicial = onde o agente está Em (Agente,[1,1],S0 ) • orientação: a direção do agente (em graus) Orientação (Agente,S0 ) = 0 • localização um passo à frente: função de locais e orientações " x,y PróximaLocalização ([x,y ],0) = [x+1,y ] " x,y PróximaLocalização ([x,y ],90) = [x,y+1 ] " x,y PróximaLocalização ([x,y ],180) = [x-1,y ] " x,y PróximaLocalização ([x,y ],270) = [x,y-1 ]

  36. Guardando localizações • A partir desses axiomas, pode-se deduzir que quadrado está em frente ao agente “ag” que está na localização “l”: " ag,l,s Em (ag,l,s ) ÞlocalizaçãoEmFrente (ag,s) = PróximaLocalização (l,Orientação (ag,s)) • Podemos também definir adjacência: " l1,l2 Adjacente (l1,l2 ) Û $ d l1 = PróximaLocalização (l2,d ) • E detalhes geográficos do mapa: " x,y Parede([x,y]) Û (x =0 Ú x =5 Ú y =0 Ú y =5)

  37. Guardando localizações • Resultado das ações sobre a localização do agente: • Axioma Estado-Sucessor: avançar é a única ação que muda a localização do agente (a menos que haja uma parede) " a,l,ag,s Em(ag,l,Resultado(a,s)) Û [(a = Avançar Ù l = localizaçãoEmFrente(ag,s) ÙØParede(l)) Ú (Em(ag,l,s) Ù a ¹ Avançar)] • Efeito das ações sobre a orientação do agente: • Axioma ES: girar é a única ação que muda a direção do agente " a,d,ag,s Orientação(ag,Resultado(a,s)) = d Û [(a = Girar(Direita) Ù d = Mod(Orientação(ag,s) - 90, 360) Ú (a = Girar(Esquerda) Ù d = Mod(Orientação(ag,s) + 90, 360) Ú (Orientação(ag,s) = d ÙØ (a = Girar(Direita) Ù a = Girar(Esquerda))]

  38. Deduzindo Propriedades do Mundo • Agora que o agente sabe onde está, ele pode associar propriedades aos locais: "l,sEm (Agente,l,s) ÙBrisa(s) ÞVentilado(l) "l,s Em (Agente,l,s) ÙFedor(s) ÞFedorento(l) • Sabendo isto o agente pode deduzir: • onde estão os buracos e o Wumpus, e • quais são as cavernas seguras (predicado OK). • Os predicados Ventilado e Fedorento não necessitam do argumento de situação

  39. Tipos de regras • Regras diacrônicas (do grego “através do tempo”) • descrevem como o mundo evolui (muda ou não) com o tempo " x,s Presente(x,s) Ù Portável(x) Þ Segurando(x,Resultado(Pegar,s)) • Regras Síncronas: • relacionam propriedades na mesma situação (tempo). " o,s Em(Agente,l,s) Ù Brisa(s) Þ Ventilado(l) • axiomas que possibilitam deduzir propriedades escondidas no mundo • Existem dois tipos principais de regras síncronas: • Regras Causais • Regras de Diagnóstico

  40. Modularidade das Regras • As regras que definimos até agora não são modulares: • mudanças nas crenças do agente sobre algum aspecto do mundo requerem mudanças nas regras que lidam com outros aspectos que não mudaram. • Para tornar essas regras mais modulares, separamos fatos sobre ações de fatos sobre objetivos: • assim, o agente pode ser “reprogramado” mudando-se o seu objetivo. • Ações descrevem como alcançar resultados. • Objetivos descrevem a adequação (desirability) de estados resultado, não importando como foram alcançados. • Descrevemos a adequação das regras e deixamos que a máquina de inferência escolha a ação mais adequada.

  41. Modularidade: Adequação das Regras • Escala, em ordem decrescente de adequação: • ações podem ser: ótimas, boas, médias, arriscadas e mortais. • O agente escolhe a mais adequada "a,s Ótima(a,s) ÞAção(a,s) "a,s Boa(a,s) Ù (Ø $b Ótima(b,s)) ÞAção(a,s) "a,s Média(a,s) Ù (Ø $b (Ótima(b,s) Ú Boa(b,s) )) ÞAção(a,s) " a,s Arriscada(a,s) Ù (Ø $b (Ótima(b,s) Ú Boa(b,s) Ú Média(a,s) )) ÞAção(a,s) • Essas regras são gerais, podem ser usadas em situações diferentes: • uma ação arriscada na situação S0 (onde o Wumpus está vivo) pode ser ótima na situação S2, quando o Wumpus já está morto.

  42. Sistema de Ação-Valor • sistema de ação-valor: Um sistema baseados em regras de adequação • Não se refere ao que a ação faz, mas a quão desejável ela é. • Prioridades do agente até encontrar o ouro: • ações ótimas: pegar o ouro quando ele é encontrado, e sair das cavernas. • ações boas: mover-se para uma caverna que está OK e ainda não foi visitada. • ações médias: mover-se para uma caverna que está OK e já foi visitada. • ações arriscadas:mover-se para uma caverna que não se sabe com certeza que não é mortal, mas também não é OK • ações mortais: mover-se para cavernas que sabidamente contêm buracos ou o Wumpus vivo.

  43. Agentes Baseados em Objetivos • O conjunto de ações-valores é suficiente para prescrever uma boa estratégia de exploração inteligente das cavernas. • quando houver uma seqüência segura de ações , ele acha o ouro • Porém... isso é tudo o que um agente baseado em LPO pode fazer. • Depois de encontrar o ouro, a estratégia deve mudar... • novo objetivo: estar na caverna (1,1) e sair. " s Segurando(Ouro,s) Þ LocalObjetivo ([1,1],s) • A presença de um objetivo explícito permite que o agente encontre uma seqüência de ações que alcançam esse objetivo.

  44. Como encontrar seqüências de ações (1) Busca: • Usar Busca pela Melhor Escolha para encontrar um caminho até o objetivo. • Nem sempre é fácil traduzir conhecimento em um conjunto de operadores, e representar o problema (ambiente) em estados para poder aplicar o algoritmo. (2) Inferência: • idéia: escrever axiomas que perguntam à BC uma seqüência de ações que com certeza alcança o objetivo. • Porém: para um mundo mais complexo isto se torna muito caro. • como distinguir entre boas soluções e soluções mais dispendiosas (onde o agente anda “à toa” pelas cavernas)?

  45. ficar rico e feliz pegar o ouro sair das cavernas ações e conseqüências ações e conseqüências ações e conseqüências ações e conseqüências Agentes Baseados em Objetivos (3) Planejamento: • envolve o uso de um sistema de raciocínio dedicado, projetado para raciocinar sobre ações e conseqüências para objetivos diferentes.

More Related