Evolutionary Design of Behaviors
for Action-Based Environment Modeling by a Mobile Robot

Seiji Yamada
CISS, IGSSE, Tokyo Institute of Technology
4259 Nagatsuta, Midori, Yokohama 226-8502, JAPAN
yamada@ymd.dis.titech.ac.jp

Abstract
This paper describes an evolutionary way toacquire behaviors of a mobile robot for recognizing environments. We have proposed
AEM (Action-based Environment Modeling)
approach for a simple mobile robot to recognize environments. In AEM, a behaviorbased mobile robot acts in each environments
and action sequences are obtained. The
action sequences are transformed into vectors characterizing the environments, and therobot identiﬁes the environments with similarity between the vectors. The suitablebehaviors like wall-following for AEM havebeen designed by a human. However thedesign is very diﬃcult for him/her because
the search space is huge and intuitive understanding is hard. Thus we propose the evolutionary design of such behaviors using genetic
algorithm and make simulations in which a
robot recognizes the environments with different structures. As results, we ﬁnd out suitable behaviors are learned even for environments in which human hardly designs them,and the learned behaviors are more eﬃcientthan hand-coded ones.

1

Introduction

Previous research on an autonomous agent which recognizes environments have been done primarily inrobotics. The most studies have tried to build a precise geometric map using a robot with high-sensitiveand global sensors like vision[4]. Since their main aim
is to navigate a robot with accuracy, a precise map isnecessary. However, to recognize environments, such astrict map may be unnecessary. Actually many natural agents like animals seem to recognize the environ-ments only with low-sensitive and local sensors [17]. In
terms of engineering, it is important to build a mobile
robot which can recognize environments only with the
inexpensive sensors.
Thus we have tried to build a mobile robot which recognizes environments only with low-sensitive and local
sensors. Since such a robot does not know its positionin the environment, it cannot build a global map of
the environment. Hence we proposed approach that amobile robot can recognize the environment with action sequences. We call this approach AEM (Actionbased Environment Modeling) [19]. In AEM, a mobile
robot is behavior-based and acts using given suitablebehaviors like wall-following in environments. Thenthe action sequences executed in each environment are
obtained, and transformed into environment vectors.
A robot identiﬁes the environments by comparing environment vectors.
Through the research on AEM, we have recognized asigniﬁcant problem: where the suitable behaviors comefrom? . An easy solution is that a human designs them.
This approach has been done thus far, and have succeeded in simple domains. However the behavior design becomes quite diﬃcult for a human designer as thevariety of environments increases. Because a search
space becomes huge, and the intuitive understanding
on suitable behaviors becomes very hard. Hence anautomatic design method like evolutionary way is necessary [6].
In this paper, we propose the evolutionary design
method of such behaviors using GA (Genetic Algorithm) and make experiments for evaluation. For future implementation on a real mobile robot, we use a
Khepera simulator in the experiments. From the experimental results, we found out that our evolutionary
approach is promising to automatically acquire suitable behaviors for AEM, and the acquired behaviors
are more eﬃcient than hand-coded ones.

In the similar approach to AEM, several studies havebeen done in robotics [12] and artiﬁcial life [15]. Nehmzow and Smithers studied on recognizing corners in
simple enclosures with a self-organizing network [15].
They used direction-duration pairs, which indicate thelength of walls and shapes of past corners, as an input
vector to a self-organizing network. After learning, thenetwork becomes able to identify corners. However therecognized structure is very local. Mataric represented
an environment with automaton in which nodes correspond to landmarks [12]. Though the representation ismore robust than a geometric one, a mobile robot must
segment raw data into landmarks and identify them.
Nakamura et al. utilized a sequence of sonar data inorder to reduce the uncertainties in discriminating the
local structure [14]. Though the sequence consists ofsensor data (not actions), their approach is similar to
AEM. Kato et al. used modiﬁed random-walking for
extracting environment structure in statistical way. In
most researches, wall-following has been used as suitable behaviors in [12][15][19]. The behaviors were described by human designers, and ﬁxed independentlyof tasks. Hence they have a signiﬁcant problem thatthe design of the behaviors is very diﬃcult.
There are several studies for applying GP (Genetic
Programming) [11] to learn behaviors of a mobile robot[18][10][16][8]. Unfortunately, in all the studies, very
few and simple behaviors like obstacle avoidance werelearned. In contrast with them, our aim is to learn
the suitable behaviors to AEM, and the behaviors iscomplicated one consisting of several kinds of primitive
behaviors.
Our research is also relevant to automatic generationof pattern recognition procedure because the environment is considered pattern. Evolutionary design ofneural networks for pattern recognition was studied[3]. However they focus on a traditional pattern recognition task, and never deal with the cost for recognition, which is signiﬁcant in this research.

