Intelligent agent



The terms "agent" and "intelligent agent" are ambiguous and have been used in two different, but related senses, which are often confused.

In computer science, an intelligent agent (IA) is a software agent that assists users and will act on their behalf, in performing non-repetitive computer-related tasks. An agent in the sense of the word is like an insurance agent or travel agent. While the working of software agents used for operator assistance or data mining (sometimes referred to as bots) is often based on fixed pre-programmed rules, "intelligent" in this context is often taken to imply the ability to adapt and learn.

In artificial intelligence, an intelligent agent is used for intelligent actors, which observe and act upon an environment, to distinguish them from intelligent thinkers isolated from the world. An agent in this sense of the word is an entity that is capable of perception and action. Such an agent might be a robot or an embedded real time software system - and is intelligent if it interacts with its environment in a manner that would normally be regarded as intelligent if that interaction were carried out by a human being.

There is no reason why these two notions of intelligent agent need to be related. An intelligent agent in the first sense might be implemented using conventional software techniques and display no more intelligence than a conventional computer program. On the other hand, an intelligent agent in the second sense might be wholly autonomous, carrying out its own agenda, and acting as an agent for no one.

Intelligent agents in artificial intelligence
In the artificial intelligence sense of the term, there are multiple types of agents and sub-agents. For example:


 * 1) Physical Agents - A physical agent is an entity which percepts through sensors and acts through actuators.
 * 2) Temporal Agents - A temporal agent may use time based stored information to offer instructions or data acts to a computer program or human being and takes program inputs percepts to adjust its next behaviors.

A simple agent program can be defined mathematically as an agent function which maps every possible percepts sequence to a possible action the agent can perform or to a coefficient, feedback element, function or constant that affects eventual actions:

$$f:P*->A$$

The program agent, instead, maps every possible percept to an action.

It is possible to group agents into five classes based on their degree of perceived intelligence and capability:
 * 1) simple reflex agents;
 * 2) model-based reflex agents;
 * 3) goal-based agents;
 * 4) utility-based agents;
 * 5) learning agents.

1. Simple reflex agents

Simple reflex agents acts only on the basis of the current percept. The agent function is based on the condition-action rule:

if condition then action rule

This agent function only succeeds when the environment is fully observable. Some reflex agents can also contain information on their current state which allows them to disregard conditions whos actuators are already triggered.

2. Model-based reflex agents

Model-based agents can handle partially observable environments. Its current state is stored inside the agent maintaining some kind of structure which describes the part of the world which cannot be seen. This behavior requires information on how the world behaves and works. This additional information completes the “World View” model.

3. Goal-based agents

Goal-based agents are model-based agents which store information regarding situations that are desirable. This allows the agent a way to choose among multiple possibilities, selecting the one which reaches a goal state.

4. Utility-based agents

Goal-based agents only distinguish between goal states and non-goal states. It is possible to define a measure of how desirable a particular state is. This measure can be obtained through the use of a utility function which maps a state to a measure of the utility of the state.

5. Learning agents

In some literature IAs are also referred to as autonomous intelligent agents, which means they act independently, and will learn and adapt to changing circumstances. According to Nikola Kasabov IA systems should exhibit the following characteristics:


 * learn and improve through interaction with the environment (embodiment)
 * adapt online and in real time
 * learn quickly from large amounts of data
 * accommodate new problem solving rules incrementally
 * have memory based exemplar storage and retrieval capacities
 * have parameters to represent short and long term memory, age, forgetting, etc.
 * be able to analyze itself in terms of behavior, error and success.

To actively perform their functions, Intelligent Agents today are normally gathered in a hierarchical structure containing many “sub-agents”. Intelligent sub-agents process and perform lower level functions. Taken together, the intelligent agent and sub-agents create a compete system that can accomplish difficult tasks or goals with behaviors and responses that display a form of intelligence.

Some of the sub-agents (not already mentioned in this treatment) that may be a part of an Intelligent Agent or a complete Intelligent Agent in themselves are:
 * 1) Temporal Agents (for time-based decisions);
 * 2) Spatial Agents (that relate to the physical real-world);
 * 3) Input Agents (that process and make sense of sensor inputs - example neural network based agents neural network);
 * 4) Processing Agents (that solve a problem like speech recognition);
 * 5) Decision Agents (that are geared to decision making);
 * 6) Learning Agents (for building up the data structures and database of other Intelligent agents);
 * 7) World Agents (that incorporate a combination of all the other classes of agents to allow autonomous behaviors).

Intelligent agents in computer science
A very limited set of agents, that might be classified as semi-intelligent due to their lack of complexity, decision making, extremely limited world view and learning capacity can be found in the reference: Third Canadian Edition of "Management Information Systems for the Information Age". This document suggests that there are only four essential types of Intelligent Agents:


 * 1) Buyer agents or shopping bots
 * 2) User or personal agents
 * 3) Monitoring-and-surveillance agents
 * 4) Data Mining agents

1. Buyer Agent

Buyer agents travel around a network (i.e. the internet) retrieving information about goods and services. These agents, also known as 'shopping bots', work very efficiently for commodity products such as CDs, books, electronic components, and other one-size-fits-all products. Amazon.com is a good example of a shopping bot. The website will offer you a list of books that you might like to buy on the basis of what you're buying now and what you have bought in the past.

2. User or Personal Agents

User agents, or personal agents, are intelligent agents that take action on your behalf. In this category belong those intelligent agents that already perform, or will shortly perform, the following tasks:


 * Check your e-mail, sort it according to priority (your priority), and alert you when good stuff comes through - like college acceptance letters
 * Play computer games as your opponent or patrol game areas for you
 * Assemble customized news reports for you. There are several versions of these, CNN being a prime example
 * Find information for you on the subject of your choice
 * Fill out forms on the Web automatically for you, storing your information for future reference
 * Scan Web pages looking for and highlighting text that constitutes the "important" part of the information there
 * "Discuss" topics with you ranging from your deepest fears to sports

3. Monitoring and Surveillance Agents

These agents, also known as "predictive agents", are intelligent agents that observe and report on equipment. For example, NASA's Jet Propulsion Laboratory has an agent that monitors inventory, planning, and scheduling equipment ordering to keep costs down, as well as food storage facilities. These agents usually monitor complex computer networks that can keep track of the configuration of each computer connected to the network.

4. Data Mining Agents

A data mining agent operates in a data warehouse discovering information. A 'data warehouse' brings together information from lots of different sources. 'Data mining' is the process of looking through the data warehouse to find information that you can use to take action, such as ways to increase sales or keep customers who are considering defecting. 'Classification' is one of the most common types of data mining, which finds patterns in information and categorizes them into different classes. Data mining agents can also detect major shifts in trends or a key indicator and can detect the presence of new information and alert you to it.