AGENTES 1 Patricia Tedesco O QUE É UM AGENTE? Qualquer 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 entidade (humana ou artificial) explícitos ou implícitos escolhe suas ações em função das suas percepções para atingir seus objetivos 3 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 Onisciência Limitações de: Racionalidade sensores atuadores raciocinador (conhecimento, tempo, etc.) 4 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 Capacidade de adaptação a situações novas Duas implementações (IA): aprendizagem e/ou programação declarativa Essencial em agentes na internet, interfaces amigáveis ... 5 OUTRAS PROPRIEDADES FREQÜENTEMENTE ASSOCIADAS AOS AGENTES Comunicação IA + técnicas avançadas de sistemas distribuídos: & Cooperação (Sociabilidade): 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 ... 6 EXEMPLO: AGENTE DE POLÍCIA raciocínio Agente Conhecimento: - leis - comportamento dos indivíduos,... percepção Ambiente Objetivo: - fazer com que as leis sejam respeitadas execução Ações: - multar - apitar - parar, ... AGENTES 8 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 9 AGENTES: ARQUITETURAS Agente reativo Agente reativo com estado interno Agente cognitivo (baseado em objetivos) Agente otimizador Agente adaptativo autonomia 10 complexidade AGENTES: ARQUITETURAS De forma bem simplificada, um agente pode ser visto como um mapeamento: seqüência perceptiva => ação ambiente sensores Raciocinador Agente modelo do ambiente atuadores 11 AGENTE REATIVO Agente ambiente sensores Como está o mundo agora? Que ação devo escolher agora? Regras “condição-ação” atuadores 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 REATIVO COM ESTADO INTERNO Agente sensores estado: como o mundo era antes ambiente Como está o mundo agora? como o mundo evolui impacto de minhas ações Que devo fazer agora? atuadores Desvantagem: pouca autonomia não tem objetivo, não encadeia regras Ambientes: determinista e pequeno Ex. Tamagotchi Regras “condição-ação” AGENTE COGNITIVO BASEADO EM OBJETIVO ambiente sensores Agente 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 Que devo fazer agora? Objetivos atuadores 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 OTIMIZADOR (UTILITY BASED) Agente sensores estado: como o mundo era antes Como está o mundo agora? ambiente Como ele ficará se faço isto? Este novo mundo é melhor? Que ação devo escolher agora? atuadores Ambiente: sem restrição Desvantagem: não tem adaptabilidade Ex. motorista recifense Segurança e velocidade – conflito! como o mundo evolui qual é o impacto de minhas ações Função de Utilidade AGENTE QUE APRENDE Agente sensores t+1 crítico avaliação ambiente t trocas elemento de elemento de execução (agente) conhecimento aprendizagem t atuadores objetivos de aprendizagem Gerador de problemas Ambiente: sem restrição Vantagem: tem adaptabilidade (aprende) Ex. motorista sem o mapa da cidade 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? AINDA OUTRAS ARQUITETURAS FAMOSAS... 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 DE PÓ O ROBÔ ASPIRADOR Agente recebe: Sujeira Null 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) Ações: 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... Que Desejo Ir para o Mercado escolher? Se resolve ser acadêmico... Se compromete a realizar ações neste sentido Intenções E Procurar Emprego em uma Universidade. o mundo, como está? Crenças Daniel se formou, Daniel pode ser professor 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 causam intenções ações Objetivos: subconjunto consistente dos desejos. Desejos INTENÇÕES Guiam a escolha das Ações Devem ser c onsistente com desejos Devem ser persistentes e crenças 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: O agente para demais para reconsiderar: Perde tempo tentando o impossível! (Xiita) 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) A ARQUITETURA BDI Agente Sensores Ambiente percepções + Estado interno: Crenças, desejos, intenções Como está o mundo agora?Função Revisão de Crenças Que objetivos podem ser alcançados? Que Intenções tenho? ações Atuadores Função de Opção Função Filtro Função de seleção de ações ALGORITMO DO AGENTE BDI Programa Agente BDI t := 0 //contador de tempo enquanto Agente-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 MARCO 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 Diálogo percepções + Estado interno: Crenças (individuais e de grupo), desejos, intenções Revisão de Crenças Como está o mundo agora?Função O povo mudou de idéia? Que objetivos podem ser alcançados? Que Intenções tenho? ações Atuadores Atualizo modelos Função de Opção: faço o povo elaborar as idéias? Função Filtro Função de seleção de ações 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 Sensores Explorar Pegar/largar objetos Avançar random. Ambiente Atuadores 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 se dist(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... 1. 2. 3. 4. 5. 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 1. 2. 3. 4. 5. 6. 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. EM RESUMO... IA E AGENTES IA cresceu muito nos anos 70 modelando a inteligência individual. Advento das redes de computadores modificou as necessidades! Inteligência como a integração dos processos de raciocinar, decidir, aprender e planejar. O Modelo de Agente aparece então como catalisador... DE FATO... Mundo onde informações e conhecimentos crescem (e mudam) rápido demais! O crescimento da Internet trás desafios constantes que incluem: Acesso a informações relevantes Identificação de oportunidades Ação no momento preciso Manipulação de grandes volumes de informação Ubiqüidade, Gerenciamento e Inteligência NO ENTANTO... Vários problemas não podem ser tratados centralizadamente... Por exemplo... Controle de linha de metrô Monitoramento de Redes de Computador Diagnóstico Médico Compra e Venda Como Resolvê-los? INTELIGÊNCIA COLETIVA 57 IA Distribuída UM CENÁRIO... INTELIGÊNCIA COLETIVA Porque pensar a inteligência/racionalidade como propriedade de um único indivíduo? Não existe inteligência ... Em um time de futebol? Em um formigueiro? Em uma empresa (ex. correios)? Na sociedade? Solução: IA Distribuída Agentes simples que juntos resolvem problemas complexos tendo ou não consciência do objetivo global Proposta por Marvin Minsky e em franca expansão... 60 o próprio ambiente pode ser modelado como um agente A IA DISTRIBUÍDA Grupo de Entidades que podem Interagir Organização Ação e Interação Metáfora de inteligência é o Comportamento Social. IA DISTRIBUÍDA: DOIS TIPOS DE SISTEMAS Resolução distribuída de problemas consciência do objetivo global e divisão clara de tarefas Exemplos: Robótica clássica, Busca na Web, Gerência de sistemas distribuídos, ... Sistemas Multi-agentes não consciência do objetivo global e nem divisão clara de tarefas Exemplos: n-puzzle, futebol de robôs, balanceamento de carga, robótica, ... 3 7 4 3 5 7 8 1 4 2 6 5 8 2 1 1 2 3 6 4 5 6 7 8 62 AGENTES EM IA 63 Metodologia (metáfora) para projeto de sistemas AGENTES: METODOLOGIA DE DESENVOLVIMENTO Decompõe problema em: Decompõe tipo de conhecimento em: percepções, ações, objetivos e ambiente (e outros agentes) Quais são as propriedades relevantes do mundo? Como o mundo evolui? Como identificar os estados desejáveis do mundo? Como interpretar suas percepções? Quais as conseqüências de suas ações no mundo? Como medir o sucesso de suas ações? Como avaliar seus próprios conhecimentos? O resultado dessa decomposição indica a arquitetura e o método de resolução de problema (raciocínio) 64 SIMULAÇÃO DE AMBIENTES Às vezes, é mais conveniente simular o ambiente mais simples permite testes prévios evita riscos, etc... O ambiente (programa) recebe os agentes como entrada fornece repetidamente a cada um deles as percepções corretas e recebe as ações atualiza os dados do ambiente em função dessas ações e de outros processos (ex. dia-noite) é definido por um estado inicial e uma função de atualização 65 deve refletir a realidade SIMULAÇÃO DE AMBIENTES função simulaAmbiente (estado, funçãoAtualização,agentes,final) repita para cada agente em agentes faça Percept[agente] := pegaPercepção(agente,estado) para cada agente em agentes faça Action[agente] := Programa[agente] (Percept[agente]) estado := funçãoAtualização(ações, agentes, estado) scores := avaliaDesempenho(scores,agente,estado) //opcional até final Cuidado para não cair em tentação e “roubar” do ambiente a descrição do que aconteceu. Usar a memória do agente! 66 COMO DESENVOLVER UM SOFTWARE INTELIGENTE Projeto: Modelar tarefa em termos de ambiente, percepções, ações, objetivos e utilidade Identificar o tipo de ambiente Identificar a arquitetura de agente adequada ao ambiente e tarefa Implementação: O simulador de ambientes Componentes do agente Testar o desempenho com diferentes instâncias do ambiente 67 PORQUE USAR A METÁFORA DE AGENTES? 1. Fornece metodologias de desenvolvimento de sistemas inteligentes estendendo as de engenharia de software 2. Fornece visão unificadora das várias sub-áreas da IA 3. Ajuda a embutir a IA em sistemas computacionais tradicionais 4. Permite tratar melhor a interação com ambiente 5. Permite tratamento natural da IA distribuída 68 DUAS NOÇÕES FUNDAMENTAIS... Resolução Distribuída de Problemas (RDP) envolve: Um grupo de especialistas Habilidades Complementares Organização Fixa Sistemas Multiagentes (SMA)... Agentes podem preexistir Organização varia em tempo de execução UM SISTEMA MULTIAGENTE Interação Organização Agentes Recurso Esfera de Influência Ambiente DEFININDO SMA Um SMA é um sistema que possui os seguintes elementos: Um ambiente, E Um conjunto de objetos O Um conjunto de Agentes, A (AO) Um conjunto de relações R, que liga objetos Um conjunto de operações Op Operadores que representam os resultados das operações em Op e as reações do ambiente a eles. TROCANDO EM MIÚDOS... Um Sistema Multiagentes ... Consiste de uma coleção de componentes autônomos, com objetivos particulares Que se interrelacionam De acordo com uma Organização Interagindo, negociando e coordenando esforços para resolver tarefas MAS... POR QUE MESMO DISTRIBUIR? Porque o problema é fisicamente distribuído. Porque o problema é heterogêneo. Porque o problema só pode ser resolvido pela integração de pontos de vista locais. Porque precisamos de adaptação a mudanças estruturais... EM RESUMO...É BOA IDÉIA QUANDO... Precisamos manter a autonomia das sub-partes; As interações são complexas Não é possível descrever o Problema a priori. AS VANTAGENS... Maior rapidez na solução dos problemas Diminuição do overhead de comunicação Maior flexibilidade Aumento da Segurança DUAS FORMAS DE PROJETO Organização Emergência de Propriedades Interação Agentes Restrições e Objetivos CONSIDERAÇÕES NO PROJETO DE SMA Três Grandes Grupos... Aspectos Fundamentais Aspectos Arquiteturais Como podemos garantir compatibilidade de ações? Características a serem providas pela arquitetura Aspectos Ambientais Como é o ambiente onde funciona o SMA? ESTRUTURA Padrão de Relações entre os agentes e sua distribuição de habilidades Cobertura: as habilidades necessárias para resolver problemas devem ser possuídas por pelo menos um agente; Conectividade: Agentes devem interagir de forma que suas habilidades possam ser integradas COMUNICAÇÃO Habilita os agentes a intercambiar informações. Percepção Ação Modelada sobre a comunicação humana Atos de Fala Blackboard Tem esforços de padronização! ORGANIZAÇÃO Conjunto de Compromisso Globais, Crenças e intenções comuns aos agentes que querem atingir um objetivo comum. Definem... Um conjunto de diretrizes... Uma política de interação. Muitos exemplos! O CIn Sua Família NEGOCIAÇÃO Esforço para solução de conflitos e cooperação Grupo de agentes “self-interested” que consegue chegar a uma decisão conjunta. Envolve.. Linguagem Protocolo – ex. Contract Net Processo de Decisão COORDENAÇÃO Fundamental para o trabalho conjunto. Um SMA pressupõe coordenação entre seus agentes! Porque... Há dependências entre as ações Nenhum indivíduo pode resolver o problema sozinho Deve-se respeitar as restrições globais Deve-se garantir a harmonia na execução conjunta de tarefas! COORDENAÇÃO... II Então O processo pelo qual um agente raciocina sobre suas ações locais e as de outros agentes para garantir que a comunidade funcione coerentemente. Visa coordenação é... garantir que... Todas as partes necessárias existam na sociedade. Interação que possibilite a execução das atividades. Que todos atuem consistentemente Que tudo seja feito com dos recursos disponíveis COORDENAÇÃO... III Para coordenar com sucesso é preciso... Uma estrutura... Flexibilidade nas interações Comunicação! Negociação! Conhecimento e raciocínio Para reconhecer interações potenciais entre planos de ação! ENTÃO... O FUNDAMENTAL É... Interagir!!! Com quem? Quando? Qual o conteúdo? Como? Que processos e recursos? Por que? Como estabelecer a compreensão mútua? ASSIM... Quando Encarar os SMA? DESIGN DE SMA Quando partir para SMA? Quando o ambiente é aberto; Quando os agentes são a metáfora natural. Quando há distribuição de dados, controle ou expertise. Quando estamos lidando com sistemas legados. CONSIDERAÇÕES EM SMA Ação O indivíduo e sua relação com o mundo Como coordenar ações? Estados mentais Interação Comunicação Negociação/Argumentação Implementação PROBLEMAS NO DESENVOLVIMENTO DE AGENTES Superestimativas do potencial dos agentes. Dogmatismo a respeito dos agentes. Não está claro porque usar agentes. Construção de soluções genéricas para problemas específicos. Desenvolver SMA é desenvolver Software... SMA é software “multithreaded”. E MAIS PROBLEMAS... Seu projeto não explora concorrência. Você resolve adotar sua arquitetura. Seus agentes usam IA demais. Os agentes estão em todos os lugares. Não tem agentes suficientes. A Interação é caótica... OBJEÇÕES A SMA Não é a mesma coisa que SD? Sincronização e Coordenação Dinâmicas Agentes têm interesses próprios!!! Não é IA? SMA têm características de CC e de ES! Em SMA, o aspecto social é fundamental! OBJEÇÕES A SMA... II Não é só teoria dos Jogos? TJ muitas vezes desconsiderou a computação... Hipóteses da TJ são questionadas em SMA O que eu vou fazer com Ciência Social? Ambas servem como ferramentas uma para outra. Mas são bem diferentes!!!! CONCLUSÕES 100 AGENTES NO MAPA DA COMPUTAÇÃO NEM TODO AGENTE É INTELIGENTE! Inteligência Artificial Engenharia de Software Agentes Sistemas Distribuídos 101