2

Task: Action-based Environment
Modeling

In AEM [19], a mobile robot is designed in a behaviorbased approach [2]. The behavior means mappingfrom states to actions, and a human designer describes
states, actions and behaviors so that action sequences
can represent environment structure. An AEM procedure consists of two stages: a training phase and a test
phase (Fig.1). In the training phase, training environments having a class are given to a robot. The classmeans a category in which the environment should be

A robot acts inan environment

A robot acts inan environment

Test
env.

Training
env.

Actionsequence

Actionsequence
Chain coding
transformation

Chain coding
transformation
Environment
vectorEnvironment
vector

Storing
instances(a) Training phase

Comparing withstored instances(b) Test phase

Figure 1 Overview of AEM

included, and plural environments may be included in
the same class. The mobile robot acts in the environments using given behaviors, and obtains sequencesof executed actions (called action sequence) for eachof them. The action sequences (lists of symbols) aretransformed into real-valued vectors (called environment vectors) using a chain coding-like method. The
environment vectors are stored as instances, and a
training phase ﬁnishes.
In the test phase, a robot is placed in a test environment which is one of training environments. The
robot tries to identify the test environment with oneof training environments, and we call this task environment recognition. Note that though a test environment is one of training environments, the action
sequence of the test environment may be signiﬁcantly
diﬀerent from every sequence of training environments
because of noise in sensing and action. Thus generalization is necessary for environment recognition. The
identiﬁcation is done using 1-Nearest Neighbor method[5] i.e. the robot selects the most similar instance tothe test environment and considers the class of the instance is that of the test environment. The similarity
is evaluated with Euclidean distance between environment vectors.
However, in AEM, there is a signiﬁcant problem:
where the suitable behaviors come from. Since thesuitable behaviors depend on environment structure
which a robot should recognize, they have been described by human designers thus far. However the task
is very diﬃcult for them. Because the search space for

55mm

2
1

3
4

0

5

32mm

DC motor
Infraredproximity sensor
7
6

Figure 2 Khepera

Figure 3

Sensors

or “far”. A state in which all of the sensors has almost same values is also considered. As a result, thenumber of states for light is nine. The total numberof states is 72 (= 23 × 9)
We describe the following four actions. In experimentsfor our research [19], we found the actions were suﬃcient for a mobile robot to do simple behaviors likewall-following. A mobile robot acts in an environmentby executing the actions, and consequently an actionsequence is obtained.

a suitable behavior is very huge: the computational
complexity is O(as ), where a and s are the number ofactions and states. Thus, we propose the evolutionary
method to automatically acquire the suitable behaviors using GA.

3

States, actions and environment
vectors

