690 likes | 889 Views
Introdução aos Agentes Inteligentes. Aula: Agentes Baseados em Lógica Flávia Barros. Plano de Aula. Mundo do Wumpus Formulação do problema Descrição do Ambiente Arquiteturas dos Agentes Tipos de regras Agente Baseado em Lógica Regras de inferência Transformando conhecimento em ação.
E N D
Introdução aos Agentes Inteligentes Aula: Agentes Baseados em Lógica Flávia Barros
Plano de Aula • Mundo do Wumpus • Formulação do problema • Descrição do Ambiente • Arquiteturas dos Agentes • Tipos de regras • Agente Baseado em Lógica • Regras de inferência • Transformando conhecimento em ação
Wumpus Agente caçador de tesouros Bem-vindos ao “Mundo do Wumpus”
O Mundo do Wumpus: formulação do problema • Ambiente: • paredes, 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 & • voltar à caverna (1,1) com vida
O Mundo do Wumpus: formulação do problema • Percepções: • fedor ao redor do Wumpus • vento ao redor dos buracos • brilho do ouro - apenas na caverna onde ele está • choque contra a parede da caverna • grito do Wumpus quando ele morre
O Mundo do Wumpus: formulação do problema • Ações do agente: • avançar para próxima caverna • girar 90 graus à direita ou à esquerda • pegar o ouro na mesma caverna onde o agente está • atirar na direção para onde está olhando • a flecha pára quando encontra uma parede ou mata o Wumpus • sair da caverna
4 4 3 3 2 2 ok B? ok A CV A B? 1 1 v 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,vento,nada,nada,nada] CV - caverna visitada
4 4 B? A B? W! W! 3 3 f v b A 2 2 CV CV f ok f ok ok ok CV CV CV CV B! B! 1 1 v ok v 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!!! CV - caverna visitada
Mundo de WumpusTipo do ambiente • Parcialmente observável • Determinista • Não-Episódico • Estático • Discreto
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
Mundo de Wumpus Agente puramente reativo • Exemplo de regra de reação • IF percepção = brilho THEN ação = pegar-o-ouro • Limitações do agente reativo puro • 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 parar • 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.
Mundo de Wumpus Agente reativo com estado interno • Regras associando indiretamente percepção com ação pela manutenção de um modelo do ambiente • Ação a realizar agora depende da percepção atual + anteriores + ações anteriores... • Motivação para guardar estado do ambiente • O ambiente inteiro não é acessível no mesmo momento • O agente só vê o interior da caverna quando esta dentro dela • Percepções instantâneas iguais podem corresponder a estados diferentes • ex. o agente sem estado interno não sabe quais são as cavernas já visitadas...
Agente reativo com estado internoTipos de regras – geral... • Além das regras de reação • Sempre precisamos delas... • Precisamos de novas regras para atualização do modelo do ambiente • percepção modelo modelo’ • modelo’ modelo’’ • só quando o modelo se atualiza sozinho (via inferência) • modelo’’ ação • ação modelo’’ modelo’’’
Mundo de Wumpus Agente reativo com estado interno • Regras percepção modelo modelo’ • IF percepçãoVisual no tempo T = brilhoAND localização do agente no tempo T = (X,Y)THEN localização do ouro no tempo T = (X,Y) • Regras modelo modelo’ • 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)
Mundo de Wumpus Agente reativo com estado interno • Regras modelo ação • 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 modelo • IF ação escolhida no tempo T = pegar THEN agente está com o ouro no tempo T+1
Mundo de Wumpus Agente reativo com estado interno • Desvantagens desta arquitetura: • Oferece autonomia, mas não muita • Não tem objetivo explicito • Não pensa no futuro (além da ação imediata) • Ex. pode entrar em loop se as regras não forem bem projetadas
Agente cognitivo (baseado em objetivo) Ambiente Interpretador de percepção Modelo dos ambientespassados e atual Sensores Atualizador do modelodo ambiente Atualizador do objetivos Objetivos Preditorde ambientesfuturos Modelo de ambientes futuros hipotéticos Escolhedor de ação Atuadores
Agente Baseado em Objetivo Funcionamento geral • Associação entre percepção e ação • Mediada por modelo do ambiente e objetivo do agente • Pode envolver encadear regras para construir plano multi-passo necessário para atingir objetivo a partir de modelo • Ex. matar o Wumpus para poder atravessar a caverna onde ele esta e então pegar o ouro (objetivo)
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: • 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 • ex. pegar o ouro pelo caminho mais curto, seguro, rápido • Agente baseado em utilidade (próximos capítulos...)
Agente Baseado em Objetivo Regras objetivo modelo ação - I • O agente escolhe um caminho para o objetivo • 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-NAND sabe que localidade (X,Y) é segura no tempo T-NTHEN escolha ação Vá-para (X,Y) via (X,Y-1)
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 • 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 TTHEN escolha ação Vá-para (X,Y)
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)” • 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
Sistema Formal em LPO Cálculo= Cálculo de Predicados Teoria Teoremas =fatos derivados Axiomas =fatos+ regras do problema Linguagem = LPO Regras de derivação = regras de inferência síncronas diacrônicas sintaxe + semântica causais 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!
Regras de Inferência • a/bdiz 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 unitária: • Resolução:
Propriedades da Inferência Lógica • Corretude • gera apenas sentenças válidas • Composicionalidade • o significado de uma sentença é função do de suas partes • Monotonicidade • Tudo que era verdade continua sendo depois de uma inferência • Localidade • inferência apenas com comparações locais (porção da BC). • Localidade e composicionalidade ---> modularidade ---> reusabilidadee extensibilidade
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))ÞprotetorAnimais(x) "x protetorAnimais(x)Ù"y animal(y)ÞØmata(x,y)
Agentes baseados em LPO • Base de Conhecimento • fatos e regras básicos, gerais, permanentes (só axiomas!) • "(x,z) Avó(x,z) Û $(y) Mãe(x,y) Ù (Mãe(y,z) Ú Pai(y,z)) • Memória de Trabalho • fatos particulares à instância do problema (axiomas) • Pai(Caetano,Zeca), Mãe(Canô, Caetano) • e fatos derivados (teoremas) • Avó(Canô, Zeca) • Máquina de Inferência • regras de inferência
Hipótese do Mundo Fechado • Tudo que não estiver presente na base é considerado falso • Isto simplifica (reduz) a BC • Ex. Para dizer que os brasileiros e argentinos gostam de futebol, não precisa explicitamente dizer que os outros não gostam...
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, Vento, Brilho, nada(~choque), nada(~grito)], 6) • Ações do agente: • Girar(Direita), Girar(Esquerda), Avançar, Atirar, Pegar, Soltar e Sair das cavernas
Um Agente LPO para o Mundo do Wumpus • Três arquiteturas de Agentes baseados em LPO: • Agente reativo • Agente com Modelo do Mundo • Agente baseado em Objetivo
Agente reativo baseado em LPO • Possui regras ligando as seqüências de percepções a ações • 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 • 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)
Limitações do agente reativo puro • Como já vimos, um agente reativo puro nunca sabe quando parar • 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.
Agentes LPO com Estado Interno • Guardando modelo interno do mundo (MT) • sentenças sobre o estado atual do mundo • “agente está com o ouro” • O modelo será atualizado quando • O agente receber novas percepções e realizar ações • ex. o agente pegou o ouro,.. • Questão • Como manter, com simplicidade, o modelo do mundo corretamente atualizado?
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 • ruim: perdemos o conhecimento sobre o passado, o que impossibilita previsões de diferentes futuros. 2. Cada estado é representado por uma BC/MT 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)?”
Cálculo Situacional • Solução: Cálculo situacional ! • 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
Cálculo Situacional • Predicados que mudam com o tempo têm um argumento adicional de situação (tempo, turno) • 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 • Parede(0,1) e Parede(1,0)
Cálculo Situacional • O mundo consiste em uma seqüência de situações • situação N ===ação===> situação N+1 • Utiliza uma função Resultado para representar as mudanças no mundo: • Resultado (ação,situação N) = situação N+1
Exemplo de cálculo situacional Resultado(Forward,S0) = S1 Resultado(Turn(Right),S1) = S2 Resultado(Forward,S2) = S3
Representando Mudanças no Mundo 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 –ação-,o –ouro-,sitSegurando(o, Resultado(a,s)) Û [(a = Pegar Ù (Junto-do-ouro(s)) .: RÚ (Segurando (o,s) Ù (a ¹ Soltar)] Obsesultado(a,s) = s+1 • É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo.
Representando Mudanças no Mundo do Wumpus Axiomas estado-sucessor • O que muda com o tempo no mundo do Wumpus? • Pegar ouro, localização e orientação do agente • 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, e • para garantir uma exploração completa das cavernas
Representando Mudanças no Mundo do Wumpus • 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]
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çãoEmFrente (ag,s) = PróximaLocalizaçã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
Representando Mudanças no Mundo do Wumpus • Podemos também definir adjacência: loc1,loc2 Adjacente (loc1,loc2 ) Û • $ d loc1 = PróximaLocalização (loc2,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
Resultado das ações do agente sobre sua localização • Axioma Estado-Sucessor • 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çãoEmFrente(ag,s) ÙØParede(loc)) Ú (Em(ag,loc,s) Ù a ¹ Avançar)]
Resultado das ações do agente sobre sua orientação • Axioma Estado-Sucessor • 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))]
Resultado das ações do agente sobre sua orientação • Axioma Estado-Sucessor • 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))]