Multiagent systems: an emerging subdiscipline of AI

As more AI applications are being formulated in terms of spatially, functionally, or temporally distributed processing, multiagent systems (or what was previously called distributed AI) are emerging as an important subdiscipline of AI. This is especially true as the outlines of a potential model for computing in the next century are beginning to coalesce: a model in which networks of interacting, real-time, intelligent agents could seamlessly integrate man and machine. Agents in these networks need to be highly adaptive due to their “open” operating environments, where the configuration and capabilities of other agents and network resources would change dynamically. Agents in such environments would aim to produce the best possible result given their available processing, communication, and information resources. As part of this model, we see agents eventually using high-level content languages for rich and succinct communication with other agents. Consequently, problem solving for effectively interacting with other agents would be as, or more, complex than the agent’s domain problem solving. The current set of multiagent applications can be classified into three broad areas. Distributed situation assessment applications, such as distributed network diagnosis, emphasize how (diagnostic) agents with different spheres of awareness and control (network segments) should share their local interpretations to arrive at consistent and comprehensive explanations and responses. Distributed resource planning and allocation applications, such as distributed factory scheduling, emphasize how (scheduling) agents (associated with each workcell) should coordinate their schedules to avoid and resolve conflicts over resources and to maximize system output. Distributed expert systems applications, such as concurrent engineering, emphasize how agents negotiate over collective solutions (designs) given their different expertise and criteria. The next generation of applications alluded to will probably involve all the emphases of these generic applications and more. In general, multiagent systems are computational systems in which several semi-autonomous agents interact or work together to perform some set of tasks or satisfy some set of goals. These systems may involve computational agents that are homogeneous or heterogeneous and they may involve activity on the part of agents having common goals or goals that are distinct. Research and practice on these systems generally focus on problem solving, communication, and coordination aspects, as distinct from low-level parallelization or synchronization issues that are more the focus of distributed computing. The design, implementation, and assessment of multiagent systems raise many specific issues. These include coordination strategies that enable groups of agents to solve problems effectively; negotiation mechanisms that serve to bring a collection of agents to an acceptable state; techniques for conflict detection

[1]  Nicholas R. Jennings,et al.  Foundations of distributed artificial intelligence , 1996, Sixth-generation computer technology series.