Using real mobile robots as individuals in GA is notpractical because it is impossible to operate several
tens of real robots over more than one hundred generations. Thus we use a simulator for acquiring behaviors1 , and intend to implement the learned behaviors
on a real mobile robot.
We use a miniature mobile robot KheperaTM (Fig.2)
as a target real robot. It has Motorola 68331 Microprocessor, 256KByte RAM. As shown in Fig.3, it also
has two DC motors as actuators and eight Infra-Red
proximity sensors which measure both distance to obstacles and light strength. Since the sensor data isimprecise and local, Khepera cannot know its position
in a global map. In the later experiments, the simulator build for Khepera will be used.
We describe a state with ranges of a sensed value. For
reducing the search space of behaviors, we restrict the
number of states and actions. A sensor on Khepera
returns 10 bit (0 ∼ 1023) value for distance and lightstrength, and the value is very noisy and crisp. Thus
we transform the distance value into binary values 0
or 1. The value “0” means an obstacle exists within
3cm from a robot. The value “1” means it does notexist. Furthermore only three sensors (0, 2 and 5 inFig.3) are used for reducing states.
Next, states for light strength are described. The only
4 sensors (0, 2, 5 and 7 in Fig.3) are used. We describe a state using the sensor with the strongest lightvalue and binary values which mean a light is “near”
1

In this research, on-line evolutionary learning on a single real robot like [16] is impossible. Because the actions
need to be continuously executed by an individual.

• A1 : Go 5mm straight on.
• A2 : Turn 30˚left.
• A3 : Turn 30˚right.
• A4 : Turn 180˚left.
The generated action-sequence is transformed into an
environment vector. Let an action-sequence and its
environment vector be [a0 , a1 , a2 ,· · ·, an ] (ai ∈ {A1 ,A2 , A3 , A4 }, a0 = 0) and V = (v1 , v2 , · · ·, vm ) (m ≥n) respectively. The vector values of V are determinedby the following rules. They change the vector value
when the direction of movement changes in the similar
way to chain coding[1]. An example of an environment
vector is shown in Fig.4.
• If ai = A1 then vi = vi−1 .
• If ai = A2 then vi = vi−1 + 1.
• If ai = A3 then vi = vi−1 − 1.
• If ai = A4 then vi = −vi−1 .

4Applying GA to acquire behaviors

A behavior is mapping from each state to one of actions. Since we have 72 states and 4 actions, the number of possible behaviors is 472 = 2.2 × 1043. We apply
GA [7] to search the suitable behaviors to AEM in sucha huge search space.
4.1

GA procedure and coding

We use a simple GA procedure and parameters obtained experimentally in the followings.
Step1 Initializing population: An initial population
I1 , · · · , IN are randomly generated.
Step2 Computing fitness: Compute the ﬁtness f1 , · · ·, fN for each individual I1 , · · · , IN .
Step3 If a terminal condition is satisﬁed, this procedure ﬁnishes. A concrete terminal condition will
be deﬁned in §5.

An action sequence
Trace ofactions[ A1, A1, A3, A3, A3, A1, A1, A1, A2, A2, A2, A1, A1, A1 ]Vector value vi

An environment vector
2
2

4

6

8

10

Transformation into environment vectors

Step4 Selection: Using f1 , · · · , fN , select a childpopulation C from the population.
Step5 Crossover: Select pairs randomly from C on
probability Pcross . Generate two children by applying a crossover operator to each pair, and exchange the children with the pairs in C.
Step6 Mutation: Mutate the individuals in C basedon mutation rate Pmut .
Step7 Go to Step2.
• Population size: 50, Crossover operator: Uniform
crossover.
• Selection method: Elite strategy and tournament
selection (the tournament size = 2).
• Crossover rate Pcross : 0.8, Mutation rate Pmut :0.05
Since we deal with deterministic action selection, notprobabilistic, the behavior is mapping from a single
state to a single action. Thus we use the coding inwhich one of actions {A1 , · · ·, A4 } is assigned to eachstate, and the genotype is shown in Fig.5.
4.2

Deﬁning a ﬁtness function

S2

S3

S4

S 71 S 72.... A4 A2
A4 A1 A3 A2Figure 5

