Example of the program of an agent
The program Agent-directed-with the help of-table which is
bound to for each new perception and return an action to each moment. The
program stores a succession of perceptions by using its own private structure
of data.
Function Agent-directed-with the help
of-table (perception) returns an action
Static variables: perceptions, a
continuation, empty initially
Count, a table of actions, indexed by continuations of
perceptions, completely definite initially.
To add perceptionI at the end of
perceptions
Action? CONSULTATION (perceptions, table)
Return an action
This pseudo code shows the program of a very simple agent
which stores the continuation of perceptions and afterwards, compares them with
the continuations stored in the table of actions to decide what it must do.
The table explicitly represents the function which defines the
program of the agent. To build a rational agent in this way, the designers must
carry out a table which contains the actions associated with each continuation
with perceptions.
But because of the large dimensions of the tables, it is
practically impossible to design agents directed by the help of tables.
Thus, we present the four fundamental types of the programs of
the agents which embody the fundamental principles of all the intelligent
agents:
· Simple reactive agents
· Reactive agents based on the models
· Agents based on the objectives
· Agents based on the utility.
1. Simple reactive agents
The simplest type of the agent is the simple reactive agent.
This type of agent chooses the actions according to current perceptions, being
unaware of the remainder of historical perceptions. For example, the Cleaner
agent whose function of agent can arise in a partial table hereafter:
Continuation of perceptions
|
Actions
|
[ A, clean ]
[ A, dirty ]
[ B, clean ]
[ B, dirty ]
[ A, clean ], [ A, clean ]
[ A, clean ], [ A, dirty ]
[ B, clean ], [ B, clean ]
[ B, clean ], [ B, dirty ]
[ A, clean ], [ A, clean ], [ A, clean ]
[ A, clean ], [ A, clean ], [ A, dirty ]
[ B, clean ], [ B, clean ], [ B, clean ]
[ B, clean ], [ B, clean ], [ B, dirty ]
|
Right-hand side
aspirate
Left
aspirate
Right-hand side
aspirate
Left
aspirate
Right-hand side
aspirate
Left
Aspirate
|
The cleaner agent is a simple reactive agent because it makes
its decisions while being based on the state of the current localization. Its
program of agent arises as follows:
Function CLEANER_REACTIF_AGENT
([localization, state]) returns an action
If state = dirty return
Aspirer
Otherwise if localization = A then
return Right-hand side
Otherwise if localization = B then
return Left
1. Reactive agents based on the models
The most effective manner for the
agents to handle the partial visibility is to store information on these parts
of the world which they cannot see. Thus, the agent must maintain a certain
type of internal state which depends on the perceived history which can reflect
at least the non-observable aspects of the current state. The use of the
information of the state interns as time passes requires codifying two types of
knowledge in the program of the agent:
Ø The knowledge concerning how evolves/moves the world
independently of the agent;
Ø The information on how the actions of the agent
affect the world.
This knowledge on how the world functions, whether it is
implemented with a simple Boolean circuit or complete scientific theories, is
called "model of the world". An agent which uses this model is an agent based on the models.
The structure of a simple reactive agent with state interns
arises as follows:
How is currently the world?
Which action do I have to take?
state
Which effects my actions cause
Rules of production
This structure shows how current perception combines with the
state interns old to generate the brought up to date description of the current
state. The program of the agent arises as follows:
Function reactive-Agent-with-state
(perception) returns an action
Static: state, a current
description of the state of the world
Rules, a whole of rules condition-action
Action, the more recent action, initially none
State refresh-state (state, action, perception)
Rule: Rule-coincidence (state, rules)
Action Rule-Action [Rule]
Return action
A reactive agent based on the models, which stores information on
the current state of the world by bringing up to date an internal model. Then
an action chooses in the same way that the reactive agent.
The interesting part is the one corresponding to
refresh-state function, which is responsible for the creation of the new
description of the internal state. In addition to the interpretation of the new
perception starting from existing knowledge on the state, it uses information
relating to the way in which the world evolves/moves to know more about the
parts of the world which are not visible; for that reason it must know which is
the effect of the actions of the agent on the state of the world.
|