360 likes | 469 Views
Plano de Aula. Arquiteturas de Agentes Baseados Em Lógica BDI Reativas A arquitetura de Subsumption. Relembrando. Um agente é... Uma entidade autônoma, que percebe o ambiente através de seus sensores e atua neste através de seus atuadores... Assim... Como decidir que ações realizar?.
E N D
Plano de Aula • Arquiteturas de Agentes • Baseados Em Lógica • BDI • Reativas • A arquitetura de Subsumption
Relembrando... • Um agente é... • Uma entidade autônoma, que percebe o ambiente através de seus sensores e atua neste através de seus atuadores... • Assim... • Como decidir que ações realizar?
Agentes Baseados em Lógica • Comportamento Inteligente = Representação simbólica do ambiente + do comportamento desejado • Formalismo: lógica • Manipulação: dedução lógica • Teoria de agentes (): como os agentes devem se comportar
Agentes Baseados em Lógica • Estados internos dos agentes: fórmulas lógicas • Aberta(válvula221) • Interessante(aulaagentes) • Comportamento do agente: determinado por sua Base de Conhecimento (regras + fatos) • Aquilo que o Agente acredita sobre seu ambiente • Três funções básicas: • See – determina a percepção • Next – atualiza a BC • Action – escolhe a próxima ação
Agente recebe: Sujeira Null Ações: para frente sugar virar Objetivo: mover-se no ambiente buscando e removendo sujeira Três predicados: Em(x.y) Sujeira(x,y) Direção(d) Comportamento do agente função próximo regras de dedução O Robô Aspirador
Agentes Baseados em Lógica • Função ´próximo´: • Analisar as percepções • Atualizar a Base de Conhecimento • remover informações velhas ou irrelevantes • Inferência em várias partes: • velho() = {P(t1,...,tn}/ P {Em, Suj, Dir} & P(t1,...,tn} • Novo: todas as novas posições, direções e possíveis sujeiras • Próximo(,P) = ( \ velho()) Novo(,P)
Algoritmo Básico Função ação_agente-BL (BC):ação Para cada a A faça se BC faça(a) então retorne a para cada a A faça se BC ¬faça(a) então retorne a Retorne null Fim ação_agente-BL
Agentes Baseados em lógica • Regras de dedução: • predicado(termo) predicado(termo) • Ex: Em(0,0) Sujeira(0,0) Faça(sugar) • Problemas com essa abordagem • Como mapear percepções para fórmulas? • Complexidade da prova do teorema • Difícil representar conhecimento procedimental • Ambiente estático!!! Como seria num dinâmico?
Agentes BDI • BDI – Beliefs, Desires, Intentions • Motivação: Raciocínio prático • Processo de Decidir, a cada momento, que ações tomar para chegar mais perto dos objetivos. • Implica • Decidir que objetivos quer realizar • Como vão ser executados esses objetivos • Requer • Três conjuntos de sentenças lógicas: B, D e I • Estes conjuntos são consistentes entre si.
Os Estados Mentais • Crenças: o que se sabe sobre o estado do ambiente e dos agentes • “Recife é ensolarada”. • Desejos: estados do mundo que o agente quer atingir • “Eu gostaria de ganhar 45 milhões de reais • Intenções: Comprometimento com ações para alcançar objetivo • “Vou Ligar para o dentista”
Um Exemplo... • Daniel acabou de se formar... O que fazer? • Virar acadêmico... • Ir para o Mercado • Se resolve ser acadêmico... Se compromete a realizar ações neste sentido Intenções • Procurar Emprego em uma Universidade. • E o mundo, como está? Crenças • Daniel se formou, Daniel pode ser professor Que Desejoescolher?
Desejos • Especificam as preferências dos agentes sobre os estados do ambiente • Podem ser inconsistentes • Eu desejo perder 30 Kg • Gostaria de comer quilos de chocolate suíço • Desejos causam intenções ações • Objetivos: subconjunto consistente dos desejos.
Intenções • Guiam a escolha das Ações • Devem ser c onsistente com desejos e crenças • Devem ser persistentes • Demasiado persistentes. Fazem o agente perder tempo! • Pouco persistentes. Não alcançam nenhum objetivo • É preciso reconsiderar as intenções com alguma frequencia • Ainda é possível realizá-las? • Já foram realizadas? • Seria melhor se comprometer com outra intenção?
Reconsiderando Intenções... P Tempo t=0 Desejo: Atingir o alien Intenção: Aproximar-se de P Crença: o Alien está em P
? Reconsiderando Intenções... Q P Tempo t= 10 Desejo: Atingir o alien Intenção: Aproximar-se de P Crença: o Alien está em P
O Dilema BDI • O agente não para para reconsiderar suas intenções: • Perde tempo tentando o impossível! (Xiita) • O agente para demais para reconsiderar: • Não tem tempo de fazer nada! (Indeciso) • Como encontrar o balanço?
O que o agente BDI tem? • 3 conjuntos de sentenças • Crenças • Desejos • Intenções • 4 Funções • Revisão de Crenças BRF(Bel, BC) • Geração de Intenções Options(Bel, Int) • Função Filtro Filter(Bel, Des, Int) • Função Selecionadora de Ações Execute(Int)
Agente Sensores + Estado interno: Crenças, desejos, intenções percepções Como está o mundo agora? Função Revisão de Crenças Que objetivos podem ser alcançados? Função de Opção A m b i e n t e Que Intenções tenho? Função Filtro Função de seleção de ações ações Atuadores A Arquitetura BDI
Algoritmo do Agente BDI • Programa Agente BDI • t := 0 //contador de tempo • enquantoAgente-BDI vivo, faça • Tell(BC, Percepções-Sentença(percepção,t)) • BRF(Percepcao, BC) • Desejos <- Options(BC, intençao) • intençao <- Filter (Bel, Des, intenção) • ação <- Executa(intenção) • fim
MArCo • Mediador Artificial de Conflitos • Media discussões entre agentes Humanos • Raciocínio BDI/BGI
Um exemplo de interação A. Eu acho que as vendas de natal começam no princípio de novembro B. Por que? Acho que é mais tarde... A. Para dar tempo de fazer propaganda.. B. Ah, ok.
O funcionamento de MArCo MArCo Sensores Estado interno: Crenças (individuais e de grupo), desejos, intenções + percepções Função Revisão de Crenças O povo mudou de idéia? Atualizo modelos Como está o mundo agora? Que objetivos podem ser alcançados? Diálogo Função de Opção: faço o povo elaborar as idéias? Que Intenções tenho? Função Filtro Função de seleção de ações ações Atuadores
Um Exemplo Real... Agentis (Australian Artificial Intelligence Institute) Objetivo. Ajudar no desenvolvimento e manutenção de call centers Ou de portais na internet. • Gera aplicações automáticas para os clientes • Reduz tempo de desenvolvimento e custos • Gera estatísticas de rendimento Utilizado pela companhia de telecomunicações australiana para responder a 98% das chamadas ao sistema de ajuda ao usuário. Sistema comporta 4000 agentes.
Arquiteturas Reativas • Alternativa a representação simbólica • O comportamento do agente é produto de sua interação com o ambiente • Comportamento inteligente emerge da interação entre vários comportamentos mais simples. • Abordagem comportamental, situada, reativa
The Subsumption Architecture • a tomada de decisão é um conjunto de comportamentos realizadores de tarefa. • Cada um é uma função de ação • Neste caso máquinas de estados finitos. • Cada um assume a forma situação ação • Há uma hierarquia de comportamentos • Comportamentos de nível mais baixo inibem os de nível mais alto
O algoritmo Básico Função ação (p:Percepção): ação var disparado: nível; selecionada: ação disparado <- {(cond, ação) } para todo (cond, ação) disparado Se ¬(cond’, ação’) disparado tal que (cond’, ação’) < (cond, ação) return ação return null Fim função ação
A arquitetura de Brooks • Módulos (e organização) definidos pelo designer • Pode ser usada para descrever agentes cognitivos também.
Um Exemplo – Robô explorando ambiente Evitar obstáculos Recarregar Otimizar caminhos Mapear território Explorar Sensores Pegar/largar objetos Atuadores Avançar random. Ambiente
Um exemplo... O objetivo é explorar um planeta distante, para coletar amostras de rocha. Não se sabe onde estão, mas há áreas de maior concentração delas. Vários veículos autônomos estão disponíveis para coletar amostras e depois voltar para a nave-mãe. Há um mapa do planeta disponível, mas o planeta tem vários obstáculos que impedem os veículos de se comunicar.
Para resolver o problema... • Utilização de dois mecanismos... • Campo Gradiente/Potencial • Os objetos do ambiente emitem sinais, cuja intensidade é inversamente proporcional ao objetivo. • U(p) = Uatr(p) + U rep(p) • Uatr(p) = k * dist(p, objetivo)2 • U rep(p) = k’ * 1/dist(p, objetivo)2 sedist(p, objetivo)<distinfl 0 caso contrário • Comunicação Indireta • Fragmentos radioativos são deixados no caminho
Um parêntese... • Outra forma de construir os campos potenciais é alterar o potencial de atração... • Campo dividido em células • Procedure valor(x, v) Se x.potencial não está definido ou v<x.potencial Então x.potencial = v; para todo y vizinho de x valor(y, v+1) Senão faça nada Fim da procedure
Comportamentos Utilizados... • se detectar obstáculo, mude de direção • Se carregar amostras e na base, largue • Se carregar amostras e fora da base, vá na direção do gradiente • Se achar amostra, pegue • Se true, se mova randomicamente
Para assegurar cooperação • se detectar obstáculo, mude de direção • Se carregar amostras e na base, largue • Se carregar amostras e fora da base, largue dois fragmentos e vá na direção do gradiente • Se achar amostra, pegue • Se detectar fragmento, pegue e vá no sentido contrário ao gradiente • Se true, se mova randomicamente
Nem tudo são flores... • O ambiente deve fornecer informação suficiente para os agentes... • mais complicado tomar decisões de longo prazo. • Difícil projetar comportamento emergente. • Difícil construir agentes com muitos comportamentos.