Termination of actions A mobile robot needs tostop its actions by itself. Otherwise it may act forever in an environment and no action sequence is obtained. Thus the termination of actions is the mostimportant condition. We use homing for terminating actions. Thus a robot stops when it returns to
the neighborhood of a start point. Homing makes thelength of an obtained action sequence depend on thesize of an environment. A method to terminate actions
in a ﬁxed length of an action sequence does not havesuch advantage. The termination is evaluated withg=(No. of E-trials) + (No. of H-trials)

2 × (Total No. of trials)

where E-trials and H-trials means trials in which a
robot escaped from the neighborhood of the start point
and trials in which it succeeded in homing. Its range
is [0, 1], and it returns 1 when a robot succeeded inhoming in all the environments.
Accuracy of recognition Another important criterion is accuracy of identifying test environments. The
accuracy is evaluated by the following formula.
h=Since ﬁtness is a very important for GA, we have tocarefully deﬁne the ﬁtness function for AEM. We consider three conditions for suitable behaviors to AEM:
termination of actions, accuracy of recognition and efficiency of recognition. The ﬁtness functions for eachconditions are deﬁned and then they are integrated.
S1

14

Vectordimension i-2

Figure 4

120

A coded behavior

No. of successful test env.
Total No. of test env.

Its range is [0, 1], and h = 0 when g = 1.
Eﬃciency of recognition In AEM, a robot needs
to act by operating physical actuators for recognizing an environment, and the actions signiﬁcantly cost.
Hence the actions should be as small as possible foreﬃciency. We introduce the following evaluation function.
ni=1 Sik =1−n ∗ Smax
where Si is the size of an action sequence obtained in
an environment i, Smax is the given limited size of an

Initializing population

Computing fitness

If a robot cannot return home within the limited sizeof an action sequence, the trial of the individual resultsin zero ﬁtness. The terminal condition of GA is thatthe maximum ﬁtness of the population becomes over
2 or the generation number gets 100. When ﬁtness isover 2, both termination and accuracy are satisﬁed.

Evaluating individuals using simulation

Checking a terminal condition

Selection, crossover and mutation

Figure 6 Whole procedure

action sequence, and k = 0 when h = 1. The function
have range (0, 1] and has more value as more eﬃcient2 .
We ﬁnally integrate three ﬁtness function into f =g + h + k having range [0, 3], and f is used in thisresearch. Since the function h (or k) takes 0 when thevalue of g (or h) is less than 1, the function f is phased:
the termination of actions is satisﬁed when 1 ≤ f , therecognition is completely correct when 2 ≤ f , and therecognition eﬃciency is improved when 2 ≤ f < 3.
Fig.6 shows the whole procedure of evolutionary design
developed in this research. It integrates a simple GAprocedure with a Khepera simulation for evaluating
individuals’ ﬁtness.

5

Experiments by simulation

We implemented a system (Fig.6) using a Khepera
simulator [13], and made experiments. The parameters used in all experiments were described in the followings: the neighborhood of a start point for homing
was a circle with 100mm radius, and the limited sizeof an action sequence was 2000 actions.
In the simulator, the motor has ±10% random noise invelocity, ±5% one in rotation of robot’s body. Furthermore an Infra-Red proximity sensor has ±10% random noise in distance, and ±5% one in light strength.
These noise makes the simulator close to a real environment.
2

The obstacle avoidance is implicitly evaluated by thefunction k because the collision increases the length of anaction sequence.

In all experiments, we gave each of training environments to a robot once. The robot acted in the environments, and the environment vectors transformed
from the action sequences were stored as instances.
Next each of the training environment was given to therobot as a test environment, and the robot identiﬁed
each of the test environments with one of the training environments. The start points and directions was
ﬁxed in bottom center and left.
Note that though the test environments are same totraining environments, the action sequences are diﬀerent because of the random noise in a simulator. Hencea system has to learn robust behavior against suchnoise.
In all the experiments, we had 10 diﬀerent trials in
initial population, and investigated the averages andstandard deviations of generation number in which GA
stopped.

5.1

