Lessons learned

It is important to realize that there are many implementation issues, that one may not think of at first. How do you measure distance traveled? Do you measure from the center of the body or the outside? If the creature is larger or very long, this scale advantage may not be fair. Using the wrong Cartesian coordinate will result in creatures with jumping behavior as their main trait, instead of locomotion. Is distance based on the final position vector minus the initial position vector, or do you sample in-between? Creatures that are very fast but run in circles would lose from slow but straight movers. Sampling positions very often might award a `trembling' creature with movement, while it stays on the spot in longer timespans.

The previous illustrates that there are many considerations when designing a selection function. You get what you select (very literally), but the way in which the creatures do it is creative and may be unexpected. Not only is the genetic algorithm able to evolve better locomotion strategies, it is also able to ``find'' and exploit inaccuracies in the physics engine to achieve a high fitness. It is very important to think through the fitness function. This may include formulating a penalty for cheating the physics engine (causing unrealistic simulated behavior). Especially with repetitive motion patterns rounding errors can accumulate [KN93].

It also matters a great deal what reproductive heuristic you choose. Do you recombine only properties with the top-ranking? If so, the whole population might become quite homogeneous after a while and only a (very) select part of the search space will be searched (very) thoroughly. In other words: a lot of `strategies' will not be `tried', there will be at most fine-tuning of a main theme (which is itself quite random). Would you recombine two parents or a different number?3.3Another important observation is that after some generations, the creatures do not immediately converge into only one shape with one locomotion strategy. For a long time various strategies will exist side by side. Many `strategies'3.4 arise, like hopping, walking, rolling, pushing, swimming.

Erik de Bruijn 2007-10-19