cent. Hence, the recommendation should be given to
the programmer, i.e. designer of the architecture, to
estimate the number of discrete states that will
generate a particular feedback from the environment.
Note that it could be assumed that a higher
number of commands will produce a larger internal
structure though there is no strict mathematical
relation between these concepts. This last assertion
may be inferred from the following example: all the
possible commands on actuators may be integrated
within a tiny structure of only two states
representing “mobility” and “immobility”.
Nevertheless, it could be assumed that, when
integrating the CI-Module with an architecture, it is
convenient to associate a reduced set of commands.
In conclusion, due to its compliance, the
corresponding C++ implementation of the CI-
Module may be added to the GFM library that
integrates all the fundamental components and
permits the design of an architecture for a GFM
controller.
4 APPLICATION
As mentioned before, each time a GF module is
developed a corresponding application must be
programmed and tested in parallel because the
module is supposed to be able to perform as a
controller on its own. Such an application represents
the challenge that directs the development of a
specific module.
In cognitive psychology, mazes constitute natural
tools to investigate causal inference. The obtained
results in this area have inspired in some way the
present study as, for example, the reference
introduced at the end of section 2.4.2. Actually, a
maze is the application defined to evaluate the
performance of the CI-Module. Nevertheless, the
behaviour of a rat in a maze is more complex than a
causal inference based control system because others
cognitive abilities like spatial representation take
part in the process.
In the current application, maze’s positions
correspond to states whose current one is provided
as feedback to the controller; meanwhile the set of
actions is composed of the elementary moves in
each of the four possible directions: north, south,
east and west. The task of the module consists of
learning the configuration of a particular maze as
illustrated on figure 6 and learning to satisfy a
request that stipulates which position to reach. Thus
a classic maze is implemented with three additional
characteristics:
First, the internal walls constituting the maze
may shift randomly from time to time;
Second, some “sliding effect” sometimes alters
the response to an action, in other words the
maze is not fully deterministic.
Third, the cost of each move is a function of its
direction.
Experimentally, the CI-Module is perfectly able
to perform the task of learning and solving the maze.
This is obvious since the maze offers a mirror
representation of the state graph that describes the
internal structure of the module. In fact, initially, the
maze has been conceived as an illustration of the
module’s expectations and then, it has been
employed to guide its development. Hence, for the
designer, the maze serves as a reference of the
ability of the CI-Module.
The major difficulty has been to deal with the
walls’ shifts in absence of tactile or visual
perception and thus, to discover a potential shorter
path as the emergent one indicated with dashed lines
on figure 6. In absence of any complementary
perception, the solution, given in section 2.4.3
consists of occasionally, triggering apparently
inefficient commands, thus giving the system the
ability of discovering new opportunities. Despite its
slowness, this mechanism satisfies the initial
requirement of adaptability inherent to the
architecture.
The tests have been realized running the single
module on a computer and the maze application on
another, both connected by a serial connection
implemented with the GFM standard protocol. The
results show that the version of the CI-Module
described in this paper, comply with all its expected
functionalities.
Finally, the importance of feedback timing must
be considered. In practice, the perception of a causal
inference depends of the proximity in space and
mostly time between an action and an effect. So, as
the delay increases, the consistency of the relation
decreases. The feedback is provided to the CI-
Module once the command has been fully
performed. In the case of commands triggered by
modules that involve requests to lower modules, the
feedback is provided when all the subsequent
commands have been applied and, consequently this
will increase the feedback’s delay. However, the
reaction of the environment is not always
instantaneous; for example, “the production of heat
as resulting from switching on a lamp” represents a
complex inference as a result of the extended delay
that occurs between both events. In such case, the
sensing Area is supposed to help providing the
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
462