A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes Baseados em Lógica

Apresentações semelhantes


Apresentação em tema: "Agentes Baseados em Lógica"— Transcrição da apresentação:

1 Agentes Baseados em Lógica

2 Bem-vindos ao “Mundo do Wumpus”
Agente caçador de tesouros

3 Codificação do Mundo do Wumpus
1 2 3 4 início fedor A brisa B W brisa, luz O A - Agente W - Wumpus B - Buraco O - Ouro

4 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

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] 1 2 3 4 ok A 1 2 3 4 ok A V b B? V - caverna visitada

6 Raciocinando e Agindo no Mundo do Wumpus
Estando em (2,2), o agente move-se para (2,3) e encontra o ouro!!! 1 2 3 4 ok A f V b B! W! 1 2 3 4 ok A f V b B! W! f b l B?

7 Mundo de Wumpus Tipo de ambiente Tipo de agente?
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

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

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)”

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: 1 2 3 4 ok A f V b B! W Ø f Ø b1-1 Ø f b2-1 f Ø b1-2 V - caverna visitada

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-1 Þ Ø W1-1 Ù Ø W1-2 Ù Ø W2-1 R2: Ø f2-1 Þ Ø W1-1 Ù Ø W2-1 Ù Ø W2-2 Ù Ø W3-1 R3: Ø f1-2 Þ Ø W1-1 Ù Ø W1-2 Ù Ø W2-2 Ù Ø W1-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-2 Þ W1-3 Ú W1-2 Ú W2-2 Ú W1-1

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. (2) usando regras de inferência!

13 Lógica Proposicional: Regras de Inferência
Modus Ponens: E-eliminação: E-introdução: Ou-introdução: Eliminação de dupla negação: Resolução unidade: Resolução: a/b diz que a sentença b pode ser derivada de a por inferência.

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-1 e R1, obtemos: Ø W1-1 Ù Ø W1-2 Ù Ø W2-1 2. Aplicando E-eliminação a (1), obtemos três sentenças isoladas: Ø W Ø W Ø W2-1 3. Aplicando Modus Ponens a Ø f2-1 e R2, e em seguida aplicando E-eliminação obtemos: Ø W Ø W Ø W Ø W3-1 4. Aplicando Modus Ponens a f1-2 e R4, obtemos: W1-3 Ú W1-2 Ú W2-2 Ú W1-1

15 Como Encontrar o Wumpus - Inferência!
5. Aplicando Resolução Unidade, onde a é W1-3 Ú W1-2 Ú W2-2 e b é W1-1 obtemos (do passo 2, temos Ø W1-1): W1-3 Ú W1-2 Ú W2-2 6. Aplicando Resolução Unidade, onde a é W1-3 Ú W1-2 e b é W2-2 obtemos: W1-3 Ú W1-2 7. Aplicando Resolução Unidade, onde a é W1-3 e b é W1-2 obtemos: W1-3 !!!

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.

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

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

19 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.

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

21 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

22 Resumo

23 Agentes Baseados em Conhecimento Dedutivo: Arquitetura
sensores Agente efetuadores a m b i e n t e Base de Conhecimento Máquina de Inferência (Raciocínio) Mecanismo de Aprendizagem - opcional Tell Ask Tell - adiciona novas sentenças à BC Ask - consulta a BC

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.

25 LPO em agentes baseados em conhecimento
Representação do mundo lógica inicial lógica atualizada Mecanismo de inferência Conhecimento de Lógica 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)

26 Sistema Formal em LPO Cálculo = Cálculo de Predicados Teoremas Teoria
= fatos derivados (axiomas + regras de derivação) Axiomas = fatos + regras Linguagem = LPO Regras de derivação = regras de inferência Síncronas Diacrônicas sintaxe + semântica 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}

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

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)

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.

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,..

32 Representando Mudanças no Mundo: abordagens
“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

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

34 Exemplo de cálculo situacional
Result(Forward,S0) = S1 Result(Turn(Right),S1) = S2 Result(Forward,S2) = S3

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.

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 ]

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)

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))]

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

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

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.

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.

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.

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.

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)?

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 e conseqüências sair das cavernas


Carregar ppt "Agentes Baseados em Lógica"

Apresentações semelhantes


Anúncios Google