1 Agentes Baseados em Lógica CIn- UFPE 2 Bem-vindos ao “Mundo do Wumpus” Wumpus Agente caçador de tesouros CIn- UFPE 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 CIn- UFPE 4 5 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] 4 4 3 3 2 ok 1 A ok ok 1 2 3 4 V - caverna visitada 2 ok 1 V B? ok 1 b A ok 2 B? 3 4 CIn- UFPE 6 Raciocinando e Agindo no Mundo do Wumpus Estando em (2,2), o agente move-se para (2,3) e encontra o ouro!!! 4 3 2 1 4 B? A W! 3 W! A 2 f V ok V ok V b V ok f ok V ok 1 ok b V ok 2 B! 3 1 4 ok 1 B? fbl 2 B! 3 4 CIn- UFPE 7 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 CIn- UFPE 8 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 CIn- UFPE 9 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)” CIn- UFPE 10 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-1b1-1 f2-1b2-1 f1-2b1-2 4 3 2 1 W A f ok V ok 1 V - caverna visitada ok b V ok 2 B! 3 4 CIn- UFPE 11 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-1W1-1W1-2W2-1 R2: f2-1W1-1W2-1W2-2W3-1 R3: f1-2W1-1W1-2W2-2W1-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-2W1-3W1-2W2-2W1-1 CIn- UFPE 12 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. 212 4096 (2) usando regras de inferência! CIn- UFPE 13 Lógica Proposicional: Regras de Inferência , Modus Ponens: 1 2 ... n E-eliminação: i 1 , 2 ,..., n E-introdução: 1 2 ... n i Ou-introdução: ... 1 2 n Eliminação de dupla negação: Resolução unidade: Resolução: / diz que a sentença pode ser derivada de por inferência. , , , CIn- UFPE 14 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-1e R1,obtemos: W1-1W1-2W2-1 2. Aplicando E-eliminação a (1), obtemos três sentenças isoladas: W1-1W1-2W2-1 3. Aplicando Modus Ponens a f2-1e R2,e em seguida aplicando E-eliminação obtemos: W1-1W2-1W2-2W3-1 4. Aplicando Modus Ponens a f1-2e R4,obtemos: W1-3W1-2W2-2W1-1 CIn- UFPE 15 Como Encontrar o Wumpus - Inferência! 5. Aplicando Resolução Unidade, onde é W1-3W1-2 W2-2e é W1-1obtemos (do passo 2, temos W1-1): W1-3W1-2W2-2 6. Aplicando Resolução Unidade, onde é W1-3W1-2e é W2-2obtemos: W1-3W1-2 7. Aplicando Resolução Unidade, onde é W1-3e é W1-2 obtemos: W1-3!!! CIn- UFPE 16 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 agente executar 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. CIn- UFPE 17 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 CIn- UFPE 18 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 CIn- UFPE 19 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. CIn- UFPE 20 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 CIn- UFPE 21 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 CIn- UFPE 22 Resumo Linguagem Eng. Ontolog. Eng. Epistem. L. Proposicional Fatos V, F, ? LPO Fatos, objetos, relações V, F, ? L. Temporal Fatos, objetos, relações, tempo V, F, ? Probabilidade Fatos Grau de crença: 0-1 L. Difusa Grau de verdade sobre fatos, objetos, relações Grau de crença: 0-1 CIn- UFPE Agentes Baseados em Conhecimento Dedutivo: Arquitetura 23 Agente ambiente sensores Tell Base de Conhecimento Máquina de Inferência (Raciocínio) Mecanismo de Aprendizagem - opcional Ask Tell efetuadores Tell - adiciona novas sentenças à BC Ask - consulta a BC CIn- UFPE 24 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ção Pergunta-Ação cria uma query 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. CIn- UFPE 25 LPO em agentes baseados em conhecimento Representação do mundo Representação Representação lógica inicial lógica atualizada Conhecimento de Lógica Mecanismo de inferência 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) CIn- UFPE Sistema Formal em LPO Cálculo = Cálculo de Predicados Linguagem Regras de derivação = LPO = regras de inferência sintaxe + semântica Teoria Axiomas = fatos + regras Teoremas = fatos derivados (axiomas + regras de derivação) Síncronas Diacrônicas 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 27 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} CIn- UFPE 28 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 CIn- UFPE 29 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) CIn- UFPE 30 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. CIn- UFPE 31 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,.. CIn- UFPE Representando Mudanças no Mundo: abordagens 32 “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 CIn- UFPE 33 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 CIn- UFPE 34 Exemplo de cálculo situacional Result(Forward,S0) = S1 Result(Turn(Right),S1) = S2 Result(Forward,S2) = S3 CIn- UFPE 35 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,s Segurando(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. CIn- UFPE 36 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 ] CIn- UFPE 37 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) CIn- UFPE 38 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))] CIn- UFPE 39 Deduzindo Propriedades do Mundo Agora que o agente sabe onde está, ele pode associar propriedades aos locais: l,s Em (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 CIn- UFPE 40 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 CIn- UFPE 41 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. CIn- UFPE 42 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. CIn- UFPE 43 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. CIn- UFPE 44 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. CIn- UFPE 45 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)? CIn- UFPE 46 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. ficar rico e feliz pegar o ouro ações ações ee conseqüências conseqüências sair das cavernas ações ações ee conseqüências conseqüências CIn- UFPE