Intelligent Agents: Architectures, Taxonomy and Applications

Hardeep Singh              Harjot Kaur

Deptt. of Computer Science and Engg.,
Guru Nanak Dev University,
Amritsar-143005
Email: hardeep_gndu@rediffmail.com 
       harjotbatra@rediffmail.com 

Abstract: Intelligent software agents are a popular research object these days in such fields as psychology, sociology and computer science. Our aim in this paper to point to the reader the most important theoretical and practical issues associated with the design and applications of intelligent agents. For convenience, we divide these issues into three areas. Agent architecture can be thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theories. Agent taxonomy is concerned with agent classifications in the context with single-agent systems and multi-agent systems. Agent Applications, give a short review of current and potential applications of agent technology. In short, this paper provides an overview of the emerging field of intelligent agents by identifying their basic properties.

Keywords: Intelligent agents, Mobile Agents,
Agent Architecture, Agent Taxonomy. 

1.	Introduction

Each knowledge worker these days secretly wishes for a clone: someone who handles the grunt work intelligently, watches for new useful information, and takes over the time-consuming preparation before real intellectual effort begins.

A new emerging technology coming of age - intelligent agents - may offer hope for the fulfillment of those secret wishes, as an intelligent agent is somebody which can function on its own, with an occasional check back with the boss for unclear or new situations. The goal of this paper is to a provide a very brief and high level introduction 

to what intelligent agent systems are, including their unique properties, architectures and examples of applications.

1.1	 What is an Intelligent Agent?

“An intelligent agent is a software that assists people and acts on their behalf. Intelligent agents work by allowing people to delegate work that they could have done, to the software agent. Agents can, just as assistants can, automate repetitive tasks, remember things you forget, intelligently summarize complex data, learn from you, and even make recommendations to you.”

In general, the term “intelligent agent” ranges from adaptive user interfaces, known as “interface agents” to communities of “intelligent” processes those cooperate with each other to achieve a common task (“cooperative agents”).  Additionally, as “mobile agents” representing transportable or even active objects, they may move form one system to another to access remote resources or even meet other agents and cooperate with them.

The term agent is distinguished by its two general usages: (I) weak, and relatively uncontentious; (II) stronger, and potentially more contentious.

A Weak Notion of Agency  
The term “agent” in the most general way is used to denote hardware or (more usually) software-based computer system that has the following core attributes:
·	Agent Autonomy
·	Agent Communication/ Social- Ability

·	Agent Reactivity
·	Agent Pro-activeness/ Goal-Directed ness
·	Asynchronous Operation
·	Persistence/ Temporal Continuity

According to this weak notion of agency, in computer science, an agent can be defined as self- contained, concurrently executing software element, which possesses some state and communicates with other agents via message passing, and developed in an Object-based concurrent programming paradigm.
A Stronger Notion of Agency
The term “agent” has a stronger and more specific meaning than that explained above.  An agent is meant to be a computer system that, in addition to properties explained above, is either conceptualized or implemented using concepts that are more usually applied to humans like intelligence. In a stronger notion, an agent can be characterized by the attributes explained above and the following attributes:
·	Agent Intelligence
·	Agent Cooperation
·	Agent Learning

Other attributes of Agency
In context of agency, various other attributes are also discussed as:
·	Agent Mobility
·	Agent Veracity
·	Agent Benevolence
·	Agent Rationality

2.	Agent Architectures

In this section of paper, we will shift our emphasis from theory to practice. We will consider the issues surrounding the computer systems that satisfy the properties specified by agent theories. This is the area of agent architectures. Maes defines an agent architecture as:

“A particular methodology for building agents. It specifies how the agent can be decomposed into the construction of a set of component modules and how these modules should be made to interact. The total set of modules and their interactions has to provide an answer to the question of how the sensor data and the current internal state of the agent determine the actions and the future internal state of the agent. An architecture encompasses techniques and algorithms that support this methodology. ”

