1 Agentes Baseados em Lgica CIn UFPE 2
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 n Ambiente: – agente, Wumpus, cavernas, buracos, ouro n Estado inicial: – agente na caverna (1, 1) com apenas uma flecha – Wumpus e buracos em cavernas quaisquer n Objetivos: – pegar a barra de ouro e voltar à caverna (1, 1) com vida n Percepções: – fedor, brisa, luz, choque (contra a parede da caverna) e grito do Wumpus n 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
Raciocinando e Agindo no Mundo do Wumpus n Conhecimento do agente: (a) no início do jogo, depois de receber sua primeira percepção , e (b) depois do 1 o movimento, com a seqüência de percepções [nada, brisa, nada, nada] 4 4 3 3 2 1 2 ok A ok ok 1 2 1 3 4 V - caverna visitada ok B? V ok 1 b A ok 2 B? 3 4 CIn- UFPE 5
Raciocinando e Agindo no Mundo do Wumpus n 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 1 V b V ok f ok V ok 1 ok b V ok 2 B! 3 4 ok 1 B? fbl 2 B! 3 4 CIn- UFPE 6
7 Mundo de Wumpus n 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 ? n Tipo de agente? • • • Agente tabela Agente reativo com estado interno (autômato) Agente cognitivo (baseado em objetivos) Agente otimizador Agente adaptativo CIn- UFPE
8 Agentes baseado em Lógica n Agentes podem ser formalizados e implementados por Sistemas baseados em conhecimento (aula anterior) n Veremos aqui como formalizar um agente que raciocina com base na Lógica Proposicional • nível do conhecimento n A implementação desse agente pode ser feita com Prolog ou Java+JEOPS, por exemplo CIn- UFPE
Um Agente-BC para o Mundo do Wumpus n 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 n 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 9
10 Base de Conhecimento para o Mundo do Wumpus n Com base nas percepções do estado abaixo, a BC deverá conter as seguintes sentenças: Ø f 1 -1 Ø f 2 -1 f 1 -2 Ø b 1 -1 b 2 -1 Ø b 1 -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 n 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. n O agente terá uma regra para cada caverna no seu ambiente R 1: Ø f 1 -1 Þ Ø W 1 -1 Ù Ø W 1 -2 Ù Ø W 2 -1 R 2: Ø f 2 -1 Þ Ø W 1 -1 Ù Ø W 2 -2 Ù Ø W 3 -1 R 3: Ø f 1 -2 Þ Ø W 1 -1 Ù Ø W 1 -2 Ù Ø W 2 -2 Ù Ø W 1 -3 n 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: R 4: f 1 -2 Þ W 1 -3 Ú W 1 -2 Ú W 2 -2 Ú W 1 -1 CIn- UFPE
12 Como Encontrar o Wumpus - Inferência! n 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! CIn- UFPE
Lógica Proposicional: Regras de Inferência n Modus Ponens: n E-eliminação: 13 a/b diz que a sentença b pode ser derivada de a por inferência. n E-introdução: n Ou-introdução: n Eliminação de dupla negação: n Resolução unidade: n Resolução: CIn- UFPE
14 Como Encontrar o Wumpus - Inferência! n 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 Ø f 1 -1 e R 1, obtemos: Ø W 1 -1 Ù Ø W 1 -2 Ù Ø W 2 -1 2. Aplicando E-eliminação a (1), obtemos três sentenças isoladas: Ø W 1 -1 Ø W 1 -2 Ø W 2 -1 3. Aplicando Modus Ponens a Ø f 2 -1 e R 2, e em seguida aplicando E-eliminação obtemos: Ø W 1 -1 Ø W 2 -2 Ø W 3 -1 4. Aplicando Modus Ponens a f 1 -2 e R 4, obtemos: W 1 -3 Ú W 1 -2 Ú W 2 -2 Ú W 1 -1 CIn- UFPE
15 Como Encontrar o Wumpus - Inferência! 5. Aplicando Resolução Unidade, onde a é W 1 -3 Ú W 1 -2 Ú W 2 -2 e b é W 1 -1 obtemos (do passo 2, temos Ø W 1 -1): W 1 -3 Ú W 1 -2 Ú W 2 -2 6. Aplicando Resolução Unidade, onde a é W 1 -3 Ú W 1 -2 e b é W 2 -2 obtemos: W 1 -3 Ú W 1 -2 7. Aplicando Resolução Unidade, onde a é W 1 -3 e b é W 1 -2 obtemos: W 1 -3 !!! CIn- UFPE
Problemas com o Agente Proposicional 16 n 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. n Outro problema: domínios dinâmicos! • Quando o agente faz seu primeiro movimento, a proposição A 1 -1 torna-se falsa, e A 2 -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. n 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) n Engajamentos, sintaxe e semântica da LPO n Uso da LPO em agentes baseados em conhecimento n Aplicação ao mundo do Wumpus n Representando mudanças no mundo n Deduzindo propriedades escondidas do mundo CIn- UFPE
18 Motivação n LPO: o formalismo de referência para representação de conhecimento, o mais estudado e o melhor formalizado n 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) n Embora tenha problemas com • legibilidade e eficiência inferencial CIn- UFPE
19 Engajamento ontológico n Engajamento ontológico: • Trata da realidade, uma descrição do mundo n Na Lógica Proposicional, o mundo consiste em fatos. n 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
Engajamento ontológico 20 n Além disso, a LPO exprime: • fatos sobre todos objetos do universo ( ) • fatos sobre objetos particulares ( ) n 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. n A LPO não faz engajamentos ontológicos para coisas como tempo, categorias, e eventos. • neutralidade favorece flexibilidade CIn- UFPE
21 Engajamento epistemológico n Engajamento epistemológico: • estados do conhecimento (crenças) n A LPO tem o mesmo engajamento epistemológico que a lógica proposicional • tudo é verdadeiro ou falso n Para tratar incerteza • Outras lógicas (de n-valoradas, fuzzy, para-consistente, etc. ) • Probabilidade CIn- UFPE
Resumo 22 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 n função Agente-BC(percepção) retorna uma ação Tell(BC, Percepções-Sentença(percepção, t)) Tell Percepções-Sentença ação ¬ Ask(BC Pergunta-Ação(t)) Ask Pergunta-Ação Tell(BC, Ação-Sentença(ação, t)) Tell Ação-Sentença t ¬t+1 retorna ação n 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
LPO em agentes baseados em conhecimento Representação do mundo Representação lógica inicial lógica atualizada Conhecimento de Lógica 25 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)) Þ protetor. Animais(x) C. x protetor. Animais(x) Ù y animal(y) Þ Ømata(x, y) CIn- UFPE
26 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 n 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)) n Teoremas = fatos derivados • ex. Avó(Canô, Zeca) n 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
Um Agente LPO para o Mundo do Wumpus 28 n 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], 6) n Ações do agente: • Girar(Direita), Girar(Esquerda), Avançar, Atirar, Pegar, Soltar e Sair das cavernas n 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 n 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) n 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 n 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. n 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. n Para ter essas informações, o agente precisa guardar uma representação do mundo. CIn- UFPE
31 Agentes LPO com Modelo do Mundo n Modelo interno do mundo • sentenças sobre o mundo atual, em vez de percepções passadas – “às 4 h 30 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 n “Como representar as mudanças realmente? • O agente foi de (1, 1) para (1, 2) n “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. n 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)? ” n 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 n O mundo consiste em uma seqüência de situações • situação N ===ação===> situação N+1 n 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], S 0) Ù Em(Agente, [1, 2], S 1)) n 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) n 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, S 0) = S 1 Result(Turn(Right), S 1) = S 2 Result(Forward, S 2) = S 3 CIn- UFPE
35 Axiomas estado-sucessor n 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)] n É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo. CIn- UFPE
36 Guardando localizações n 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 n O agente precisa saber: • localização inicial = onde o agente está Em (Agente, [1, 1], S 0 ) • orientação: a direção do agente (em graus) Orientação (Agente, S 0 ) = 0 • localização um passo à frente: função de locais e orientações x, y Próxima. Localização ([x, y ], 0) = [x+1, y ] x, y Próxima. Localização ([x, y ], 90) = [x, y+1 ] x, y Próxima. Localização ([x, y ], 180) = [x-1, y ] x, y Próxima. Localização ([x, y ], 270) = [x, y-1 ] CIn- UFPE
37 Guardando localizações n 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ção. Em. Frente (ag, s) = Próxima. Localização (l, Orientação (ag, s)) n Podemos também definir adjacência: l 1, l 2 Adjacente (l 1, l 2 ) Û d l 1 = Próxima. Localização (l 2, d ) n 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 n 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ção. Em. Frente(ag, s) Ù ØParede(l)) Ú (Em(ag, l, s) Ù a ¹ Avançar)] n 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 n 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) n Sabendo isto o agente pode deduzir: • onde estão os buracos e o Wumpus, e • quais são as cavernas seguras (predicado OK). n Os predicados Ventilado e Fedorento não necessitam do argumento de situação CIn- UFPE
40 Tipos de regras n 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)) n 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 n Existem dois tipos principais de regras síncronas: • Regras Causais • Regras de Diagnóstico CIn- UFPE
41 Modularidade das Regras n 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. n 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 n 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) n Essas regras são gerais, podem ser usadas em situações diferentes: • uma ação arriscada na situação S 0 (onde o Wumpus está vivo) pode ser ótima na situação S 2, quando o Wumpus já está morto. CIn- UFPE
43 Sistema de Ação-Valor n 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 é. n 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 n 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. n Depois de encontrar o ouro, a estratégia deve mudar. . . • novo objetivo: estar na caverna (1, 1) e sair. s Segurando(Ouro, s) Þ Local. Objetivo ([1, 1], s) n 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 ee conseqüências sair das cavernas ações ee conseqüências CIn- UFPE
- Slides: 45