Agents and multiagent systems or multiagents have been gathering an increasing amount of attention lately in the research community, from funding agencies, and even in the lay press. This is because of the expansion of information-rich environments, not only in the Internet at large, but also in intranets and virtual private networks. Key applications include telecommunications management, virtual enterprises, logistics, healthcare, and manufacturing automation, to name but a few. Successful agent applications in such domains will depend not only on artificial intelligence (AI) techniques but also on a solid understanding of the underlying distributed computing and database concerns.
Modern and future information systems are best understood as composed of a variety of heterogeneous cooperating entities. There are two major motivations for this view. First, computing systems can no longer operate in isolation. End-users demand better ways to access information and maintain its consistency across systems that are large, complex, heterogeneous, and dynamic. The techniques for dealing with the size and complexity of these systems are modularity, distribution, abstraction, and simply being smarter about how to seek and modify information.
Second, systems exhibiting varying degrees of intelligent behavior are increasingly being used as "agents" to manage and access information resources. There is great interest in having such agents browse world-wide information networks, interact with other agents, and obtain information on behalf of users. Further, when systems exist for specific applications, it would be desirable for them to operate in concert, and collectively to tackle more complex problems. This they can naturally do if appropriate "mediating agents" are attached or included in them.
Multiagent systems are highly applicable in such cases. Agents can be constructed that are knowledgeable about their local resources, and which cooperate to provide global access and better management of those resources. For the practical reason that the systems are large and dynamic, the agents would execute autonomously and be developed independently. Thus the multiagent paradigms address the concerns that are key to the next generation of computing applications: modularity, fault tolerance, and component reuse. These applications include telecommunications, virtual enterprises, logistics, power system management, home automation, electronic commerce, communityware, healthcare, and manufacturing automation.
Infrastructure for the above applications, in terms of basic connectivity, simple directory services, and low-level protocols and standards, is increasingly available. This course will discuss the different pieces of this infrastructure, but will focus on the architectural and semantic aspects of agents and multiagent systems as applied in open information systems.
The agent metaphor comes packaged with a number of powerful abstractions. Some of these are the psychological ones, such as beliefs, knowledge, and intentions, which were traditionally studied in AI. However, there are a number of other abstractions that the agent metaphor brings to the fore. These, more interesting, agent-specific abstractions include the social, ethical, and legal ones. They not only help distinguish agents from other work in computing, but also make the difference between agents as a convenient buzzword and true agents as part of multiagent systems.
Whereas traditional AI considers stand-alone entities, agents are better understood with social concepts, such as autonomy, commitments, responsibility, and so on. Whereas traditional AI involves the study of actions merely in terms of their causes and effects, agents provide a basis for studying the ethical concepts of right and wrong. Whereas traditional approaches to legal reasoning in AI consider issues like simplistic obligations and constraint reasoning over them, agents capture more of the spirit of the law proper, by introducing the full range of legal metaphors, including contracts and rights, duties, powers, and liabilities.
Consider any practical situation in which it is critical to manage the complexity of large and dynamic software systems. In such an environment, we would like to use agents as components only if the agents can behave autonomously. Yet, we would like the agents to behave ethically. Further, to ensure interoperability, we would like independently-developed agents to interact appropriately with each other. Lastly, to maximize flexibility, we would like the agents to enter into and respect various contracts with other agents without active intervention by the designer of the agents. How might such interactions be specified? We believe, clearly, through the use of social, ethical, and legal abstractions. Of the numerous applications of agent technology, the following are especially good testbeds for the abstractions of interest here. These have the common themes of modularity, fault tolerance, and component reuse. The applications are virtual enterprises, autonomous logistics, electronic commerce such as for power system demand management, communityware, and manufacturing automation.
This course will present the fundamental concepts in agents and multiagent systems. The following topics correspond to chapters 1, 2, 3, 4, 7, 9, 14, 16, 17, 8, 22, 19, 20, 21, 7, and 18 of the textbook. The indicated class times are approximate estimates!
|Exams or term paper||50%|
The main prerequisite is instructor's permission, which depends on meeting several of the following criteria: