Till yesterday...
Computers are not very good at knowing what to do: every single activity the computer performs has to be anticipated, designed and explicitly instructed by one or more programmers
For the most part, we are happy to accept computers as obedient, literal,
unimaginative servants. For many applications (such as payroll processing), it is
entirely acceptable.
New needs
However, to meet the needs of an increasingly number of computer applications,
we require systems that can support goal-driven tasks, i.e. we want to specify which is the result we desire and the application has to be able to autonomously decide how to carry out all the activities to accomplish the task using the resources of the environment it lives in.
We call this entities
agents.
A new technology....
An agent is a computer system that is
situated in some environment, and that is capable of autonomous action in this
environment in order to meet its design objectives.
There is no universally accepted definition of the term agent, and indeed there is a good deal
of ongoing debate and controversy on this very subject. Essentially, while there
is a general consensus that autonomy is central to the notion of agent, there
is little agreement beyond this. Part of the difficulty is that various attributes
associated to agent are of importance for different domains. Thus,
for some applications, the ability of agents to learn from their experiences is of
paramount importance; for other applications, learning is not only unimportant,
it is undesirable.
...more intelligent
So, when do we consider an agent to be intelligent?
Agents that must operate robustly in rapidly changing, unpredictable,
or open environments, where there is a significant possibility that actions can
fail are known as intelligent agents, or sometimes autonomous agents.
In other words, an intelligent agent is one that is capable of flexible autonomous action in order to meet its design
objectives, where flexibility is embodied in three features:
- intelligence: intelligent agents are able to perceive their environment, and respond
in a timely fashion to changes that occur in it in order to satisfy their
design objectives. This can be done in a reactive or pro-active way. Further, some agents are able to evaluate their actions and learn from their (positive or negative) experience.
- social ability: intelligent agents are capable of interacting with other agents
(and possibly humans) in order to satisfy their design objectives. Diverse degree of interactions have been classified from the "simple" interactions with users to agent-agent communication to cooperative plans.
- mobility: expresses the capability to move through the environment. Besides the more traditional remote execution we find the true migration of code and data.
Literature:
- Wooldridge, M.: Intelligent Agents: the Key Concepts, Multi-Agent Applications and Systems II, Springer Verlag, 2001
- Klusch, M. (ed.): Intelligent Information Agents. Springer Verlag, 1999
- Bergamaschi, S., Edwards, P., Klusch, M., and Petta, P.: Intelligent Information Agents (eds.): An AgentLink Perspective, Springer Verlag, Heidelberg, Germany, LNCS State of the Art Surveys