Agentes Cognitivos Autnomos Aula Agentes Baseados em Lgica
Agentes Cognitivos Autônomos Aula: Agentes Baseados em Lógica de 1ª Ordem Flávia Barros Patrícia Tedesco 1
Plano da aula 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 2
Lógica de Primeira Ordem - LPO É um formalismo de referência para representação de conhecimento n o mais estudado e o melhor formalizado Satisfaz em grande parte os seguintes critérios: n adequação representacional w permite representar o mundo (expressividade) n adequação inferencial w permite inferência n eficiência aquisicional w facilidade de adicionar conhecimento n modularidade 3
Engajamento Ontológico Natureza da realidade, descrição do mundo Na Lógica Proposicional, o mundo consiste em fatos. Na Lógica de Primeira Ordem, o mundo consiste em: n objetos: “coisas” com identidade própria w ex. pessoas, casas, Wumpus, caverna, etc. n relações entre esses objetos w ex. irmão-de, tem-cor, parte-de, adjacente, etc. n propriedades (que distinguem esses objetos) w ex. vermelho, redondo, fundo, fedorento, etc. n funções: um ou mais objetos se relacionam com um único objeto w ex. dobro, distância, pai_de, etc. 4
Engajamento Ontológico Além disso, a LPO exprime: n n fatos sobre todos objetos do universo ( ) fatos sobre objetos particulares ( ) Exemplos: n 1+1=2 w objetos: 1, 2; relação: =; função: +. n Todas as Cavernas adjacentes ao Wumpus são fedorentas. w objetos: cavernas, Wumpus; propriedade: fedorento; relação: adjacente. A LPO não faz engajamentos ontológicos para tempo, categorias e eventos. . . n neutralidade favorece flexibilidade 5
Engajamento Epistemológico Estados do conhecimento (crenças) A LPO tem o mesmo engajamento epistemológico que a lógica proposicional n tudo é verdadeiro ou falso Para tratar incerteza, usamos n n Outras lógicas (n-valoradas, fuzzy, para-consistente, etc. ) Probabilidade 6
Resumo 7
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 síncronas causais Teoremas = fatos derivados (axiomas + regras de derivação) diacrônicas de diagnóstico Base de Conhecimento = fatos e regras básicos (só axiomas!) Memória de Trabalho = fatos particulares à instância do problema e fatos derivados Máquina de Inferência = regras de inferência
Propriedades da Inferência Lógica Corretude n gera apenas sentenças válidas Composicionalidade n o significado de uma sentença é função do de suas partes Monotonicidade n Tudo que era verdade continua sendo depois de uma inferência Localidade n inferência apenas comparações locais (porção da BC). Localidade e composicionalidade ---> modularidade ---> reusabilidade e extensibilidade 20
Agentes baseados em LPO 21
Agentes baseados em LPO Representando sentenças no mundo: Pedro possui um cachorro. Todo dono de cachorro é um protetor dos animais. Nenhum protetor dos animais mata um animal. Representando sentenças na Lógica: x cachorro(x) Ù possui(Pedro, x) x y (cachorro(y) Ù possui(x, y)) Þ protetor. Animais(x) x protetor. Animais(x) Ù y animal(y) Þ Ømata(x, y) 22
Agentes baseados em LPO Base de Conhecimento n fatos e regras básicos, gerais, permanentes (só axiomas!) w (x, z) Avó(x, z) Û (y) Mãe(x, y) Ù (Mãe(y, z) Ú Pai(y, z)) Memória de Trabalho n fatos particulares à instância do problema (axiomas) w Pai(Caetano, Zeca), Mãe(Canô, Caetano) n e fatos derivados (teoremas) w Avó(Canô, Zeca) Máquina de Inferência n regras de inferência 23
Relembrando. . . Raciocínio regressivo ou progressivo Primeiros passos 1. Armazenar as regras da BC na máquina de inferência (MI) e os fatos na memória de trabalho (MT) 2. Adicionar os dados iniciais à memória de trabalho 24
Agentes baseados em LPO função Agente-BC(percepção) retorna uma ação Tell(MT, Percepções-Sentença( Tell Percepções-Sentença percepção, t)) ação ¬ Ask(MT, Pergunta-Ação( Ask Pergunta-Ação t)) Tell(MT, Ação-Sentença( Tell Ação-Sentença ação, t)) t ¬t+1 retorna ação Onde. . . n n n MT – memória de trabalho função Pergunta-Ação cria uma query como: a Ação(a, 6) função ASK devolve uma lista de instanciações: {a / Pegar} - Pegar é atribuída à variável ação. n função TELL grava a ação escolhida na memória de trabalho. 25
Agentes baseados em LPO Como a função ASK responde as queries n Quantificador : a resposta é booleana w ASK(BC, Irmã(Betânia, Caetano)) -> true w ASK(BC, x (Irmã(x, Caetano) Ù Cantora(x))) -> false n Quantificador : a resposta é uma lista de instanciações/substituições de variáveis - binding w ASK (BC, x Irmã(x, Caetano)) -> {x/Betânia, x/Irene} w ASK (BC, x (Irmã(x, Caetano) Ù Cantora(x))) -> {x/Betânia} 26
Hipótese do Mundo Fechado Tudo que não estiver presente na base é considerado falso Isto simplifica (reduz) a BC n Ex. Para dizer que a população dos países Nova Zelândia, África do Sul, Irlanda e França gostam do jogo Rugby, não precisa explicitamente dizer que os outros não gostam. . . 27
Agentes LPO para o Mundo do Wumpus 28
Um Agente LPO para o Mundo do Wumpus Interface entre o agente e o ambiente: n sentença de percepções, que inclui as percepções e o tempo (passo) em que elas ocorreram w e. g. : w Percepção ([Fedor, Vento, Brilho, nada(~choque), nada(~grito)], 6) Ações do agente: n Girar(Direita), Girar(Esquerda), Avançar, Atirar, Pegar, Soltar e Sair das cavernas 29
Um Agente LPO para o Mundo do Wumpus Três arquiteturas de Agentes baseados em LPO: n n n Agente reativo Agente com Modelo do Mundo Agente baseado em Objetivo 30
Agente reativo baseado em LPO Possui regras ligando as seqüências de percepções a ações n Essas regras assemelham-se a reações f, v, c, g, t Percepção([f, v, Brilho, c, g], t) Þ Ação(Pegar, t) Essas regras dividem-se entre n n Regras de (interpretação) da percepção v, b, c, g, t Percepção([Fedor, v, b, c, g], t) Þ Fedor (t) f, b, c, g, t Percepção([f, Vento, b, c, g], t) Þ Vento (t) f, v, c, g, t Percepção([f, v, Brilho, c, g], t) Þ Junto-do-Ouro (t). . . Regras de ação t Junto-do-Ouro (t) Þ Ação(Pegar, t) 31
Limitações do agente reativo puro Como já vimos, um agente reativo puro nunca sabe quando parar n estar com o ouro e estar na caverna (1, 1) não fazem parte da sua percepção w se pegou, esqueceu n esses agentes podem entrar em laços infinitos. Para ter essas informações, o agente precisa guardar uma representação do mundo. 32
Agentes LPO com Estado Interno Guardando modelo interno do mundo (MT) n sentenças sobre o estado atual do mundo w “agente está com o ouro” n O modelo será atualizado quando w O agente receber novas percepções e realizar ações w ex. o agente pegou o ouro, . . Questão n Como manter, com simplicidade, o modelo do mundo corretamente atualizado? 33
Representando Mudanças no Mundo Como representar as mudanças? Ex. , “O agente foi de [1, 1] para [1, 2]” 1. Apagar da MT sentenças que já não são verdade n w ruim: perdemos o conhecimento sobre o passado, o que impossibilita previsões de diferentes futuros. 2. Cada estado é representado por uma BC/MT diferente: w ruim: pode explorar situações hipotéticas, porém não pode raciocinar sobre mais de uma situação ao mesmo tempo. n ex. “existiam buracos em (1, 2) e (3, 2)? ” 34
Cálculo Situacional Solução: Cálculo situacional ! n n uma maneira de escrever mudanças no tempo em LPO Permite a representação de diferentes situações na mesma BC/MT Cap 10, pag. 329 do livro novo 35
Cálculo Situacional Predicados que mudam com o tempo têm um argumento adicional de situação (tempo, turno) n n Ao invés de Em(Agente, local) teremos Em(Agente, [1, 1], S 0) Ù Em(Agente, [1, 2], S 1) Predicados que denotam propriedades que não mudam com o tempo não necessitam de argumentos de situação n Parede(0, 1) e Parede(1, 0) 36
Cálculo Situacional O mundo consiste em uma seqüência de situações n situação N ===ação===> situação N+1 Utiliza uma função Resultado para representar as mudanças no mundo: n Resultado (ação, situação N) = situação N+1 37
Exemplo de cálculo situacional Resultado(Forward, S 0) = S 1 Resultado(Turn(Right), S 1) = S 2 Resultado(Forward, S 2) = S 3 38
Representando Mudanças no Mundo Axiomas estado-sucessor Descrição completa de como o mundo evolui n n 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 –ação-, o –ouro-, sit Segurando(o, Resultado(a, s)) Û [(a = Pegar Ù (Junto-do-ouro(s)) Ú (Segurando (o, s) Ù (a ¹ Soltar)] Obs. : Resultado(a, s) = s+1 É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo. 39
Representando Mudanças no Mundo do Wumpus Axiomas estado-sucessor O que muda com o tempo no mundo do Wumpus? n Pegar ouro, localização e orientação do agente Guardando localizações n n n O agente precisa lembrar por onde andou e o que viu para poder deduzir onde estão os buracos e o Wumpus, e para garantir uma exploração completa das cavernas 40
Representando Mudanças no Mundo do Wumpus O agente precisa saber: n localização inicial = onde o agente está Em (Agente, [1, 1], S 0 ) n orientação: a direção do agente (em graus) Orientação (Agente, S 0 ) = 0 n localização um passo à frente: função de locais e orientações x, y Próxima. Localização ([x, y ], 0) = [x+1, y] ], 90) = [x, y+1] ], 180) = [x-1, y] ], 270) = [x, y-1] 41
Representando Mudanças no Mundo do Wumpus A partir desses axiomas, pode-se deduzir que caverna está em frente ao agente “ag” que está na localização “loc”: ag, loc, s Em (ag, loc, s) Þ localização. Em. Frente (ag, s) = Próxima. Localização (loc, Orientação (ag, s)) Assim, a informação sobre a localização em frente ao agente em cada situação fica diretamente disponível na MT 42
Representando Mudanças no Mundo do Wumpus Podemos também definir adjacência: loc 1, loc 2 Adjacente (loc 1, loc 2 ) Û d loc 1 = Próxima. Localização (loc 2, d ) E detalhes geográficos do mapa: x, y Parede([x, y]) Û (x =0 Ú x =5 Ú y =0 Ú y =5) Assim, informações sobre o mapa do ambiente ficam disponível na BC/MT 43
Resultado das ações do agente sobre sua localização Axioma Estado-Sucessor n avançar é a única ação que muda a localização do agente (a menos que haja uma parede) a, loc, ag, s Em(ag, loc, Resultado(a, s)) Û [(a = Avançar Ù loc = localização. Em. Frente(ag, s) Ù ØParede(loc)) Ú (Em(ag, loc, s) Ù a ¹ Avançar)] 44
Resultado das ações do agente sobre sua orientação Axioma Estado-Sucessor n 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))] 45
Deduzindo Propriedades do Mundo Agora que o agente sabe onde está em cada situação, ele pode associar propriedades aos locais: n ag, loc, s Em(ag, loc, s) Ù Vento(s) Þ Ventilado(loc) ag, loc, s Em(ag, loc, s) Ù Fedor(s) Þ Fedorento(loc) Observem que os predicados Ventilado e Fedorento não necessitam do argumento de situação Sabendo isto, o agente pode deduzir: n n onde estão os buracos e o Wumpus, e quais são as cavernas seguras (predicado OK). 46
Tipos de regras Que definem o tipo de sistema construído. . . 47
Tipos de regras Regras Diacrônicas (do grego “através do tempo”) n 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 n n n relacionam propriedades na mesma situação (tempo). loc, s Em(Agente, loc, s) Ù Vento(s) Þ Ventilado(loc) possibilitam deduzir propriedades escondidas no mundo Existem dois tipos principais de regras síncronas: w Regras Causais e Regras de Diagnóstico. 48
Regras síncronas causais Regras Causais assumem causalidade n n algumas propriedades no mundo causam certas percepções. Exemplos w as cavernas adjacentes ao Wumpus são fedorentas : loc 1, loc 2, s Em (Wumpus, loc 1, s) Ù Adjacente(loc 1, loc 2) Þ Fedorento (loc 2) w Se choveu, a grama está molhada n Sistemas que raciocinam com regras causais são conhecidos como Sistemas Baseados em Modelos. 49
Regras síncronas de diagnóstico Regras de Diagnóstico: n n Raciocínio abdutivo: supõe a presença de propriedades escondidas a partir das percepções do agente Ex. , a ausência de fedor ou Vento implica que esse local e os adjacentes estão OK loc 1, loc 2, b, g, c, s Percepção ([nada, b, g, c], s) Ù Em (Agente, loc 1, s) Ù Adjacente(loc 1, loc 2) Þ OK(loc 2) w se a grama está molhada, então é porque o aguador ficou ligado n Sistemas que raciocinam com regras de diagnóstico são conhecidos como Sistemas de Diagnóstico 50
Tipos de regras Atenção: n n Não se deve misturar numa mesma BC regras causais e de diagnóstico!!! se choveu é porque o aguador estava ligado. . . 51
Sistema de Ação-Valor Modularidade das Regras Adequação das regras 52
Modularidade das Regras As regras que definimos até agora não são totalmente modulares n 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 e regras sobre ações de fatos e regras sobre objetivos n assim, o agente pode ser “reprogramado” mudando-se o seu objetivo quando necessário 53
Modularidade das Regras Ações descrevem como alcançar resultados. Objetivos descrevem a adequação (desirability) de estados resultado n não importando como foram alcançados. Assim, descrevemos a adequação das regras e deixamos que a máquina de inferência escolha a ação mais adequada 54
Adequação das Regras Ações podem ser n n ótimas, boas, médias, arriscadas ou mortais. Escala, em ordem decrescente de adequação Assim, pode-se escolher a ação mais adequada para a situação atual n n n meta regras que determinam a prioridade de execução das regras – desempate 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) 55
Adequação das Regras Essas regras são gerais, e podem ser usadas em situações diferentes: n uma ação arriscada na situação S 0 w onde o Wumpus está vivo n pode ser ótima na situação S 2 w quando o Wumpus já está morto Sistema de Ação-Valor n n Sistema baseado em regras de adequação Não se refere ao que a ação faz, mas a quão desejável ela é. 56
Sistema de Ação-Valor Prioridades do agente até encontrar o ouro: n n n 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. 57
Agentes Baseados em Objetivos O conjunto de regras de adequação (ações-valores) é suficiente para prescrever uma boa estratégia de exploração inteligente das cavernas n quando houver uma seqüência segura de ações , ele acha o ouro Depois de encontrar o ouro, a estratégia deve mudar. . . n novo objetivo: estar na caverna (1, 1) e sair. s Segurando(ouro, s) Þ Local. Objetivo ([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 58
Como encontrar seqüências de ações (1) Inferência: n n Idéia: escrever axiomas que perguntam à BC/MT 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 w como distinguir entre boas soluções e soluções mais dispendiosas (onde o agente anda “à toa” pelas cavernas)? 59
Como encontrar seqüências de ações (2) Planejamento n utiliza 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çõesee conseqüências ações sair das cavernas açõesee conseqüências ações 60
Sistemas baseados em conhecimento Principais sistemas de raciocínio declarativos/dedutivos lógica Provadores de teorema regras objetos híbridos Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritiva Sistemas OO Programação em lógica - Prolog Sistemas de produção Sistemas de manutenção da verdade regras+objetos lógica+objetos+funções 61
Proxima aula Regras + OO 62
- Slides: 51