Agent theories, architectures, and languages: a survey
Michael Wooldridge, Nicholas R. Jennings
Abstract: The concept of an agent has become important in both Artificial Intelligence (AI) and mainstream computer science. This article presents a survey of the most important theoretical and practical issues associated with the design and construction of intelligent agents. It also includes a short review of current and potential applications of agent technology, and closes with a glossary of key terms, an annotated list of systems, and a detailed bibliography. Pointers to further reading are provided throughout.
## 1 Introduction
One way of defining AI is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspects of intelligent behaviour. The notion of an 'agent' is thus central to AI. It is perhaps surprising, therefore, that although architectures for intelligent agents have been studied in AI since the inception of the field, the area did not become a major research topic until the late 1980s. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications, concurrent systems research, robotics, and user interface design. Researchers from both industry and academia are now taking agent technology seriously. Our aim in this article is to survey what we perceive to be the most important issues in the design and construction of intelligent agents. We begin our article, in the following sub-section, with a discussion on the question of exactly what an agent is.
1.1 What is an Agent?
Carl Hewitt recently remarked that the question what is an agent? is embarrassing for the agent-based computing community in just the same way that the question what is intelligence? is embarrassing for the mainstream AI community. The problem is that although the term is widely used, by many people working in closely related areas, it defies attempts to produce a single universally accepted definition.
This need not necessarily be a problem: after all, if many people are successfully developing interesting and useful applications, then it hardly matters that they do not agree on potentially trivial terminological details. However, there is also the danger that unless the issue is discussed, 'agent' might become a 'noise' term, subject to both abuse and misuse, to the potential confusion of the research community. It is for this reason that we briefly consider the question.
We distinguish two general usages of the term ‘agent’: the first is weak, and relatively uncontentious; the second is stronger, and potentially more contentious.
A Weak Notion of Agency: Perhaps the most general way in which the term agent is used is to denote a hardware or (more usually) software-based computer system that enjoys the following properties:
– autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state;
– social ability: agents interact with other agents (andAgent theories, architectures, and languages: a survey
Michael Wooldridge, Nicholas R. Jennings
Abstract: The concept of an agent has become important in both Artificial Intelligence (AI) and mainstream computer science. This article presents a survey of the most important theoretical and practical issues associated with the design and construction of intelligent agents. It also includes a short review of current and potential applications of agent technology, and closes with a glossary of key terms, an annotated list of systems, and a detailed bibliography. Pointers to further reading are provided throughout.
## 1 Introduction
One way of defining AI is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspects of intelligent behaviour. The notion of an 'agent' is thus central to AI. It is perhaps surprising, therefore, that although architectures for intelligent agents have been studied in AI since the inception of the field, the area did not become a major research topic until the late 1980s. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications, concurrent systems research, robotics, and user interface design. Researchers from both industry and academia are now taking agent technology seriously. Our aim in this article is to survey what we perceive to be the most important issues in the design and construction of intelligent agents. We begin our article, in the following sub-section, with a discussion on the question of exactly what an agent is.
1.1 What is an Agent?
Carl Hewitt recently remarked that the question what is an agent? is embarrassing for the agent-based computing community in just the same way that the question what is intelligence? is embarrassing for the mainstream AI community. The problem is that although the term is widely used, by many people working in closely related areas, it defies attempts to produce a single universally accepted definition.
This need not necessarily be a problem: after all, if many people are successfully developing interesting and useful applications, then it hardly matters that they do not agree on potentially trivial terminological details. However, there is also the danger that unless the issue is discussed, 'agent' might become a 'noise' term, subject to both abuse and misuse, to the potential confusion of the research community. It is for this reason that we briefly consider the question.
We distinguish two general usages of the term ‘agent’: the first is weak, and relatively uncontentious; the second is stronger, and potentially more contentious.
A Weak Notion of Agency: Perhaps the most general way in which the term agent is used is to denote a hardware or (more usually) software-based computer system that enjoys the following properties:
– autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state;
– social ability: agents interact with other agents (and