Various approaches are followed for building agents are:

2.1 Classical Approaches: Deliberative Architectures

This approach deals with building agents in order to view them as a particular type of knowledge-based system and it rests on the physical-symbol system hypothesis, which says that a physical symbol system is capable of general intelligent action.

Deliberative agent architecture is defined as one which contains an explicitly represented, symbolic model of the world, and in which decisions are made via a logical reasoning, based on pattern matching and symbolic manipulation. If an agent is aimed to be build this way, then there are at least two problems to be solved:

1.	The transduction problem: that of translating the real world into an accurate, adequate symbolic description, in time for that description to be useful.
2.	The representation/reasoning problem: that of how to symbolically represent information about complex real-world entities and processes, and how to get agents to reason with this information in time for the results to be useful.

Various architectures developed using classical approach are:

·	IRMA (Intelligent Resource-bounded Machine Architecture) - Bratman, Israel and Pollack
·	HOMER - Vere and Bickmore
·	GRATE - Jennings

2.2 Alternative Approaches: Reactive Architectures

There are many unsolved problems associated with symbolic AI. These problems have led some researchers to question the viability of the whole paradigm, and to the development of what are generally known as reactive architectures. A Reactive architecture is defined to be one that does not include any kind of central symbolic world model and does not use complex symbolic reasoning.

Various architectures, which follow the approach of reactive architecture, are:

·	Behaviour  Languages - Brooks
·	PENGI - Agre and Chapman
·	Situated Automata - Rosenschein and Kaelbling
·	Agent Network Architecture - Maes

2.3	 Hybrid Architectures

Since neither completely deliberative nor completely reactive approach is suitable for building agents, therefore, the case for hybrid systems was developed, which attempt to marry classical and alternative approaches.
Some of the architectures, which are developed using hybrid system approach, are:
·	PRS (Procedural Reasoning System) - Georgeff and Lansky
·	TOURING MACHINES - Ferguson
·	COSY - Burmeister et al.
·	INTERRAP - Müller et al.

3	Agent Taxonomy

Various agent technologies existing today can be classified in the context of single-agent systems as Local Agents and Networked Agents, and in the area of multi-agent systems as DAI-based Agents and Mobile Agents and in context of knowledge adaptability they can be categorized as Filtering Agents, Information Agents, User Interface Agents, Office or Workflow Agents, System agents, Brokering or Transaction Agents.

3.1 Single-Agent or Multi-Agent systems

3.1.1 Local Agents or User Interface Agents 
These types of agents access local resources only. Usually, they act as Advisory Agents (e.g. intelligent help systems) or Personal Assistants, which are supporting human users during their daily work. That is, they are used to monitor the user interactions with the application and can control various aspects of that interaction, such as level of prompting or the number of options available. 

3.1.2	Networked Agents 
Network agents in contrast to Local agents can access not only local resources but also remote resources, and thus have more or less knowledge about the network infrastructure. They not only provide an intelligent interface to the user but also make an extensive use of the various services available in the network.
 
3.1.3	DAI-based Agents
Distributed Artificial Intelligence (DAI) based agents coordinate intelligent behaviour among a collection of autonomous intelligent agents i.e. to coordinate their knowledge, goals, skills, and plans to jointly take actions or to solve problems. They are developed by using various AI techniques such as rule-based systems, and case- and example- based reasoning. So, the main concern here is the agent cooperation.
 
3.1.4	Mobile Agents
Also known as traveling agents, these agents will shuttle their being, code and state, among resources. This often improves performance by moving the agents to where the data reside instead of moving data to where the agents reside. Mobile agents are aimed primarily at large computer networks offering a huge number of sophisticated services. So, this existing technology supports agent mobility.

3.2	Knowledge Adaptability Agent Systems

3.2.1	Filtering Agents
Filtering agents, as their name implies, act as filter that allows information of particular interest or relevance to users to get through, while eliminating the flow of useless or irrelevant information. They can also interact with other agents, functioning in a multi-agent system.