Exp-1: Diﬀerent contours in shapeFirst we made experiments Exp-1 using environmentswith diﬀerent contours in shape. The experimental
results are shown in Table 1. Four parts ((a) ∼ (d) in
Table 1) of ﬁve environments: {emp, L, L2, iL, s-emp}
were given to a robot. Additionally 10 and 12 diﬀerent shape environments were used ((e) and (f) in Table 1). The “GN” is the generation number in which
GA stopped, and “MaxF” means the maximum ﬁtness
value at GN. The numbers in GN and MaxF stand for
averages, and the bracketed numbers are standard deviations. This format is common in all the experimental results. Fig.7 indicates the action traces of the bestindividuals at GN in (d). Fig.8 shows the maximum
values and average values of ﬁtness at every generation for (f) of Exp-1. The average of ﬁtness increased
monotonously as well as the maximum of ﬁtness. In
such simple environments, the suitable behaviors for
AEM were obtained within few generations. The standard deviations was large in GN and small in MaxF,
and this tendency was observed through all the experiments. Seeing from Fig.7, diﬀerent action sequenceswere obtained depending on the structure of the environments.

3

Table 1 Experimental results in Exp-1
Train. env.
{emp, L}(a) + L2(b) + iL(c) + s-emp
10 env.
12 env.

GN
1.0 (0)2.6 (1.84)
2.8 (1.69)
2.8 (1.75)
2.1 (0.738)
5.2 (3.08)

MaxF
2.80 (0.106)
2.43 (0.131)
2.44 (0.025)
2.44 (0.093)
2.51 (0.024)
2.48 (0.07)

2.5

Fitness

Env.
(a)
(b)
(c)
(d)
(e)
(f)

Max.
Ave.

2

1.5

1

0.5

0

1

2

3

4

5

6

7

8

9

10

Generations

Figure 8(a) emp(b) L

Fitness for twelve environments(c) L2(a) emp(d) iL

Figure 7
5.2(b) 1-la(c) 2-la(e) s-emp

Trace of actions in Exp-1

Exp-2: Diﬀerent lights and shape

Next, by adding diﬀerent lights to environments innumber and position, we made ﬁve environments:{emp, 1-la, 2-la, 3-la, 4-la}. Exp-2A is made by using
the subsets of the environments. Light was so strongthat a robot can detect the light direction in any place.
The experimental results are shown in Table 2. Fig.9
indicates the action trace of the best individual at GN
in (j). In the ﬁgures, a black circle stands for a light.
Though the GN increased over ones in Exp-1, the suitable behaviors were obtained. Note that we cannot
intuitively understand the behaviors in Fig.9. Thismeans that it is very hard for human to design such
behaviors by hand-coding and this automatic design
method is quite eﬀective.

Table 2 Experimental results in Exp-2A
Env.
(g)
(h)
(i)
(j)

Train. env.
emp, 1-la(g) + 2-la(h) + 3-la(i) + 4-laGN
1.6 (0.966)
4.8 (2.78)
9.3 (5.19)
10.0 (5.94)

MaxF
2.68 (0.196)
2.59 (0.131)
2.59 (0.111)
2.62 (0.075)(d) 3-laFigure 9(e) 4-laTrace of actions in Exp-2A

We also set six environments: {emp, 1-la, L, L1-la, iT,
iT1-la} by adding lights to three environments with
diﬀerent contours, and made experiments Exp-2B using them. Each environment is included diﬀerent classand all of them should be distinguished. As a result,
GN was 13.2(7.67) and MaxF was 2.61(0.091). Fig.10
shows the action traces of the best individual at GN.
Over all the environments, actions are very diﬀerent
mutually, and the design seems to be diﬃcult.
5.3

Exp-3: A single class including pluraltraining environments

In Exp-1 and Exp-2, each environment is included in
diﬀerent classes. However, in this experiment, pluralenvironments are included in a single class. For recognizing such environments, better generalization is necessary. We assigned three classes to six environments
used in Exp-2B: {emp, 1-la}, {L, L1-la}, {iT, iT1-la},and made experiments Exp-3. As a result, GN was

