950 likes | 1.12k Views
Agentes. Patricia Tedesco. O que é um Agente?. Qualquer entidade (humana ou artificial) que: está imersa ou situada em um ambiente (físico, virtual/simulado) percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado ,...)
E N D
Agentes Patricia Tedesco
O que é um Agente? • Qualquer entidade (humana ou artificial) que: • está imersa ou situada em um ambiente(físico, virtual/simulado) • percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado,...) • age sobre ele através de atuadores (ex. vídeo, auto-falante, impressora, braços, ftp, ...) • possui objetivos próprios • explícitos ou implícitos • escolhe suas ações em função das suas percepções para atingir seus objetivos
O que é um Agente Racional • Agente Racional • faz a melhor coisa possível • segue o princípio da racionalidade: • dada uma seqüência perceptiva, o agente escolhe, segundo seus conhecimentos, as ações que melhor satisfazem seu objetivo • Racionalidade ¹ Onisciência • Limitações de: • sensores • atuadores • raciocinador (conhecimento, tempo, etc.)
Propriedades associadas aos Agentes • Autonomia de raciocínio (IA): • Requer máquina de inferência e base de conhecimento • Essencial em sistemas especialistas, controle, robótica, jogos, agentes na internet ... • Adaptabilidade (IA): • Capacidade de adaptação a situações novas • Duas implementações • aprendizagem e/ou programação declarativa • Essencial em agentes na internet, interfaces amigáveis ...
Outras propriedades freqüentemente associadas aos Agentes • Comunicação & Cooperação (Sociabilidade): • IA + técnicas avançadas de sistemas distribuídos: • Protocolos padrões de comunicação, cooperação, negociação • Raciocínio autônomo sobre crenças e confiabilidade • Arquiteturas de interação social entre agentes • Essencial em sistemas multi-agente, comércio eletrônico, ... • Personalidade: • IA + modelagem de atitudes e emoções • Essencial em entretenimento digital, realidade virtual, interfaces amigáveis ...
Exemplo: Agente de Polícia raciocínio Agente • Ações: • - multar • - apitar • - parar, ... • Objetivo: • - fazer com que as leis sejam respeitadas • Conhecimento: • - leis • - comportamento dos indivíduos,... percepção execução Ambiente
Agentes Algoritmo Básico e Arquiteturas
Agentes: Algoritmo básico • função agenteSimples (percepção) retorna ação memória := atualizaMemória (memória, percepção) ação := escolheMelhorAção(memória) memória := atualizaMemória (memória, ação) retorna ação
Agentes: Arquiteturas • Agente reativo • Agente reativo com estado interno • Agente cognitivo (baseado em objetivos) • Agente otimizador • Agente adaptativo autonomia complexidade
Agente sensores a m b i e n t e modelo do ambiente Raciocinador atuadores Agentes: Arquiteturas • De forma bem simplificada, um agente pode ser visto como um mapeamento: • seqüência perceptiva => ação
sensores Como está o mundo agora? a m b i e n t e Regras “condição-ação” Que ação devo escolher agora? atuadores Agente Reativo Agente • Vantagens e desvantagens • Regras condição-ação: representação inteligível, modular e eficiente • ex. Se velocidade > 60 então multar • Não pode armazenar uma seqüência perceptiva, pouca autonomia • Ambientes: • Reflexo imprescindível em ambientes dinâmicos • Acessível, episódico, pequeno
Agente sensores estado: como o mundo era antes Como está o mundo agora? como o mundo evolui impacto de minhas ações a m b i e n t e Regras “condição-ação” Que devo fazer agora? atuadores Agente reativo com estado interno • Desvantagem: pouca autonomia • não tem objetivo, não encadeia regras • Ambientes: determinista e pequeno • Ex. Tamagotchi
Agente sensores estado: como o mundo era antes Como está o mundo agora? como o mundo evolui Como ele ficará se faço isto? impacto de minhas ações a m b i e n t e Que devo fazer agora? Objetivos atuadores Agente cognitivo - baseado em objetivo • Vantagens e desvantagens: • Mais complicado e ineficiente, porém mais flexível, autônomo • Não trata objetivos conflitantes • Ambientes: determinista • ex.: xeque-mate no xadrez
Agente sensores estado: como o mundo era antes Como está o mundo agora? como o mundo evolui Como ele ficará se faço isto? ambiente qual é o impacto de minhas ações Este novo mundo é melhor? Que ação devo escolher agora? Função de Utilidade atuadores Agente otimizador (utility based) • Ambiente: sem restrição • Desvantagem: não tem adaptabilidade • Ex. motorista recifense • Segurança e velocidade – conflito!
Agente que aprende Agente t+1 sensores crítico • Ambiente: sem restrição • Vantagem: tem adaptabilidade (aprende) • Ex. motorista sem o mapa da cidade avaliação t trocas elemento de execução (agente) elemento de aprendizagem conhecimento a m b i e n t e objetivos de aprendizagem t Gerador de problemas atuadores
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
O Robô Aspirador • 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
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