A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning. Despite considerable overlap, a multi-agent system is not always the same as an agent-based model (ABM).
The goal of an ABM is to search for explanatory insight into the collective behavior of agents (which don't necessarily need to be "intelligent") obeying simple rules, typically in natural systems, rather than in solving specific practical or engineering problems. The terminology of ABM tends to be used more often in the sciences, and MAS in engineering and technology. Applications where multi-agent systems research may deliver an appropriate approach include online trading, disaster response and social structure modelling.
Multi-agent systems consist of agents and their environment. Typically multi-agent systems research refers to software agents. 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.
Agents can be divided into types spanning simple to complex. Categories include:
- Passive agents or "agent without goals" (such as obstacle, apple or key in any simple simulation)
- Active agents with simple goals (like birds in flocking, or wolf–sheep in prey-predator model)
- Cognitive agents (complex calculations)
Agent environments can be divided into:
Agent environments can also be organized according to properties such as accessibility (whether it is possible to gather complete information about the environment), determinism (whether an action causes a definite effect), dynamics (how many entities influence the environment in the moment), discreteness (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). Agent actions are typically mediated via an appropriate middleware. This middleware offers a first-class design abstraction for multi-agent systems, providing means to govern resource access and agent coordination.
The agents in a multi-agent system have several important characteristics:
- Autonomy: agents at least partially independent, self-aware, autonomous
- Local views: no agent has a full global view, or the system is too complex for an agent to exploit such knowledge
- Decentralisation: no agent is designated as controlling (or the system is effectively reduced to a monolithic system)
Self-organisation and self-direction
Multi-agent systems can manifest self-organisation as well as self-direction and other control paradigms 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 Agent Communication Language (ACL).
Many MAS 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,
and a weighted response matrix, e.g.
Speed-min:50 but only if weather sunny,
Path length:25 for sunny / 46 for rainy
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 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 is the "pheromone", where components leave information for other nearby components. These pheromones may evaporate/concentrate with time, that is their values may decrease (or increase).
MAS 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 physically 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 systems also tend to prevent propagation of faults, self-recover and be fault tolerant, mainly due to the redundancy of components.
The study of multi-agent systems is "concerned with the development and analysis of sophisticated AI problem-solving and control architectures for both single-agent and multiple-agent systems." Research topics include:
Frameworks have emerged that implement common standards (such as the FIPA agent system platforms and communication languages). These frameworks save time and aid in the standardization of MAS development.
MAS are applied in the real world to graphical applications such as computer games. Agent systems have been used in films. They are used for coordinated defence systems. Other applications include transportation, logistics, graphics and GIS. It is widely advocated for use in networking and mobile technologies, to achieve automatic and dynamic load balancing, high scalability and self-healing networks.
- ^ Niazi, Muaz; Hussain, Amir (2011). "Agent-based Computing from Multi-agent Systems to Agent-Based Models: A Visual Survey" (PDF). Scientometrics. Springer. 89 (2): 479–499. doi:10.1007/s11192-011-0468-9.
- ^ Rogers, Alex; David, E.; Schiff, J.; Jennings, N.R. (2007). "The Effects of Proxy Bidding and Minimum Bid Increments within eBay Auctions". ACM Transactions on the Web.
- ^ Schurr, Nathan; Marecki, Janusz; Tambe, Milind; Scerri, Paul; Kasinadhuni, Nikhil; Lewis, J.P. (2005). "The Future of Disaster Response: Humans Working with Multiagent Teams using DEFACTO" (PDF).
- ^ Genc, Zulkuf; et al. (2013). "Agent-based information infrastructure for disaster management" (PDF). Intelligent Systems for Crisis Management: 349–355.
- ^ Sun, Ron; Naveh, Isaac. "Simulating Organizational Decision-Making Using a Cognitively Realistic Agent Model". Journal of Artificial Societies and Social Simulation.
- ^ a b Kubera, Yoann; Mathieu, Philippe; Picault, Sébastien (2010), "Everything can be Agent!" (PDF), Proceedings of the ninth International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS'2010), Toronto, Canada: 1547–1548
- ^ Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2
- ^ Salamon, Tomas (2011). Design of Agent-Based Models. Repin: Bruckner Publishing. p. 22. ISBN 978-80-904661-1-1.
- ^ Weyns, Danny; Omicini, Amdrea; Odell, James (2007). "Environment as a first-class abstraction in multiagent systems" (PDF). Autonomous Agents and Multi-Agent Systems. 14 (1): 5–30. doi:10.1007/s10458-006-0012-0. Retrieved 2013-05-31.
- ^ Wooldridge, Michael (2002). An Introduction to MultiAgent Systems. John Wiley & Sons. p. 366. ISBN 0-471-49691-X.
- ^ Panait, Liviu; Luke, Sean (2005). "Cooperative Multi-Agent Learning: The State of the Art" (PDF). Autonomous Agents and Multi-Agent Systems. 11 (3): 387–434. doi:10.1007/s10458-005-2631-2.
- ^ "The Multi-Agent Systems Lab". University of Massachusetts Amherst. Retrieved Oct 16, 2009.
- ^ Albrecht, Stefano; Stone, Peter (2017), "Multiagent Learning: Foundations and Recent Trends. Tutorial", IJCAI-17 conference (PDF)
- ^ Cucker, Felipe; Steve Smale (2007). "The Mathematics of Emergence" (PDF). Japanese Journal of Mathematics. 2: 197. doi:10.1007/s11537-007-0647-x. Retrieved 2008-06-09.
- ^ Shen, Jackie (Jianhong) (2008). "Cucker–Smale Flocking under Hierarchical Leadership". SIAM J. Applied Math. 68 (3): 694. doi:10.1137/060673254. Retrieved 2008-06-09.
- ^ Ahmed, S.; Karsiti, M.N. (2007), "A testbed for control schemes using multi agent nonholonomic robots", 2007 IEEE International Conference on Electro/Information Technology, p. 459, doi:10.1109/EIT.2007.4374547, ISBN 978-1-4244-0940-2
- ^ Ahmed, Salman; Karsiti, Mohd N.; Agustiawan, Herman (2007). "A development framework for collaborative robots using feedback control".
- ^ "Film showcase". MASSIVE. Retrieved 28 April 2012.
- ^ Xiao-Feng Xie, S. Smith, G. Barlow. Schedule-driven coordination for real-time traffic network control. International Conference on Automated Planning and Scheduling (ICAPS), São Paulo, Brazil, 2012: 323-331.
- ^ Máhr, T. S.; Srour, J.; De Weerdt, M.; Zuidwijk, R. (2010). "Can agents measure up? A comparative study of an agent-based and on-line optimization approach for a drayage problem with uncertainty". Transportation Research Part C: Emerging Technologies. 18: 99. doi:10.1016/j.trc.2009.04.018.
- Wooldridge, Michael (2002). An Introduction to MultiAgent Systems. John Wiley & Sons. p. 366. ISBN 0-471-49691-X.
- Shoham, Yoav; Leyton-Brown, Kevin (2008). Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press. p. 496. ISBN 978-0-521-89943-7.
- Mamadou, Tadiou Koné; Shimazu, A.; Nakajima, T. (August 2000). "The State of the Art in Agent Communication Languages (ACL)". Knowledge and Information Systems. London: Springer-Verlag. 2 (2): 1–26.
- Hewitt, Carl; Inman, Jeff (Nov–Dec 1991). "DAI Betwixt and Between: From "Intelligent Agents" to Open Systems Science". IEEE Transactions on Systems, Man, and Cybernetics.
- The Journal of Autonomous Agents and Multi-Agent Systems (JAAMAS)
- Weiss, Gerhard, ed. (1999). Multiagent Systems, A Modern Approach to Distributed Artificial Intelligence. MIT Press. ISBN 0-262-23203-0.
- Ferber, Jacques (1999). Multi-Agent Systems: An Introduction to Artificial Intelligence. Addison-Wesley. ISBN 0-201-36048-9.
- Sun, Ron (2006). Cognition and Multi-Agent Interaction. Cambridge University Press. ISBN 0-521-83964-5.
- Keil, David; Goldin, Dina (2006). Weyns, Danny; Parunak, Van; Michel, Fabien, eds. "Indirect Interaction in Environments for Multiagent Systems" (PDF). Environments for Multiagent Systems II. LNCS 3830. Springer.
- Whitestein Series in Software Agent Technologies and Autonomic Computing, published by Springer Science+Business Media Group
- Salamon, Tomas (2011). Design of Agent-Based Models : Developing Computer Simulations for a Better Understanding of Social Processes. Bruckner Publishing. ISBN 978-80-904661-1-1.
- Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2
- Fasli, Maria (2007). Agent-technology for E-commerce. John Wiley & Sons. p. 480. ISBN 978-0-470-03030-1.
- Cao, Longbing, Gorodetsky, Vladimir, Mitkas, Pericles A. (2009). Agent Mining: The Synergy of Agents and Data Mining, IEEE Intelligent Systems, vol. 24, no. 3, 64-72.
- Random Agent-Based Simulations by Borys Biletskyy – Random agent-base simulations for multi-robot system and Belousov-Zhabotinsky reaction. Java applets available.
- CORMAS (COmmon Resources Multi-Agent System) An open-source framework for Multi-Agent Systems based on SmallTalk. Spatialized, it focuses on issues related to natural resource management and negotiation between stakeholders.
- JaCaMo MAS Platform - An open-source platform for Multi-Agent Systems based on Jason, CArtAgO, and Moise.
- Janus multiagent Platform – Holonic multiagent execution platform (Apache License), written in Java, and directly supporting the SARL agent-oriented programming language.
- HarTech Technologies - HarTech Technologies developed a dedicated Distributed Multi Agent System Framework used in both simulation and large scale command and control system. This unique framework called the Generic Blackboard (GBB) provides a development framework for such systems which is domain independent. Distributed Multi Agent Framework.
- MaDKit is a lightweight open source Java library for designing and simulating Multi-Agent Systems. MaDKit is built upon the AGR (Agent/Group/Role) organizational model: agents are situated in groups and play roles, MAS are conceived as artificial societies.