Arquitetura de Sistemas Multiagentes Pontifícia Universidade Católica do Paraná PPGIA - Fundamentos de Software Prof Alcides Calsavara Prof Edson Scalabrin Joel Carlos V. Reinhardt Arquitetura de Sistemas Multiagentes Principais Artigos A Roadmap of Agent Research and Development Katia Sycara Michael J. Wooldridge Nicholas R. Jennings Agent Theories, Architectures, and Languages: A Survey Michael J. Wooldridge Nicholas R. Jennings Organização de Sistemas Multiagentes Jomi Fred Hübner Jaime Simão Sichman Sistemas Multiagentes Agentes autônomos e sistemas multiagentes representam um novo caminho para análise, projeto e implementação de complexos sistemas de software. Agentes têm sido usados em uma crescente variedade de aplicações desde sistemas comparativamente pequenos, como os filtros pessoais de e-mail, até sistemas complexos e críticos como no controle de tráfego aéreo. Sistemas Multiagentes Sistemas multiagentes são melhor aplicados para representar problemas que possuem: múltiplos métodos de resolução, múltiplas perspectivas e/ou múltiplas entidades resolvendo o problema. Estes sistemas possuem as vantagens tradicionais de resolução concorrente e distribuída de problemas com a vantagem adicional de sofisticados padrões de interações. Metáfora Natural de Sistemas Multiagentes Um formigueiro Time de Trabalho Sistema de controle de válvulas do motor de combustível líquido dos ônibus espaciais Sistemas Multiagentes O AGENTE Um agente pode ser uma entidade física ou virtual que pode atuar, perceber seu ambiente ( de forma parcial) e comunicar-se com outros. É autônomo e possui habilidades para atingir seus objetivos e tendências. Ele está em um sistema multiagente que contém um ambiente, objetos, agentes (que são os únicos a atuar), relacionamentos entre todas as entidades e um conjunto de operações que podem ser realizadas pelas entidades e modificações do ambiente durante o tempo e devido as ações dos agentes. Jacques Ferber (Les systèmes multi-agents: Vers une intelligence collective, 1995) Sistemas Multiagentes O AGENTE Um agente é um sistema computacional situado em algum ambiente capaz de realizar ações autônomas e flexíveis para atingir os seus objetivos de projeto Jennings, N. R.;Wooldridge M. A., (Intelligent agents: Theory and practice 1995 ). Agentes Autonomia: Flexibilidade: Situado no Ambiente: Agentes Situado no Ambiente: recebe sinais de sensores em seu ambiente e pode produzir ações que modificam o seu ambiente de alguma forma. Agentes Autonomia: habilidade de realizar ações sem a intervensão de humanos ou de outros agentes, e possuir controle sobre suas próprias ações e estados internos capacidade de aprender com a experiência Agentes Flexibilidade: -reativo : os agentes percebem seu ambiente e respondem prontamente as modificações que ocorrem nele. -pró-ativo: os agentes não somente respondem ao meio mas possuem a habilidade de exibir um comportamento oportunista direcionado ao objetivo e tomar iniciativa quando apropriado. ? -socialvel: os agentes devem ser capazes de interagir, quando apropriado, com outros agentes artificiais ou com humanos para resolver problemas ou ajudar em suas atividades. Agentes Área de Contribuição para os Agentes: Inteligência Artificial Programação Orientada a Objetos e Sistemas baseados em Objetos Interface Homem-máquina Agentes Inteligência Artificial Área de Concentração: Mecanismos da inteligência aprender raciocinar resolver problemas visualizar entendimento ... Compreensão dos mecanismos do comportamento inteligente Agentes Inteligência Artificial Sistemas Intencionais Atitudes de Informação Pró-Atitudes Crenças Conhecimento Desacordo Intenção Obrigação Acordo Escolha Agentes Inteligência Artificial Os sistemas multiagentes são diretamente influenciados pela sociologia Deixam de ter atenção iniciativas de compreender e simular o comportamento humano isoladamente mental ( Inteligência Artificial simbolista ) neural ( Inteligência Artificial conexionista ) foco de atenção para a forma de interação entre as entidades que formam o sistema ( chamados de agentes) e sua organização. Estudo da Coletividade Agentes Inteligência Artificial Um padrão típico de planejamento de Inteligência Artificial: modelo simbólico do ambiente especificação simbólica de ações que podem ser realizadas representação de um objetivo um algoritimo de planejamento definir um planejamento de como o agente deve agir para atingir seu objetivo. Agentes Inteligência Artificial Linhas de Pesquisa: comportamento inteligente emerge das interações de diversas entidades com comportamentos elementares orientados por simples regras de situação - ação comportamento é entendido através da atribuição de atitudes como crenças, intensões, desacordos e assim por diante. Arquitetura Belief-Desire-Intention (BDI) Programação Orientada ao Agente (estados Mentais) Agentes Objeto Orientação ao Objeto Objetos podem ser definidos como entidades computacionais que encapsulam algum estado, são habilitados a realizar ações, ou métodos sobre este estado e comunicar através de mensagem. A diferença entre agentes e objetos existe quanto a decisão de realizar uma ação Objeto Método Agente Enquanto nos objetos a tomada de decisão reside em um método, no caso dos agentes ela é colocada sobre o agente que é requisitado para tomar esta decisão Comportamento Autônomo Flexível (pró-atividade, reatibilidade, sociabilidade) Controle é interno no agente Objetos realizam ações de graça, Agentes fazem por dinheiro. Arquiteturas de Sistemas Multiagentes Arquitetura do AGENTE Arquitetura da Organização do SMA Agentes Exemplo de Arquitetura Banco de dados de Memória Programa do Papel em Uso (Simulações e Avaliações, Ações e Métodos) Banco de dados de Crenças e contexto ( Elementos de Gestalt, BDI) Entrada de informações entradas de comunicação Programa de Planejamento de IA (Funções lógicas ) Atuadores do meio ambiente e sensores canais de interface Saída de informações saídas de comunicação Agente Agente Agentes Programa de Planejamento de IA (Funções lógicas ) Arquitetura É o programa que regula o funcionamento lógico do agente e faz o controle entre os demais programas de funcionamento. No programa de planejamento de Inteligência Artificial é definido mecanismos para avaliar os ganhos e perdas que o agente tem com cada ação realizada. Agentes Programa do Papel em Uso (Simulações e Avaliações , Ações e Métodos) Arquitetura Este módulo define o comportamento do agente atuando em um determinado papel. Para cada papel existe um conjunto de funções pré programadas. Agentes Crenças e contexto ( Elementos de Gestalt, BDI) Arquitetura Neste módulo são armazenadas informações das simulações mais relevantes já realizadas, e o comportamento do sistema de acordo com o contexto naquela situação. (Aprendizado) Agentes Banco de dados de Memória Arquitetura Neste módulo são avaliadas as ações tomadas e o histórico recente do sistema. Aqui são avaliadas as informações relevantes ao aprendendizado do agente. Agentes Atuadores do meio ambiente e sensores Arquitetura Este módulo é responsável pela formatação dos sinais dos sensores e dos sinais de atuadores. Aqui ocorre a interface entre o meio ambiente e o agente. Agentes Arquitetura Entrada de informações Neste módulo são controladas as comunicações recebidas e enviada para outros agentes. Estes módulos são diretamente influenciados pela arquitetura do sistema multiagente Saída de informações Agentes ! *&&! @#%%# *&&! ¨%? Arquitetura Agentes Reativos: São agentes que escolhem suas ações baseados unicamente nas percepções que têm do ambiente. Este tipo de agentes possuem as seguintes propriedades: Agentes Cognitivos: São agentes que possuem a capacidade de construir um plano de ações que leva a um objetivo pretendido. Ou seja, funcionam racionalmente. Agentes Arquitetura Arquiteturas Deliberativas Inteligência Artificial Simbólica Arquiteturas Reativas não incluem qualquer modelo simbólico do ambiente não realizam raciocínios simbólicos complexos o comportamento inteligente emerge das interações entre os agentes. Arquiteturas Híbridas Agentes Arquiteturas Deliberativas Agentes Planejadores o projeto detalhado do curso de ações quando executar quais resultados serão atingidos para algum objetivo desejado A arquitetura de Agentes Planejadores baseada no Inteligência Artificial de Planejamento do Comportamento. Agentes Arquiteturas Deliberativas Bratman, Israel & Pollack— IRMA uma biblioteca de planos explícita representação de crenças, desejos e intensões raciocinador analisador de significados finais analisador de oportunidades filtro de processo deliberador de processo Agentes Arquiteturas Deliberativas Vere & Bickmore — Homer habilidades linguísticas (800 palavras em inglês) capacidade de planejamento e ação Agentes Arquiteturas Reativas Brooks — Linguagem Comportamental Arquitetura de Subordinação comportamento inteligente pode ser gerado sem a explícita representação de Inteligência Artificial Simbólica, sem um explícito raciocínio abstrato. O comportamento inteligente é uma propriedade que emerge em certos sistemas complexos Agentes Arquiteturas Reativas Agre & Chapman — Pengi decisões são rotineiras estrutura de baixo nível, como um circuito digital, necessitando apenas de pequenas manutenções periódicas para executar novos tipos de problemas Agentes Arquiteturas Reativas Rosenschein & Kaelbling — Autômato Situacional lógica do conhecimento Agentes Arquiteturas Reativas Connah & Wavish — ABLE Agent Behaviour Language,(ABLE) licensas Quêm? Quando? O quê? Como? Com qual recurso? Agentes Arquiteturas Híbridas Georgeff & Lansky — PRS Procedural Reasoning System (PRS) biblioteca de planos representação simbólica de crenças, desejos e intenções Usado no controle das válvulas do sistema de combustível do ônibus espacial, onde uma ação imediata deve ser tomada e após isto é feito uma análise da causa da falha e possíveis soluções para o problema. Agentes Arquiteturas Híbridas Ferguson — TouringMachines camada reativa produz caminhos potenciais de ações em resposta a eventos que são muito rápidos conjunto de regras situação-ação. camada de planejamento planejador mecanismo de focalização de atenção camada de modelamento representação simbólica do estado cognitivo de outras entidades no ambiente. resolver conflitos de objetivos Percepção da Organização A percepção da organização de um sistema multiagente se processa de quatro maneiras: Cognitivo Reativo Centrada no Agente Centrada na Organização AR O agente reage ao ambiente, sem levar em consideração outros aspectos. ex Formigueiro AC O agente percebe o ambiente, e toma ações de acordo com o seu aprendizado. ex Torcida OR O agente realiza ações de acordo com as ordens de outros agentes superiores diretos na hierarquia. O agente não conhece toda a organização, nem sabe seus planos. ex. Serviço de Espionagem OC O agente realiza ações de acordo com as ordens de outros agentes superiores na hierarquia, mas também leva em consideração se a ordem está ou não colaborando com as metas organizacionais. O agente conhece toda a organização e conhece as metas da sociadade. ex. Hierarquia em Empresas Organização Quatros aspectos devem ser considerados em sistemas multiagentes: os agentes a interação entre eles o ambiente sua organização Níveis de Decisão Comunicação Relacionamentos Arquiteturas de Sistemas Multiagentes Matriz Vantagens: Proporciona maior compartilhamento de recursos e a interdependência dos agentes. Desvantagens: Potencializa conflitos entre os agentes na busca das suas necessidades individuais, por isso, necessita uma maior sofisticação dos agentes. Arquiteturas de Sistemas Multiagentes Matriz Arquiteturas de Sistemas Multiagentes Times Vantagens: Maior campo de atuação e proporciona a coesão entre os agentes. Desvantagens: Redução da comunicação. Arquiteturas de Sistemas Multiagentes Times Arquiteturas de Sistemas Multiagentes Hierarquia Vantagens: Proporciona maior controle das ações e facilidade na decomposição do problema. Desvantagens: Potencial congestionamento dos canais de comunicação, gargalos e atrasos nas tomadas de decisão. Arquiteturas de Sistemas Multiagentes Hierarquia Arquiteturas de Sistemas Multiagentes Federação Vantagens: Ação coordenada entre os agentes, proporciona a translação de serviços na arquitetura e a dinâmica dos agentes da base. Desvantagens: Potencial congestionamento dos canais de comunicação, gargalos e atrasos nas tomadas de decisão nos níveis intermediários de decisão. Arquiteturas de Sistemas Multiagentes Federação Arquiteturas de Sistemas Multiagentes Congregação Vantagens: Facilita a percepção de cada agente. Desvantagens: Os cenários devem ser muito restritos. Arquiteturas de Sistemas Multiagentes Congregação Arquiteturas de Sistemas Multiagentes Coalisão Vantagens: Explora de melhor maneira o número de agentes. Apenas se forma quando existe necessidade, se desfazendo após a solução do problema para a qual ela foi formada. Desvantagens: Para pequenos benefícios o custo da construção da organização é demasiadamente pesado. Arquiteturas de Sistemas Multiagentes Coalisão Arquiteturas de Sistemas Multiagentes Hologarquia Vantagens: Proporciona maior autonomia individual para a tomada das ações e a descentralização do controle operacional. Desvantagens: Dificuldade em predizer a performance. Arquiteturas de Sistemas Multiagentes Hologarquia Arquiteturas de Sistemas Multiagentes Composição Vantagens: Explora os benefícios de diversos estilos de organização. Desvantagens: Necessita de mais sofisticação e contém as deficiênicias dos diversos estilos utilizados. Arquiteturas de Sistemas Multiagentes Composição Arquiteturas de Sistemas Multiagentes Normas Sociais Sociedade Vantagens: É aberta a entrada de novos agentes, é um sistema de longa vida e as convenções são bem definidas. Desvantagens: Potencialmente complexa e os agentes devem possuir capacidades adicionais de relacionamento social. Arquiteturas de Sistemas Multiagentes Sociedade Arquiteturas de Sistemas Multiagentes Centrada no Agente Modelo MANTA (Drogoul et al.) SMA Cognitivo (Werner) Estrutura Elemento Central Organizacional Agentes (Reativos) Papéis (Agentes Cognitivos) Emergente Formada por um conjunto de Papéis Papel Funcionamento da Sociedade Não Existe Determinado pela implementação dos agentes Os papéis são restrições ao estado mental do Agente Determinado indiretamente pelas restrições aos estados mentais dos agentes Arquiteturas de Sistemas Multiagentes Centrada na Organização Modelo AALAADIN (Ferber e Gultknecht TAEMS (Decker) Estrutura Elemento Central Organizacional Papéis Tarefas É um conjunto de grupos que desempenham determinado papel A estrutura é definida pelas tarefas e as relações entre elas Papel Funcionamento da Sociedade Os papéis são funções sociais O funcionamento da sociedade é definido internamente nos agentes O papel é uma restrição sobre a visão que o agente tem das tarefas O funcionamento é definido pelas tarefas ( E a Visão subjetiva dos agentes) Arquiteturas de Sistemas Multiagentes Híbridas Modelo MOISE (Hannoun et al.) TOVE (Fox et al.) Estrutura Elemento Central Organizacional Papéis, Metas, Obrigações Papéis Formada por divisões entre papéis, metas e obrigações que formam grupos sociais voltado a um objetivo. Papel O papel é um conjunto de especificações que um agente aceita para entrar em um grupo e realizar uma tarefa ou receber uma obrigação. Funcionamento da Sociedade O funcionamento é determinado por metas globais que induzem a formação de grupos Papel é um conjunto Formada por divisões de metas, processos, O funcionamento é e sub-divisões, determinado por metas autoridades, agentes, papéis sociais e pelos processos habilidades, e metas sociais associados aos papéis recursos. Os papéis são relacionados hierarquicamente. Conclusões A organização de sistemas multiagentes é um novo desafio para promover a interação com outros sistemas, satisfazer as necessidades dos ambientes onde são implantados e promover o conhecimento de como cada agente é individualmente afetado em seu trabalho dentro das necessidades de aplicações de grande escala, como citam Odell, J.; Parunak, H.; Fleischer, M. (2003, p.1). Corkill, D.; Lander, S. E. (1998) comentam que o projeto da organização de sistemas multiagentes de grande escala é um aspecto que deve ser considerado em dois níveis: na estrutura organizacional e no comportamento e estrutura individual de cada agente. Com a melhoria da competência individual de cada agente, a estrutura organizacional, e sua implementação, tornou-se fundamental para o sucesso de desenvolvimento dos sistemas multiagentes. Como cita Corkill, D.; Sims, M.; Lesser, V. (2004, p.1, p.7), deve-se promover pesquisas e a reavaliação de processos para explorar de forma mais efetiva o conhecimento sobre as organizações e continuar a acrescentar conhecimentos sobre técnicas de coordenação dos agentes, bem como a especificação dos papéis de coordenação. A habilidade em criar e manter efetivas organizações multiagentes é a chave para o desenvolvimento de sistemas de grande escala com grande diversidade de ambientes. A determinação de como a organização é controlada, os objetivos de longo prazo, os papéis executados pelos diversos agentes, o desenvolvimento e manutenção da organização são fatores que propiciam o detalhamento operacional e controle das decisões individuais de cada agente. Com estas linhas de referência organizacionais é possível reduzir a complexidade de cada agente em tomar decisões, reduzir o custo de alocação de recursos e coordenação do sistema, limitar o comportamento indesejado dos agentes e reduzir a necessidade de comunicação no sistema multiagentes. Joel Reinhardt Referências Bibliográficas R. A. Brooks. Intelligence without reason. Proceedings of the Twelfth International Joint Conference on Artificial Intelligence (IJCAI-91), Sydney, Australia, 1991, pp. 569–595. Corkill, Daniel; Sims, Mark; Lesser, Victor. Separating Domain and Coordination in Multi-agent Organizational Design and Instantiation. University of Massachusetts, Amherst, USA, 2004, p.1, p.7 Corkill, Daniel D.; Lander, Susan E, 1998. Diversity in Agent Organizations. Object Magazine, maio 1998. p.41-47. Fernandes, Alessandro Votto. Inteligência Artificial Distribuída. Universidade Católica de Pelotas, Pelotas, 2003. Disponível em: < http:// ww.teses.usp.br/teses/ disponiveis/ 18/18137/tde-06032002-131951/>. Acesso em: 27.07.2004. Horling,Bryan; Lesser, Victor, 2001. A Survey of Multi-Agent Organizational Paradigms. Multi-Agent Systems Lab, Departament of Computer Science, University of Massachusetts, Amherst, USA, 2001 Jacques Ferber. Les systèmes multi-agents: Vers une intelligence collective, Inter Editions, Paris,1995 Jennings, N. R.; Sycara K. ;Wooldridge M. A., 1998. Roadmap of Agent Research and Development. Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers, 1998,vol. 1, no1, p. 7-18. Jennings, N. R.; Wooldridge M. A., 1995. Intelligent agents: Theory and practice. The Knowledge Engineering Review, vol 10, no2,p.115-152. Y. Shoham. Agent-oriented programming. Artificial Intelligence, vol. 60(1) pp. 51–92, 1993. Odell, James; Parunak, H. Van Dyke; Fleischer, Mitchell, 2003. The Role of Roles in Designing Effective Agent Organizations. James Odell Associates, Ann Arbor, Michigan, USA, 2003, p.1. Disponível em: < http:// www.jamesodell.com >. Acesso em: 08.08.2004 Alvares, L.O. e Sichman, J. S. Introdução aos Sistemas Multiagentes. In Medeiros, C. M. B., editor, Jornada de Atualização em Informática (JAI´97), cap. 1, pag. 1-38. UnB, Brasília, 1997 Lemaître, C.; Excelente, C. B. Multi-agent organizational approach. In Garijo, F. J. ; Lamaître, C. editors, Proceedings of II Iberoamerican Workshop on DAI and MAS, 1998 Hübner, J. F. Migração de agentes em sistemas multiagentes abertos. Dissertação de mestrado, CPGCC da UFRGS, Porto Alegre.1995. Disponível em http:/www.inf.furb.br/~jomi/pubs/dissertacao/dissertacao.pdf Pattison, H. E.; Corkill, D. D.; Lesser, V. R. Instantiating Description of organizational structures. In Huhns, M. N., editor, Distributed Artificial Intelligence, vol.1 , cap. 3, pag. 59-96. Morgan Kaufmann, Londres, 1987