Pattie Maes has developed an agent architecture in which an agent is
defined as a set of competence
modules [Maes, 1991][Maes, 1990b][Maes, 1989]. These modules loosely
resemble the behaviours of Brooks' subsumption architecture (above).
Each module is specified by the designer in terms of pre- and
post-conditions (rather like STRIPS operators), and an activation level, which gives a real-valued indication of the relevance of the module in a particular situation. The higher the
activation level of a module, the more likely it is that this module
will influence the behaviour of the agent. Once specified, a set of
competence modules is compiled into a spreading activation
network, in which the modules are linked to one-another in ways
defined by their pre- and post-conditions. For example, if module
has post-condition
, and module
has pre-condition
,
then
and
are connected by a successor link. Other
types of link include predecessor links and conflicter links. When an
agent is executing, various modules may become more active in given
situations, and may be executed. The result of execution may be a
command to an effector unit, or perhaps the increase in activation
level of a successor module.
There are obvious similarities between the agent network architecture and neural network architectures. Perhaps the key difference is that it is difficult to say what the meaning of a node in a neural net is; it only has a meaning in the context of the net itself. Since competence modules are defined in declarative terms, however, it is very much easier to say what their meaning is.