Welcome

COMP667 Multiagent Systems

Introduction


Multiagent Systems (MAS) is an emerging subfield of AI that aims to provide both principles for design of complex systems involving multiple agents and mechanisms for coordination of independent agents' behaviors.
Two obvious questions about any type of technology are: (1) What advantages does it offer over the alternatives? (2) In what circumstances is it useful? And then you will know why you want to take this course.

The most important reason to use MAS when designing a system is that some domains require it. In particular, if there are different people or organizations with different (possibly conflicting) goals and proprietary information, then a multiagent system is needed to handle their interactions.

For example, consider an Oil & Gas production scenario in which oil and gas company X produces, transports and markets natural gas and oil, but subcontracts the well tasks such as drilling, well construction to other companies, Y1, Y2, ..., Yn. In order to build a single system to automate (certain aspects) the production process, the internals of both companies X and Yi must be modeled. However, none of these companies is likely to want to relinquish information and/or control to a system designer representing the other company. Thus, MAS is necessary. The only feasible solution is to allow the various companies to create their own agents that accurately represent their goals and interests. They must then be combined into a multiagent system with the aid of some of the techniques to be introduced in this course. They include an agent communication language and coordination mechanisms.
The coordination mechanisms include Distributed Constraint Satisfaction, Games, Coalition Formation, Multiagent Learning, Mechanism Design, Negotiation, Auctions, and Voting in Social Choice.

Another example of a domain that requires MAS is hospital scheduling. This domain from an actual case study requires different agents to represent the interests of different people within the hospital. Hospital employees have different interests, from nurses who want to minimize the patient's time in the hospital, to x-ray operators who want to maximize the throughput on their machines. Since different people evaluate candidate schedules with different criteria, they must be represented by separate agents if their interests are to be justly considered.

Even in domains that could conceivably use systems that are not distributed, there are several possible reasons to use MAS:

  • Having multiple agents could speed up a system's operation by providing a method for parallel computation! For instance, a domain that is easily broken into components several independent tasks that can be handled by separate agents could benefit from MAS.
  • Furthermore, the parallelism of MAS can help deal with limitations imposed by time-bounded reasoning requirements. While parallelism is achieved by assigning different tasks or abilities to different agents, robustness is a benefit of multiagent systems that have redundant agents.
  • Another benefit of MAS is their scalability. Since they are inherently modular, it should be easier to add new agents to a multiagent system than it is to add new capabilities to a monolithic system. For a programmer's perspective the modularity of MAS can lead to simpler programming.
  • With advancing technological progress in interconnectivity and interoperability of computers and software, today's computational environments are complex , networked, open, and large-scale.

  • Different from traditional Distributed Systems in which desired behaviours are planned at design time and allow for little or no deviation, a multiagent system is designed such that their behaviour is flexible and adaptable to the ever changing environment. This requires software applications to be able to process/deal with distributed and parallel processing of data, information, and knowledge. So, MAS technologies are used to build software in a complex, changing world! Such software applications are similar to intelligent human agents in our society. Also, such applications are becoming standard in a variety of domains such as e-commerce, logistics, supply chain management, telecommunication, healthcare, education, and manufacturing.