Sistemas
Multi-agente
Luis Moniz Aula 0
Objectivos
•
Assistentes pessoais
•
Animação
•
Jogos
•
Processamento e busca de informação
•
Gestão automática de redes
Aplicar o paradigma dos sistemas
Introdução
•
Tópicos a abordar
o
Arquitecturas de agentes
o
Agências e comunidades
o
Comunicação, protocolos e linguagens
o
Organizações, estruturas e papéis
o
Cooperação, coordenação e planeamento
Um pouco de
história
•
1956: Dartmouth - Nascimento da IA como ramo da
ciência da computação
•
1987: Pengui: An Implementation of a Theory of Activity
•
1987: Intention, Plans and Practical Reasoning
•
1991: Intelligence without representation
•
1993: Spec of KQML Agent-Communication language
•
1996: Linguagem Telescript da General Magic
•
1996: Fundação da FIPA
...ainda mais
história
•
1ª Conferência de IAD (International Workshop on Distributed Artificial
Intelligence) nos EUA em 1980 (após uma reunião preparatória no MIT em
1979).
•
Na Europa, a Worshop MAAMAW realizou-se pela primeira vez em 1989,
e após o lançamento do tema num painel presidido por Helder Coelho na
Conferência Europeia de Inteligência Artificial, ECAI-88.
•
A primeira reunião internacional e bianual à escala mundial, a ICMAS,
realizou-se pela primeira vez em 1995 nos EUA.
•
A Workshop sobre Agent Theories, Architectures, and Languages (ATAL) é
lançada na Conferência Europeia de IA (ECAI) em 1994.
•
E, finalmente, a Conferência Internacional Agents (Autonomous Agents ou
AA), realizou-se de 1997 a 1999 nos EUA e em 2000 pela primeira vez na
Europa.
•
Em 2002, a ICMAS juntou-se à AA para lançar a conferência AAMAS (em
2002 em Bolonha, 2003 em Melbourne, 2004 em Nova Iorque,…, 2008 no
Estoril, …, 2015 em Istambul).
… linhas de
investigação
...e um Agente?
“Agente é aquele que opera”
“Tudo o que age”
“Aquele que é encarregue dos negócios
de outrem”
mais concreto
"
Software agents
are software components that
communicate with their peers by exchanging
messages in an expressive agent communication
language." (Genesereth e Ketchpel, 1994)
"An agent is anything that can be
viewed
as
perceiving its environment through sensors and
acting upon that environment through
effectors." (Russel e Norvig, 1995)
Ou por capacidades
"Intelligent agents continuously perform three
functions:
perception
of dynamic conditions in the
environment
;
actions
to effect the conditions in the
environment
and
reasoning
to interpret perceptions,
solve problems, draw inferences, and determine
estrutura básica
Mais uma propriedade
dos agentes: são
situados
‘An agent is a computer system that is
situated
in some
environment, and that is capable of
autonomous
action
in this environment in order to meet its
design objec-
tives
’. (Wooldridge 2002)
alternativamente
•
"An agent is the fundamental actor in a domain. It
combines one or more service capabilities into a
unified and integrated execution model which can
include access to external software, human users and
communication facilities." (a definição da FIPA)
•
"An agent is a computational system that inhabits a
complex, dynamic environment. An agent can sense,
and act on its environment, and it has a set of goals or
motivations that it tries to achieve through these
… e mais
•
"An agent is a program that a person or an
organization vests its authority, that can run
unattended for a long time and that can meet and
interact with other agents. The person or organization
is the agent´s authority." (White, 1994)
•
"Along with mobility, agents have the following
computational characteristics: autonomous;
asynchronous; local interaction; parallel execution and
object passing." (IBM Aglets White paper, 1997)
… ainda mais
•
"Most often, the term agent is used to refer to an entity
that functions continuously and autonomously in an
environment in which other processes take place and
other agents exist." (Shoham, 1994)
•
"In hope of demystifying the term, we enumerate a list
of characteristics that have been proposed as
desirable agent qualities: autonomous (goal-oriented,
collaborative, flexible); temporal continuity; character;
communicative; adaptive and mobile." (Etzioni, 1994)
Arquiteturas
•
Todas estas definições não nos dizem praticamente
nada da forma como os agentes vão ser.
•
Não ajudam muito a saber como os contruir.
•
Alternativamente os agentes podem ser
um Agente
Inteligente é…
•
Situado – existe num ambiente.
•
Autónomo – independente, sem controlo externo.
•
Reactivo – responde a mudanças que ocorram no
ambiente.
•
Pró-activo – tenta atingir os seus objectivos de uma forma
persistente.
•
Flexível – possuir múltiplas formas de atingir os objectivos.
•
Robusto – recupera a partir das suas falhas.
•
Social
– interage com outros agentes.
•
Racional - não deve realizar acções absurdas.
Agentes vs
Objectos
• Objectos são entidades computacionais que
encapsulam um estado, realizam acções e comunicam
por mensagens
• Mas não têm
• autonomia ou controle sobre o seu comportamento
• pró-actividade, reactividade, sociabilidade
Sistemas Multi-agente
•
Mais preocupações
o
Comunicação e Interacção
o
Protocolos, Linguagens e Ontologias
o
Comunidades/Agências
o
Estrutura e Papeis
o
Cooperação
o
Objectivos conjuntos e Planeamento
There's no such thing as a
Coisas mais
práticas
•
Como desenhar agentes?
o
Usar uma metodologia.
•
GAIA, PROMETHEUS,...
•
Como construir agentes?
o
Usar uma ferramenta de desenvolvimento
•
Como executar agentes?
o
Usar um ambiente de suporte à execução
•
Como fazer debug?
•
Como lançar em produção?
Desenvolvimento de agentes isolados
Acaba por não fazer muito sentido
Desenvolvimento e suporte a SMAs
Existem algumas...
...escolher como ?
Alternativas
• [Software] Borah, Kallol (2005) A Software Agent platform for Ubiquitous computing. [Other]
• [Software] David, Sislak and Michal, Pechoucek (2004) A-globe: multi-agent platform with inaccessibility and mobility support. [Other]
• [Software] Astley, M. and Clausen, T.H. (2000) Actor Foundry. [Educational]
• [Software] Horn, E. and Hauert, A. (1999) ADE. [Other]
• [Software] Adventnet, (2003) AdventNet Agent Toolkit. [Other]
• [Software] Agentbuilder, (2001) Agent Builder. [Other]
• [Software] Collier, Rem and Ross, Robert and O'Hare, Gregory (2000) Agent Factory. [Other]
• [Software] O'Hare, G. (2003) Agent Factory. [Educational]
• [Software] Forte, (2004) Agent Newsreader. [Other]
• [Software] Gray, B. (1997) Agent Tcl. [Educational]
• [Software] Ishida, T. (1997) AgenTalk. [Educational]
• [Software] Eriksson, J. (1999) AgentBase. [Other]
• [Software] Laclavik, Michal (2005) AgentOWL - Agents with OWL ontology models using JADE agent system and Jena. [Other]
• [Software] AgentSheets, (2002) AgentSheets. [Other]
• [Software] Silva, A. and da Silve, M.M. and Delgado, J. (2000) AgentSpace. [Educational]
• [Software] DeLoach, S.A. (2001) agentTool. [Educational]
• [Software] AgentWare, (2001) AgentWare. [Other]
• [Software] Munich University of Technology, (2005) Agilo. [Other]
• [Software] IBM, (2002) Aglets. [Other]
• [Software] KazTrix corporation, (2001) AI agent. [Other]
• [Software] ISTC-CNR, and noze, and Gianguglielmo, C. and Giovanni, P. (2005) Akira. [Other]
• [Software] Zapf, M. and Herrmann, K. (2004) Ametas. [Other]
• [Software] Amzi!, (2003) Amzi! Prolog + Logic Server. [Other]
• [Software] Dale, J. and Knottenbelt, J. (2004) April Agent Platform. [Other]
Alternativas
• [Software] Busetta, P. and Kotagiri, R. (1998) BDIM agent toolkit. [Other]
• [Software] Toshiba, (2002) Bee-Gent. [Other]
• [Software] Botbox, (2004) Botbox. [Other]
• [Software] BotQL, (2003) BotQL. [Other]
• [Software] Sierhuis, Maarten (1992) Brahms. [Other]
• [Software] Martin, P. and Gordon, R. and Pockney, M. (1999) Cable. [Other]
• [Software] Comet Way, (2003) Comet Way Agent Kernel. [Other]
• [Software] Cirad, (2004) Cormas. [Other]
• [Software] Various, (2004) Cougaar. [Other]
• [Software] Dartmouth college, (2002) D'agents. [Other]
• [Software] Graham, J.R. and Decker, K. (2004) Decaf. [Other]
• [Software] Dejima Inc., (2002) Dejima. [Other]
• [Software] BT, (2004) Diet. [Other]
• [Software] Emorphia, (2004) Emorphia. [Other]
• [Software] Epiphany, (2004) Epiphany. [Other]
• [Software] Ericsson, (2003) Erlang. [Other]
• [Software] Omicron Group, (2003) Evo. [Other]
• [Software] Nareyek, A. (2004) Excalibur. [Other]
• [Software] Gandra de Sousa, P.A. (2001) Fabricare. [Other]
• [Software] Emorphia, (2003) FIPA-OS. [Other]
• [Software] Noriega, P. (2000) FishMarket. [Other]
• [Software] IKV technologies AG, (2003) Grasshopper. [Other]
• [Software] Technical University of Vienna, (2000) Gypsy. [Other]
• [Software] CHI Software, (2003) iGen. [Other]
Alternativas
• [Software] University of Iowa, (2004) Infospiders. [Other]
• [Software] Universidad Complutense de Madrid, (2003) Ingenias. [Other]
• [Software] Gomez-Sanz, Jorge and Pavon, Juan and Fuentes, Ruben (2002) INGENIAS Development Kit. [Other]
• [Software] IIA Barcelona, (2004) Islander. [Other]
• [Software] CoCo Software Engineering GmbH, (2000) J-seal 2. [Other]
• [Software] The agent oriented software group, (2004) Jack. [Other]
• [Software] Telecom Italia Lab, (2004) Jade. [Other]
• [Software] University of Cincinnati, (1997) Jafmas. [Other]
• [Software] Phelps, S. (2004) JASA. [Other]
• [Software] Bordini, R. and Hübner, J.F. (2004) Jason. [Other]
• [Software] Jeon, H. and Petrie, C. and Cutkosky, M.R. (1999) JATLite. [Other]
• [Software] McKinlay, B. and Moreale, E. (1998) JatLiteBean. [Other]
• [Software] Fujitsu, and Sun, and IBM, and Hewlett Packard, and Spawar, and InterX, and Institute of Human and Machine
Cogtnition, and Comtec, and Verizon, (2000) Java Agent Services API (JAS). [Other] • [Software] HP Labs, (2004) Jena. [Other]
• [Software] Friedman-Hill, E. (2004) Jess. [Other]
• [Software] Technische Universität Berlin, (2003) Jiac. [Other]
• [Software] Sun Microsystems, (2004) Jini. [Other]
• [Software] Stanford University, (2002) Jtp. [Other]
• [Software] Struve, D. (2003) Kaariboga. [Other]
• [Software] University of Kahlsruhe, (1999) KAMEL and KOMET. [Other]
• [Software] University of Florence, (2002) Klaim. [Other]
• [Software] Cororation for National Research Initiatives, (1998) Knowbot. [Other]
• [Software] Tilab, (2002) Leap. [Other]
Alternativas
• [Software] Spenser, Clive (2005) LPA Agent Toolkit. [Educational]
• [Software] Logic Programming Associates, (2005) LPA Agent Toolkit. [Other]
• [Software] Carnegie Mellon University, and University of Southern California, (2004) MACHINETTA. [Other]
• [Software] Gutknecht, O. (2003) Madkit. [Other]
• [Software] Intelligence Science, (2003) MAGE. [Other]
• [Software] Magenta Technology, (2004) Magenta multi-agent platform. [Other]
• [Software] Gorodetsky, V. (2004) MASDK. [Other]
• [Software] MAS Lab, (2005) MASS. [Other]
• [Software] Jacomino, A. (2000) Massyve. [Other]
• [Software] Iglesias, C.A. (1999) Mast. [Other]
• [Software] Abdelkader, G. (2003) MIC* Framework. [Other]
• [Software] Microsoft, (2004) Microsoft Agent. [Other]
• [Software] Salzburg Research, (2005) MIDP Agents. [Other]
• [Software] Campbell, A.T. (1998) Mobiware. [Other]
• [Software] Ginot, V. (2000) Mobydic. [Other]
• [Software] Beugnard, A. and Phan, D. (2001) Moduleco. [Other]
• [Software] Mozart Consortium, (2003) Mozart. [Other]
• [Software] Picco, G.P. (2000) Mucode. [Other]
• [Software] Gulyás, L. and Kozsik, T. and Fazekas, S. (2000) Multi-Agent Modeling Language. [Other]
• [Software] Wilkins, D. (1998) Multiagent Planning Architecture (MPA). [Other]
• [Software] LogiLab, (2002) Narval. [Other]
• [Software] SRI international, (2003) Open Agent Architecture. [Other]
• [Software] Intelligent Automation Incorporated, (2004) OpenCybele. [Other]
• [Software] Fujitsu Laboratories, (2000) Pathwalker. [Other]
Alternativas
• [Software] Ishida, T. (2003) Q language. [Other]
• [Software] Burse, J. (2000) Quicksilver. [Other]
• [Software] University of Chicago, (2004) Repast. [Other]
• [Software] Sycara, K. (2003) Retsina. [Other]
• [Software] Hübner, J.F. and Sichman, J.S. (2001) Saci. [Other]
• [Software] Wallis, S. (1997) SDML. [Other]
• [Software] Roth, V. (2004) Semoa. [Other]
• [Software] Klügl, F. (2004) Sesam. [Other]
• [Software] Università degli Studi di Modena e Reggio Emilia, and CNA SERVIZI Modena s.c.a.r.l, and Università degli Studi di Roma
"La Sapienza", and Rheinisch Westfaelische Technische Hochschule Aachen, and Thinking Networks AG, and IBM Italia SPA, and Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein, and Free University of Bozen - Bolzano, (2005) SEWASIE. [Other]
• [Software] Heflin, J. (2001) Shoe. [Other]
• [Software] Savannah Simulations, (2005) ShopSim. [Other]
• [Software] Sloman, A. (1999) SimAgent. [Educational]
• [Software] Savannah Simulations, (2005) SimWalk - the simulation software for pedestrian flows. [Other]
• [Software] University of Michigan, (2004) Soar. [Other]
• [Software] University of Bologna, (2003) Soma. [Other]
• [Software] Meyer, A.P. (2005) Spyse. [Other]
• [Software] Massachusetts Institute of Technology, (2002) Starlogo. [Other]
• [Software] Victauri LLC, (2002) Stauri FAQtaur. [Other]
• [Software] Langton, C. (2002) Swarm. [Other]
• [Software] Balch, T. (2000) Teambots. [Other]
• [Software] Helmhout, J.M. and Gazendam, H.W.M. and Jorna, R.J. and Roest, G.B. (2006) The Social Cognitive Actor: RBot.
[Educational]
• [Software] Topia, (2000) Topia. [Other]
e Finalmente
• [Software] Tryllian, (2005) Tryllian ADK. [Other]
• [Software] Omicini, A. (2002) Tucson. [Other]
• [Software] Recursion Software, (2003) Voyager. [Other]
• [Software] MTA, SZTAKI (2005) WSDL2Agent. [Other]
• [Software] Bruns, G. (2003) Xraptor. [Other]
• [Software] Thompson, S. (2001) Zeus. [Other]