3.2.2	Information Agents
It is a parallel agent type to the filtering agent, which cuts down the information received, and actively finds information for the user. As a research or intelligence gathering tool, information agents could provide an invaluable service, keeping the user informed of any developments in a field or of new web sites that contain information relayed to their area of interest.

3.2.3	User Interface Agents
The major goal of these agents is to collaborate with the user, and hence the main emphasis of investigations clearly lies in the field of user/agent interaction. Therefore, these types of agents are also called “intelligent interface” or “interface agents”.

3.2.4	Office or Workflow Agents
An office management agent automates kinds of routine, daily tasks that take up so much time at the office. These tasks include scheduling meetings, sending faxes, holding meeting review information, and updating process documents. Some of these tasks can be considered under the “workgroup” or “workflow” software because they deal with documents and calendars.

3.2.5	System Agents
System agents are software agents whose main job is to manage the operations of a computing system or a data communication network. These agents monitor for device failures or system overloads and redirects work to other parts in order to maintain a level of performance and/or reliability. Also, they act as resource managers for the system. System agents must be pro-active, responding not only to specific events in the environment, but taking the initiative to recognize the situations that call for preemptive actions.

3.2.6	Brokering or Transaction Agents
Transaction agents concentrate on monitoring and execution of transactions. Applications are found in eCommerce, manufacturing and management of business processes. It is software program that takes request from buyer and searches for a set of possible sellers using buyer’s criteria for the item of interest. When the potential sellers are found to satisfy the request, the broker agent can return results to the user, who chooses a seller, and manually executes the transaction.

4.      Agent Applications

4.1 Application Generalities

Applications for Intelligent Software Agents include problem domains that require human-like intelligence operating autonomously.
 
A small list of human-like intelligence capabilities that may be required of intelligent agents by the problem domain spans some of the most difficult areas of research being pursued in Artificial Intelligence (AI) to date;

·     Logical Inferencing and Deduction,
·	Contextual Domain Knowledge,
·	Pattern Recognition, and 
·	Learning and Adaptivity, etc.
Once the human-like intelligence capabilities are automated, autonomous operation permits intelligent agents to process vast volumes of data, which would be unmanageable by human agents. Additionally, intelligent agents can analyze, assess, plan, and react to environmental events at super-human speeds.  

4.2	Applications

Intelligent agents can be used in multiple application endeavors, some of which are listed below:

4.2.1	Communities of Cooperating Robots
Agent paradigms are useful for modeling communities of interacting robots. It is very natural to represent each robot as a separate agent. Applications in which group of interacting robots can be used include nuclear waste clean-up, automated excavation, construction and mining.

4.2.2	 Web-Based Agents, and Electronic Personal Assistants
Maes describe a whole suite of agents that act as personal assistants, including an email-filtering agent called Maxims, a meeting scheduler called MCL, and a news-filtering agent called NewT.

4.2.3	 Entertainment
Maes et al. have created a system called ALIVE, in which a human can interact directly with characters in a virtual story environment through hand and body gestures.

4.2.4	 Economic System Modeling
Agent-based modeling and simulation tools such as SWARM are designed to simulate the aggregate behaviour of groups of economic agents.

4.2.5	 Monitoring Agents
One of the major developments in monitoring agents include Hayes-Roth and Larsson’s agent, which monitors patients in intensive care units, and ASPIRE (created by Jones and Jacobs), an agent that is delegated to monitor satellite operations.

4.2.6	Group Decision-Making and Problem-Solving
Agents are often used to assist in group decision making and problem solving. Support of group activities using Computer tools is referred to as Computer -Supported Cooperation Work (CSCW). Some of the examples are SEDAR, which acts as a consultant for concurrent engineering purposes and SHAKA, which is an intelligent planning agent, which generates courses of action.