A
multi-agent system is a system composed of multiple interacting
intelligent agentIn artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
s. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a
monolithic systemMonolithic system can have different meanings in the contexts of computer software and hardware.-In software:A software system is called "monolithic" if it has a monolithic architecture, in which functionally distinguishable aspects , are not architecturally separate components but are...
to solve. Intelligence may include some
methodMethod may refer to:* Scientific method, a series of steps taken to acquire knowledge* Method , a piece of code associated with a class or object to perform a task...
ic, functional,
proceduralIn mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
or
algorithmIn mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
ic search, find and processing approach.
Topics where multi-agent systems research may deliver an appropriate approach include online trading, disaster response, and modelling social structures.
Concept
Multi-agent systems consist of agents and their environment. Typically multi-agent systems research refers to
software agentIn computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency, which derives from the Latin agere : an agreement to act on one's behalf...
s. However, the agents in a multi-agent system could equally well be robots, humans or human teams. A multi-agent system may contain combined human-agent teams.
Agent environments can be organized according to various properties like: accessibility (depending on if it is possible to gather complete information about the environment), determinism (if an action performed in the environment causes a definite effect), dynamics (how many entities influence the environment in the moment), discretness (whether the number of possible actions in the environment is finite), episodicity (whether agent actions in certain time periods influence other periods), and dimensionality (whether spatial characteristics are important factors of the environment and the agent considers space in its decision making).
Characteristics
The agents in a multi-agent system have several important characteristics:
- Autonomy: the agents are at least partially autonomous
An autonomous agent is an intelligent agent operating on an owner's behalf but without any interference of that ownership entity. An intelligent agent, however appears according to a multiply cited statement in a no longer accessible IBM white paper as follows:Intelligent agents are software...
- Local views: no agent has a full global view of the system, or the system is too complex for an agent to make practical use of such knowledge
- Decentralization: there is no designated controlling agent (or the system is effectively reduced to a monolithic system)
Self organization and self steering
Multi-agent systems can manifest
self-organizationSelf-organization is the process where a structure or pattern appears in a system without a central authority or external element imposing it through planning...
as well as self-steering and other
control paradigmsControl theory is an interdisciplinary branch of engineering and mathematics that deals with the behavior of dynamical systems. The desired output of a system is called the reference...
and related complex behaviors even when the individual strategies of all their agents are simple.
When agents can share knowledge using any agreed language, within the constraints of the system's communication protocol, the approach may lead to a common improvement. Example languages are Knowledge Query Manipulation Language (KQML) or FIPA's Agent Communication Language (ACL).
Systems paradigms
Many MAS systems are implemented in computer simulations, stepping the system through discrete "time steps". The MAS components communicate typically using a weighted request matrix, e.g.
Speed-VERY_IMPORTANT: min=45 mph,
Path length-MEDIUM_IMPORTANCE: max=60 expectedMax=40,
Max-Weight-UNIMPORTANT
Contract Priority-REGULAR
and a weighted response matrix, e.g.
Speed-min:50 but only if weather sunny,
Path length:25 for sunny / 46 for rainy
Contract Priority-REGULAR
note - ambulance will override this priority and you'll have to wait
A challenge-response-contract scheme is common in MAS systems, where
First a
"Who can?" question is distributed.
Only the relevant components respond:
"I can, at this price".
Finally, a contract is set up, usually in several more short communication steps between sides,
also considering other components, evolving "contracts", and the restriction sets of the component algorithms.
Another paradigm commonly used with MAS systems is the pheromone, where components "leave" information for other components "next in line" or "in the vicinity". These "pheromones" may "evaporate" with time, that is their values may decrease (or increase) with time.
Properties
MAS systems, also referred to as "self-organized systems", tend to find the best solution for their problems "without intervention". There is high similarity here to physical phenomena, such as energy minimizing, where physical objects tend to reach the lowest energy possible, within the physical constrained world. For example: many of the cars entering a metropolis in the morning, will be available for leaving that same metropolis in the evening.
The main feature which is achieved when developing multi-agent systems, if they work, is flexibility, since a multi-agent system can be added to, modified and reconstructed, without the need for detailed rewriting of the application.
These systems also tend to be rapidly self-recovering and failure proof, usually due to the heavy redundancy of components and the self managed features, referred to, above.
The study of multi-agent systems
The study of multi-agent systems is "concerned with the development and analysis of sophisticated
AIArtificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
problem-solving and control architectures for both single-agent and multiple-agent systems." Topics of research in MAS include:
- agent-oriented software engineering
- beliefs, desires, and intentions (BDI
The Belief-Desire-Intention software model is a software model developed for programming intelligent agents. Superficially characterized by the implementation of an agent's beliefs, desires and intentions, it actually uses these concepts to solve a particular problem in agent programming...
)
- cooperation and coordination
Consensus dynamics or agreement dynamics is an area of research lying at the intersection of systems theory and graph theory. A major topic of investigation is the agreement or consensus problem in multi-agent systems that concerns processes by which a collection of interacting agents achieve a...
- organization
- communication
- negotiation
- distributed problem solving
Cooperative Distributed Problem Solving is a network of semi-autonomous processing nodes working together to solve a problem, typically in a multi-agent system. That is concerned with the investigation of problem subdivision, sub-problem distribution, results synthesis, optimisation of problem...
- multi-agent learning
- scientific communities
- dependability and fault-tolerance
- robotics
Frameworks
While ad hoc multi-agent systems are often created from scratch by researchers and developers, some frameworks have arisen that implement common standards (such as the
FIPAThe Foundation for Intelligent Physical Agents is a body for developing and setting computer software standards for heterogeneous and interacting agents and agent-based systems....
agent system platforms and communication languages). These frameworks save developers time and also aid in the standardization of MAS development. One such developmental framework for robotics is given in
See Comparison of agent-based modeling software.
Applications in the real world
Multi-agent systems are applied in the real world to graphical applications such as computer games. Agent systems have been used in films. They are also used for coordinated defence systems. Other applications include transportation, logistics, graphics, GIS as well as in many other fields. It is widely being advocated for use in networking and mobile technologies, to achieve automatic and dynamic load balancing, high scalability, and self-healing networks.
See also
- Agent-based model (ABM)
- Comparison of agent-based modeling software
- Agent-based computational economics (ACE)
Agent-based computational economics is the major aspect of computational economics that studies economic processes, including whole economies, as dynamic systems of interacting agents. As such, it falls in paradigm of complex adaptive systems...
- Artificial brain
Artificial brain is a term commonly used in the media to describe research that aims to develop software and hardware with cognitive abilities similar to the animal or human brain...
- Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
- Complex systems
Complex systems present problems in mathematical modelling.The equations from which complex system models are developed generally derive from statistical physics, information theory and non-linear dynamics, and represent organized but unpredictable behaviors of systems of nature that are considered...
- Distributed artificial intelligence
Distributed artificial intelligence is a subfield of artificial intelligence research dedicated to the development of distributed solutions for complex problems regarded as requiring intelligence...
- Emergence
In philosophy, systems theory, science, and art, emergence is the way complex systems and patterns arise out of a multiplicity of relatively simple interactions. Emergence is central to the theories of integrative levels and of complex systems....
- Evolutionary computation
In computer science, evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems....
- Human-based genetic algorithm
In evolutionary computation, a human-based genetic algorithm is a genetic algorithm that allows humans to contribute solution suggestions to the evolutionary process. For this purpose, a HBGA has human interfaces for initialization, mutation, and recombinant crossover. As well, it may have...
- Intelligent agent
In artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
- Knowledge Query and Manipulation Language
The Knowledge Query and Manipulation Language, or KQML, is a languageand protocol for communication among software agents and knowledge-based systems. It was...
(KQML)
- Multi-agent planning
In computer science multi-agent planning involves coordinating the resources and activities of multiple "agents".NASA says, "multiagent planning is concerned with planning by multiple agents...
- Pattern-oriented modeling
- PlatBox Project
PlatBox Project formally known as Boxed Economy Project is a Multi-Agent Based Computer Simulation Software development project founded by Iba Laboratory at Keio University, Japan...
- Scientific Community Metaphor
In computer science, the Scientific Community Metaphor is a metaphor used to aid understanding scientific communities. The first publications on the Scientific Community Metaphor in 1981 and 1982 involved the development of a programming language named Ether that invoked procedural plans to...
- Self-organization
Self-organization is the process where a structure or pattern appears in a system without a central authority or external element imposing it through planning...
- Self-Reconfiguring Modular Robotics
Modular self-reconfiguring robotic systems or self-reconfigurable modular robots are autonomous kinematic machines with variable morphology...
- Simulated reality
Simulated reality is the proposition that reality could be simulated—perhaps by computer simulation—to a degree indistinguishable from "true" reality. It could contain conscious minds which may or may not be fully aware that they are living inside a simulation....
- Social simulation
Social simulation is a research field that applies computational methods to study issues in the social sciences. The issues explored include problems in sociology, political science, economics, anthropology, geography, archaeology and linguistics ....
- Software agent
In computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency, which derives from the Latin agere : an agreement to act on one's behalf...
- Swarm Intelligence
Swarm intelligence is the collective behaviour of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence...
- Artificial life framework
Artificial Life is a free and open sourced Java framework created to simulate Life. It is a multi-agents framework where each agent runs it is own Thread....
Further reading
- Michael Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons Ltd, 2002, paperback, 366 pages, ISBN 0-471-49691-X.
- Yoav Shoham and Kevin Leyton-Brown, Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, Cambridge University Press, 2008, hardback, 496 pages, ISBN 9780521899437.
- Mamadou Tadiou Koné, Shimazu A. and Nakajima T., "The State of the Art in Agent Communication Languages (ACL)", Knowledge and Information Systems Journal (KAIS), Springer-Verlag, London, Vol. 2, no. 2, pp. 1 – 26, August 2000.
- Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From "Intelligent Agents" to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov./Dec. 1991.
- The Journal of Autonomous Agents and Multiagent Systems, Publisher: Springer Science+Business Media B.V., formerly Kluwer Academic Publishers B.V. http://www.springerlink.com/app/home/journal.asp?wasp=1f1b3716d3d0466b8ab8af5930d8cf68&referrer=parent&backto=linkingpublicationresults,1:102852,1
- Gerhard Weiss, ed. by, Multiagent Systems, A Modern Approach to Distributed Artificial Intelligence, MIT Press, 1999, ISBN 0-262-23203-0.
- Jacques Ferber, Multi-Agent Systems: An Introduction to Artificial Intelligence, Addison-Wesley, 1999, ISBN 0-201-36048-9.
- Sun, Ron, (2006). "Cognition and Multi-Agent Interaction". Cambridge University Press. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521839645
- David Keil, Dina Goldin. Indirect Interaction in Environments for Multiagent Systems (PDF). In Environments for Multiagent Systems II, eds. Danny Weyns, Van Parunak, Fabien Michel. LNCS 3830, Springer, 2006.
- Whitestein Series in Software Agent Technologies and Autonomic Computing, published by Springer Science+Business Media Group
External links