(b) 1-la(c) L

Length of action sequences(a) emp500

Wall-following
Learned behaviors

400
300
200
100
0

(d) L1-la(e) iT(f) iT1-laFigure 10 Trace of actions in Exp-2B
8.8(4.24) and the maximum ﬁtness was 2.61(0.091).
Thus our approach is valid for induction from several
instances of a class.

6

Discussion

6.1

Comparison with hand-coded behaviors

It is very diﬃcult that a human designs the behaviors
obtained in most of the above experiments. Note thatthe obtained behaviors are diﬀerent from the behaviors, like wall-following, random walking, which a human has designed for AEM thus far. Since the search
space is huge and we have few heuristics for eﬃciency,
the design task becomes very diﬃcult.
We compare the learned behaviors with wall-following
which is typical hand-coded behaviors for AEM as
mentioned in §1. Fig.11 shows average length of action
sequences for test environments in Exp-1 (Table 1). As
seeing from the ﬁgure, learned behaviors are more eﬃcient than wall-following in all environment sets. Thus
our approach designed more eﬃcient behaviors thantypical hand-coded behaviors.
Furthermore we again made Exp-1 by introducing 1%
random noise to initial positions and rotation of a mobile robot. Though the noise is very small, it made theproblem very diﬃcult and the behaviors were acquired
in only (a), (b), (c) except (d), (e), (f). This diﬃculty
has been pointed out [18] and is still an open problem
in our approach.
6.2

Diﬃculty of behavior acquisition

As seeing from Env.(a) in Table1, the suitable behaviors are already included in the initial population. Thisimplies that though the search space is huge, the large

(a)

(b)

(c)

(d)

(e)

(f)

Environments

Figure 11 Comparison with wall-following

number of suitable behaviors exist for Env.(a). To
verify this expectation, we investigated the executed
behaviors of individuals with maximum ﬁtness in 10
diﬀerent trials. As results, the executed behaviors are
categorized into ﬁve classes shown in Table.3. The
bracketed number indicate the number of the categorized behaviors in the class, and the actions were
described earlier. The intuitive explanations on thestates are as follows.
• State S0 : No obstacle and light around a robot.
• State S9 : Obstacle in the left and no light.
• State S18 : Obstacle in the front and no light.
• State S36 : Obstacle in the right and no light.
As seeing from Table.3, this 10 individuals experienced
only the subsets of {S0, S9, S18, S36}. Thus the actual combination of states is 44 = 256. Also each of
BS-1 and BS-2 has four suitable behaviors3, and eachof BS-3, BS-4, BS-5 has a single suitable behavior.
As results, the total number of suitable behaviors is
11. Since the population size is 50, the probability
that any suitable behavior exists in the initial pop50= 0.89. This supports theulation is 1 − ( 256−11
256 )fact that suitable behaviors exist in the initial population. Furthermore we investigated the average numberof suitable behavior classes was 3.4 ∼ 18.4. Hence wefound out a robot actually experienced a small partof 72 states. We are developing heuristics to speedup
evolution using the bias of executed behavior[9].
3Because BS-1 does not care the action for S9 and thenumber of actions is four. BS-2 is similarly.

Table 3 Executed behaviors
behaviors
behaviors
BS-1 (5) S0 → A1
BS-4 (1) S0 → A1
S18 → A2
S9 → A1
S36 → A2
S18 → A2
BS-2 (1) S0 → A1
S36 → A4
S9 → A3
BS-5 (1) S0 → A1
S18 → A3
S9 → A4
BS-3 (2)0 → A1
S18 → A3
S9 → A3
S36 → A2
S18 → A2
S36 → A4

7

Conclusion

