What is a Multi Agent System
Multi-agent systems are made up of multiple interacting intelligent agents—computational entities to some degree autonomous and able to cooperate, compete, communicate, act flexibly, and exercise control over their behavior within the frame of their objectives. They are the enabling technology for a wide range of advanced applications relying on distributed and parallel processing of data, information, and knowledge relevant in domains ranging from industrial manufacturing to e-commerce to health care.
What is it?
In artificial intelligence research, agent-based systems technology has been hailed as a new paradigm for conceptualizing, designing, and implementing software systems. Agents are sophisticated computer programs that act autonomously on behalf of their users, across open and distributed environments, to solve a growing number of complex problems. Increasingly, however, applications require multiple agents that can work together. A multi-agent system (MULTI-AGENT SYSTEM) is a loosely coupled network of software agents that interact to solve problems that are beyond the individual capacities or knowledge of each problem solver. The multi-agent system can be defined by the following definition:
“A multi-agent system is a loosely coupled network of problem-solving entities (agents) that work together to find answers to problems that are beyond the individual capabilities or knowledge of each entity (agent)”.
The trend toward the development of increasingly intelligent systems is matched only by the trend toward the distribution of computing. The science of multiagent systems lies at the intersection of these trends. Multi-agent systems are of great significance in a number of current and future applications of computer science. For example, they arise in systems for electronic data interchange, air traffic control, manufacturing automation, computer-supported cooperative work, and electronic banking, as well as in robotics and heterogeneous information systems.
An agent is a computerized entity like a computer programmer or a robot. An agent can be described as autonomous because it has the capacity to adapt when its environment changes. A multi-agent system is made up of a set of computer processes that occur at the same time, i.e. several agents that exist at the same time, share common resources, and communicate with each other. The key issue in multi-agent systems is to formalize the coordination between agents. Research on agents, therefore, includes research into:
- Decision-making: what decision-making mechanisms are available to the agent? What is the link between their perceptions, representations, and actions?
- Control: what hierarchic relationships exist between agents? How are they synchronized?
- Communication: what kind of messages do they send each other? What syntax do these messages obey?
- Figure 1: Multi-Agent System Cooperation typology
- Multi-agent systems can be applied to artificial intelligence. They simplify problem-solving by dividing the necessary knowledge into subunits-to which an independent intelligent agent is associated-and by coordinating the agents' activity. In this way, we refer to distributed artificial intelligence. This method can be used for monitoring an industrial process, for example, when the sensible solution -that of coordinating several specialized monitors rather than a single omniscient one- is adopted.
The fact that the agents within a MULTI-AGENT SYSTEM work together implies that a sort of cooperation among individual agents is to be involved. However, the concept of cooperation in a MULTI-AGENT SYSTEM is at best unclear and at worst highly inconsistent, so that the terminology, possible classifications, etc., are even more problematic than in the case of agents what makes any attempt to present MULTI-AGENT SYSTEM a hard problem. A typology of cooperation seems the simplest and here we start with this typology as the basis for MULTI-AGENT SYSTEM classification. The typology is given in Figure 4.
Advantages of a Multi-Agent Approach
A MULTI-AGENT SYSTEM has the following advantages over a single-agent or centralized approach
- A MULTI-AGENT SYSTEM distributes computational resources and capabilities across a network of interconnected agents. Whereas a centralized system may be plagued by resource limitations, performance bottlenecks, or critical failures, a MULTI-AGENT SYSTEM is decentralized and thus does not suffer from the "single point of failure" problem associated with centralized systems.
- A MULTI-AGENT SYSTEM allows for the interconnection and interoperation of multiple existing legacy systems. By building an agent wrapper around such systems, they can be incorporated into an agent society.
- A MULTI-AGENT SYSTEM models problems in terms of autonomous interacting component agents, which is proving to be a more natural way of representing task allocation, team planning, user preferences, open environments, and so on.
- A MULTI-AGENT SYSTEM efficiently retrieves, filters, and globally coordinates information from sources that are spatially distributed.
- A MULTI-AGENT SYSTEM provides solutions in situations where expertise is spatially and temporally distributed.
- A MULTI-AGENT SYSTEM enhances overall system performance, specifically along the dimensions of computational efficiency, reliability, extensibility, robustness, maintainability, responsiveness, flexibility, and reuse.
References
[1] Mevludin Glavic, "Agents and multi-agent systems: a short introduction for power engineers", Technical Report, May 2006.
[2] “Multi-Agent Systems”, available online at: http://cormas.cirad.fr/en/demarch/sma.htm
[3] “Multi-Agent Systems”, available online at: https://www.cs.cmu.edu/~softagents/multi.html