Introduo aos Agentes Inteligentes Aula Agentes Baseados em
Introdução aos Agentes Inteligentes Aula: Agentes Baseados em Lógica Flávia Barros 1
Plano de Aula Mundo do Wumpus n n n Formulação do problema Descrição do Ambiente Arquiteturas dos Agentes Tipos de regras Agente Baseado em Lógica n n Regras de inferência Transformando conhecimento em ação 2
Bem-vindos ao “Mundo do Wumpus” Wumpus Agente caçador de tesouros 3
O Mundo do Wumpus: formulação do problema Ambiente: n paredes, Wumpus, cavernas, buracos, ouro Estado inicial: n n agente na caverna (1, 1) com apenas uma flecha Wumpus e buracos em cavernas quaisquer Objetivos: n n pegar a barra de ouro & voltar à caverna (1, 1) com vida 4
O Mundo do Wumpus: formulação do problema Percepções: n fedor ao redor do Wumpus n vento ao redor dos buracos n brilho do ouro - apenas na caverna onde ele está n choque contra a parede da caverna n grito do Wumpus quando ele morre 5
O Mundo do Wumpus: formulação do problema Ações do agente: n avançar para próxima caverna n girar 90 graus à direita ou à esquerda n pegar o ouro na mesma caverna onde o agente está n atirar na direção para onde está olhando w a flecha pára quando encontra uma parede ou mata o Wumpus n sair da caverna 6
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 1 o movimento, com a seqüência de percepções [nada, vento, nada, nada] 4 4 3 3 2 1 2 ok A ok ok 1 2 1 3 4 CV - caverna visitada ok B? CV ok 1 v A ok 2 B? 3 4 8
Raciocinando e Agindo no Mundo do Wumpus Estando em (2, 2), o agente move-se para (2, 3) e encontra o ouro!!! 4 B? W! 3 W! A A 2 f CV ok 1 CV CV v ok 4 3 2 1 f ok CV ok 1 ok v CV ok 2 B! 3 4 ok 1 CV - caverna visitada B? fvb 2 B! 3 4 9
Mundo de Wumpus Tipo do ambiente Parcialmente observável Determinista Não-Episódico Estático Discreto 10
Mundo de Wumpus Arquiteturas do agente Agente puramente reativo Agente reativo com estado interno (autômato) Agente cognitivo (baseado em objetivos) Agente otimizador Agente adaptativo 11
Mundo de Wumpus Agente puramente reativo Exemplo de regra de reação n IF percepção = brilho THEN ação = pegar-o-ouro Limitações do agente reativo puro n um agente ótimo deveria: w recuperar o ouro ou w determinar que é muito perigoso pegar o ouro e w em qualquer dos casos acima, voltar para (1, 1) e sair da caverna. n Um agente reativo nunca sabe quando parar w estar com o ouro e estar na caverna (1, 1) não fazem parte da sua percepção (se pegou, esqueceu). w esses agentes podem entrar em laços infinitos. 12
Mundo de Wumpus Agente reativo com estado interno Regras associando indiretamente percepção com ação pela manutenção de um modelo do ambiente n Ação a realizar agora depende da percepção atual + anteriores + ações anteriores. . . Motivação para guardar estado do ambiente n O ambiente inteiro não é acessível no mesmo momento w O agente só vê o interior da caverna quando esta dentro dela n Percepções instantâneas iguais podem corresponder a estados diferentes w ex. o agente sem estado interno não sabe quais são as cavernas já visitadas. . . 13
Agente reativo com estado interno Tipos de regras – geral. . . Além das regras de reação n Sempre precisamos delas. . . Precisamos de novas regras para atualização do modelo do ambiente n percepção modelo’ n modelo’’ w só quando o modelo se atualiza sozinho (via inferência) n n modelo’’ ação modelo’’’ 14
Mundo de Wumpus Agente reativo com estado interno Regras percepção modelo’ n IF percepção. Visual no tempo T = brilho AND localização do agente no tempo T = (X, Y) THEN localização do ouro no tempo T = (X, Y) Regras modelo’ n IF agente está com o ouro no tempo T AND localização do agente no tempo T = (X, Y) THEN localização do ouro no tempo T = (X, Y) 15
Mundo de Wumpus Agente reativo com estado interno Regras modelo ação n IF localização do agente no tempo T = (X, Y) AND localização do ouro no tempo T = (X, Y) THEN ação escolhida no tempo T = pegar Regras ação modelo n IF ação escolhida no tempo T = pegar THEN agente está com o ouro no tempo T+1 16
Mundo de Wumpus Agente reativo com estado interno Desvantagens desta arquitetura: n n n Oferece autonomia, mas não muita Não tem objetivo explicito Não pensa no futuro (além da ação imediata) w Ex. pode entrar em loop se as regras não forem bem projetadas 17
Agente cognitivo (baseado em objetivo) Sensores Interpretador de percepção Ambiente Atualizador do modelo do ambiente Atualizador do objetivos Modelo dos ambientes passados e atual Objetivos Preditor de ambientes futuros Atuadores Escolhedor de ação Modelo de ambientes futuros hipotéticos 18
Agente Baseado em Objetivo Funcionamento geral Associação entre percepção e ação n n Mediada por modelo do ambiente e objetivo do agente Pode envolver encadear regras para construir plano multipasso necessário para atingir objetivo a partir de modelo w Ex. matar o Wumpus para poder atravessar a caverna onde ele esta e então pegar o ouro (objetivo) 19
Agente Baseado em Objetivo Funcionamento geral Capaz de lidar com os 5 tipos de regras do agente reativo com estado interno, além de 2 novos tipos de regras: n n Regras: objetivo modelo ação Regras: objetivo modelo objetivo’ Trata o objetivo explicitamente e pode pensar no futuro!!!! Porém. . . não trata objetivos conflitantes n n ex. pegar o ouro pelo caminho mais curto, seguro, rápido Agente baseado em utilidade (próximos capítulos. . . ) 20
Agente Baseado em Objetivo Regras objetivo modelo ação - I O agente escolhe um caminho para o objetivo n IF objetivo do agente no tempo T é estar na localidade (X, Y) AND agente está em (X-1, Y-1) no tempo T-N AND sabe que localidade (X, Y-1) é segura no tempo T-N AND sabe que localidade (X, Y) é segura no tempo T-N THEN escolha ação Vá-para (X, Y) via (X, Y-1) 21
Agente Baseado em Objetivo Regras objetivo modelo ação - II O agente pode variar a escolha conforme o objetivo, como não matar o wumpus para pegar logo o ouro n IF objetivo do agente é pegar o ouro AND agente está em (X-1, Y) no tempo T AND sabe que o ouro está na localidade (X, Y) AND sabe que localidade (X, Y) é segura no tempo T AND sabe que o Wumpus está na localidade (X-1, Y+1) no tempo T AND sabe que o agente tem uma flecha no tempo T THEN escolha ação Vá-para (X, Y) 22
Agente Baseado em Objetivo Regras objetivo modelo objetivo’ Se o agente queria estar com o ouro e conseguiu, atualizar objetivo para “ir para (1, 1)” n IF objetivo do agente no tempo T é estar com o ouro no tempo T+N AND agente está com o ouro no tempo T+1 THEN atualize o objetivo do agente no tempo T+1 para objetivo = (1, 1) no tempo T+M 23
Lógica de Primeira Ordem 24
Sistema Formal em LPO Cálculo = Cálculo de Predicados Linguagem Regras de derivação = LPO = regras de inferência sintaxe + semântica Teoria Teoremas Axiomas = fatos derivados = fatos + regras do problema síncronas causais 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
Como Raciocinar ? (1) Construindo a Tabela-Verdade (para mundos muito pequenos) (2) Usando regras de inferência! 27
Regras de Inferência Modus Ponens: E-eliminação: a/b diz que a sentença b pode ser derivada de a por inferência. E-introdução: Ou-introdução: Eliminação de dupla negação: Resolução unitária: Resolução: 28
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 29
Agentes baseados em LPO 30
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) 31
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 32
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 os brasileiros e argentinos gostam de futebol, não precisa explicitamente dizer que os outros não gostam. . . 33
Agentes LPO para o Mundo do Wumpus 34
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 35
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 36
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) 37
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. 38
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? 39
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)? ” 40
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 41
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) 42
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 43
Exemplo de cálculo situacional Resultado(Forward, S 0) = S 1 Resultado(Turn(Right), S 1) = S 2 Resultado(Forward, S 2) = S 3 44
Representando Mudanças no Mundo Axiomas estado-sucessor Descrição completa de como o mundo evolui 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)). : RÚ (Segurando (o, s) Ù (a ¹ Soltar)] Obsesultado(a, s) = s+1 n É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo. 45
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 46
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] 47
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 48
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 49
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)] 50
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))] 51
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))] 52
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). 53
Mais tipos de regras Que definem o tipo de sistema construído. . . 54
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. 55
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. 56
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 57
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. . . 58
Sistema de Ação-Valor Modularidade das Regras Adequação das regras 59
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 60
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 61
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) 62
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 é. 63
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. 64
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 65
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)? 66
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 67
- Slides: 65