### Racing With Evolutionary Algorithms

There is an interesting comparison among different evolutionary algorithms on the control of three legged robots. From the paper abstract:

"Abstract:

Building a three legged robot is an extremely challenging task. Since three legged walking is not yet common neither in nature nor in technology it is not a priori clear what a three legged walking gait should look like. The term paper compares several techniques to find feasible gaits, using different numerical optimization strategies including IDEA, CMA-ES and Lazy Learning. All calculations have been on a specifically developed mechanics model."

See here an animation of the racing of the four robots got by the evolutionary algorithms applied.

The evolutionary algorithms applied were:

1. CMA-ES (Covariance Matrix Adaptation Evolution Strategy).

2. IDEA (Iterated Density Estimation Evolutionary Algorithm, an EDA).

3. Random Search.

4. Lazy Learning.

We can clearly see that the CMA-ES outperformed the other three evolutionary algorithms. CMA-ES is a poweful evolutionary algorithm and uses very small populations - such as two or few individuals. It can deal with problems which exhibit some or all the following features:

01. Ill-conditioning.

02. Non-separability/Non-decomposability.

03. Noise.

04. Rotation (or transformations in general) of the coordinate system.

05. Multi-modality.

06. Non-smooth.

It is well known that genetic algorithms (and other approaches) have difficulty when dealing with problems that exhibit some (or all) of those features above.

There is another animation of a solution (robot) got by the CMA-ES, see here. Click here for a summary upon the subject.

Could CMA-ES also be applied to control much more complex robots? See below some speculations.

More than three legs!

A multi-legged robot roaming through a rocky environment:

Even Martians could use a CMA-ES to control their three legged robots!

:-)