We proposed evolutionary acquisition of suitable behaviors to Action-based Environment Modeling. GA
was applied to search the behaviors, and the simulated
mobile robots were used as individuals. States andactions were described for coding chromosomes, andwe carefully deﬁned a ﬁtness function. We made various experiments using diﬀerent environments in shape,
lights and both of them, and found out our approachis promising to learn suitable behaviors for AEM. Furthermore some of learned behaviors were more eﬃcientthan hand-coded ones. However there are open problems like the followings.
• Analysis and more complex domain: We must analyze the experimental results for clarify how toacquire the suitable behaviors. Furthermore wewill make experiments in more complex domains,and clarify problems there.
• Implementing learned behaviors on a real robot:
Implementation on a real robot is our ﬁnal target.
The gap between simulation and an real environment may make it diﬃcult.

References[1] E. M. Arkin, L. P. Chew, D. P. Huttenlocher, K. Kedem, and J. S. B. Mitchell. An eﬃciently computable
metric for comparing polygonal shapes. IEEE Transaction on Pattern Analysis and Machine Intelligence,13(3):209–216, 1991.
[2] R. A. Brooks. A robust layered control system fora mobile robot. IEEE Transaction on Robotics andAutomation, 2(1):14–23, 1986.
[3] S. B. Cho and K. Shimohara. Emergence of structure and function in evolutionary modular neural networks. In Proceedings of the Fourth European Conference on Artificial Life, pages 197–204, 1997.

[4] J. L. Crowly. Navigation of an intelligent mobile
robot. IEEE Transaction on Robotics and Automation, 1(1):31–41, 1985.
[5] B. V. Dasarathy. Nearest Neighbor (NN) Norms: NN
Pattern Classification Techniques. IEEE Computer
Society Press, 1991.
[6] I. Harvey, P. Husbands, and D. Cliﬀ. Issues in evolutionary robotics. In Proceedings of the Second International Conference on Simulation of Adaptive Behavior, pages 364–373, 1992.
[7] J. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975.
[8] T. Ito, H. Iba, and M. Kimura. Robustness of robot
programs generated by genetic programming. In Genetic Programming 1996, Proceedings of the First Annual Conference, pages 321–326, 1996.
[9] D. Katagami and S. Yamada. Speedup of evolutionary
behavior learning with crossover depending on the usage frequency of a node. In The 1999 IEEE Systems,
Man, and Cybernetics Conference, pages V601–V606,
1999.
[10] J. R. Koza. Evolution of subsumption using genetic
programming. In Proceedings of the First European
Conference on Artificial Life, pages 110–119, 1991.
[11] J. R. Koza. Genetic Programming. MIT Press, 1992.
[12] M. J. Mataric. Integration of representation into goaldriven behavior-based robot. IEEE Transaction on
Robotics and Automation, 8(3):14–23, 1992.
[13] O. Michel. Khepera Simulator v.2 User Manual. University of Nice-Sophia Antipolis, 1996.
[14] T. Nakamura, S. Takamura, and M. asada. Behaviorbased map representation for a sonar-based mobile
robot by statistical methods. In Proceedings of the1996 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 276–283, 1996.
[15] U. Nehmzow and T. Smithers. Map-building using self-organizing networks in really useful robots.
In Proceedings of the First International Conferenceon Simulation of Adaptive Behavior, pages 152–159,
1991.
[16] P. Nordin and W. Banzhaf. A genetic programming
system learning obstacle avoiding behavior and controlling a miniature robot in real time. Technical report, Department of Computer Science, University ofDortmund, 1995.
[17] D. S. Olton. Spatial memory. Scientific American,
236(6):82–99, June 1977.
[18] C. W. Reynolds. Evolution of obstacle avoidance behavior: Using noise to promote robust solutions. In
J. K. E. Kinnear, editor, Advances in Genetic Programming, volume 1, chapter 10, pages 221–241. MIT
Press, 1994.
[19] S. Yamada and M. Murota. Unsupervised learning torecognize environments from behavior sequences in a
mobile robot. In Proceedings of the 1998 IEEE International Conference on Robotics and Automation,
pages 1871–1876, 1998.