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
Download

Joel Reinhardt - Arquitetura de SMA