It is important to point out that there is no common agreement on the definition of agents. This follows as depending in which area they are used, certain attributes are more necessary than others. However, the one thing that is agreed upon is that the primary characteristic of an agent is its autonomous behaviour.
Even so, we introduce a general definition that can be specified according to its particular role:
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.
Weiss,
Multiagent
Systems, Page
29.
In the
definition above, if an agent is situated in an environment
then:-
•
It
exists in that environment.
•
It must
know where it currently is in that environment.
•
It must
be able to attempt to make changes.
An agent must be able to respond to messages and/or sensory
data, in order to monitor its environment. This is saying
that the agent is reactive in its surroundings.
We give
a formal definition of autonomy:
Capacity
of agents to act without intervention of humans and other
systems. In terms of programming concepts, this is the
capacity for an entity to have control over its own
internal state and behaviour.
Weiss,
Multiagent
Systems, Page
29.
In these
two definitions we however remain very general because we
don’t consider any type
of
agents or environments. These types generally depend on the
problem we want to solve and the properties of the
environment in which MAS will evolve.
Below is a simple outline of how an agent may interact with
its environment.