Comunicação entre Agentes Bibliografia: Jacques Ferber, Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, Addison-Wesley, 1999. Weiss, G. - Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, The MIT Press, 1999. (Capítulo 2, Multiagent Systems and Societies of Agents ). Bradshaw, J. M. - Software Agents, AAAI Press, 1997. (Capítulo 14, KQML as an Agent Communication Language ). 1
Comunicação entre Agentes Também: W. Brenner, R. Zarnekow and H. Wittig, Intelligent Software Agents: Foundations and Applications, Springer-Verlag, 1988 Jennings, N. R. - Cooperation in industrial multi-agents systems, World Scientific, 1994. Russel. S. e Norvig, P. - Artificial Intelligence: a Modern Approach, Prentice Hall, 1994. 2
1. Introdução à IA Distribuída 3
Cenário 1 O sistema central de controlo de tráfego aéreo em Megalopolis entrou hoje em colapso em resultado das condições meteorológicas que se têm vindo a verificar nos últimos dias. Felizmente, os sistemas similares dos aeroportos vizinhos depois de entrarem em negociações conseguiram assumir o controlo dos vôos de e para Megalopolis, evitando potenciais acidentes aéreos na região. 4
Cenário 2 Após ter feito logging no computador, o Assistente Pessoal Inteligente (API) apresenta ao utilizador uma lista de novos artigos disponíveis na INTERNET. O API chama a atenção em particular para um artigo descrevendo um trabalho novo sobre um assunto relacionado com aquele sobre o qual o utilizador vem investigando. Depois de ter estado em contacto com outros APIs, este obteve um relatório técnico por FTP descrevendo esse novo trabalho em antecipação do seu interesse para o utilizador. 5
Cenário 3 Está a editar um ficheiro quando é interrompido pelo seu API pedindo atenção para uma mensagem de email que chegou notificando-o sobre a aceitação de um artigo que enviou para uma importante conferência e que o API correctamente previu que queria ler logo que possível. Como o artigo foi aceite, o API tomou entretanto a iniciativa, sem o questionar, de tratar dos preparativos para a deslocação à conferência. Consultou um conjunto de bases de dados, bem como outras fontes de informação em rede. Passado um curto espaço de tempo é-lhe apresentado um sumário das opções de viagem com uma melhor relação qualidade preço. 6
Algumas Características dos Agentes Autonomia O agente actua sem intervenção directa do ser humano ou de outras entidades e tem um determinado grau de controlo sobre as suas acções e estados internos. Capacidade Social O agente interactua com outros agentes (e possivelmente com humanos) através de uma linguagem de comunicação entre agentes. 7
Algumas Características dos Agentes (cont cont.) Reactividade O agente percepciona o mundo em que actua (ex.: mundo físico; conjunto de outros agentes; a INTERNET ) e responde em tempo útil a modificações nesse mundo. Pro-actividade O agente não reage simplesmente em resposta ao seu mundo, mas exibe também capacidade de actuar em função de objectivos, tomando a iniciativa. 8
Cenário 1 O sistema central de controlo de tráfego aéreo em Megalopolis entrou hoje em colapso em resultado das condições meteorológicas que se têm vindo a verificar nos últimos dias. Felizmente, os sistemas similares dos aeroportos vizinhos depois de entrarem em negociações conseguiram assumir o controlo dos vôos de e para Megalopolis, evitando potenciais acidentes aéreos na região. Agente Reactivo reconhece o perigo Agente Social colabora com outros agentes Agente Pro-activo no sentido de resolver o problema Agente Autónomo sem a intervenção de seres humanos 9
Cenário 2 Após ter feito logging no computador, o Assistente Pessoal Inteligente (API) apresenta ao utilizador uma lista de novos artigos disponíveis na INTERNET. O API chama a atenção em particular para um artigo descrevendo um trabalho novo Reactivo sobre um assunto relacionado com aquele sobre o qual o utilizador vem investigando. O agente reconhece a importância de um artigo Depois de ter estado em contacto com outros APIs, Autónomo este obteve um relatório técnico por FTP descrevendo esse novo trabalho sem questionar o utilizador em antecipação do seu interesse para o utilizador. Pro-activo toma a decisão de procurar obter um relatóriosobre o trabalho descrito no artigo Social a partir de outros agentes 10
Cenário 3 Agente Reactivo colabora com outros agentes Está a editar um ficheiro quando é interrompido pelo seu API pedindo atenção Agente Pro-activo para uma mensagem de email que chegou notificando-o sobre a aceitação no sentido de resolver o de um artigo que enviou para uma importante conferência problema e que o API correctamente previu que queria ler logo que possível. Agente Autónomo Como o artigo foi aceite, o API tomou entretanto a iniciativa, sem sem a o intervenção questionar, de seres de tratar dos preparativos para a deslocação à conferência. humanos Consultou um conjunto de bases de dados, bem como outras fontes de informação em rede. Passado um curto espaço de tempo é-lhe apresentado um sumário das opções de viagem com uma melhor relação qualidade preço. O agente reconhece situação importante Agente Social 11
Porquê pretender distribuir a inteligência? Os problemas estão fisicamente distribuidos. Ex.: redes de telecomunicações; redes de energia, redes de controlo de tráfego. Os problemas são funcionalmente distribuidos e heterogéneos Ex.: a concepção de um automóvel envolve competências distribuidas por vários especialistas - motorização; estrutura do chassis; comportamento dinâmico; etc As redes impõem uma visão distribuída. Ex.: INTERNET; mobilidade informática; sistemas abertos 13
Porquê pretender distribuir a inteligência? A complexidade dos problemas impõe visão local Ex.: regulação do tráfego aéreo Os sistemas devem poder adaptar-se às alterações estruturais e ambientais Ex.: alterações no sistema de operação; rede; organização de informação A concepção de programas caminha no sentido da construção de unidades de sw autónomas e interactuantes Ex: programação orientada por objectos -> orientada por agentes 14
Categorias de Agentes Inteligentes Agentes Inteligentes Agentes humanos (ex.: agente de seguros) Agentes de Hardware (ex.: robots) Agentes de Software Agentes de Informação Agentes de Cooperação Agentes de Transacção 15
Características dos Agentes Inteligentes 16
Uma Classificação Núm. de Agentes de Agentes Sistema multiagente Agente isolado estacionário Grau de Inteligência simples complexo móvel Mobilidade 17
Agente de Informação Núm. de Agentes Sistema multiagente Agente isolado estacionário Grau de Inteligência simples complexo móvel Mobilidade 18
Agente de Cooperação Núm. de Agentes Sistema multiagente Agente isolado estacionário Grau de Inteligência simples complexo móvel Mobilidade 19
Agente de Transacção Núm. de Agentes Sistema multiagente Agente isolado estacionário Grau de Inteligência simples complexo móvel Mobilidade 20
Sub-Áreas da IAD IA Distribuída IA Paralela Resolução de Problemas Distribuída Sistemas Multi-Agente 22