Analog Genetic Encoding Overview Evolution of Analog Electronic Circuits Evolution of Artificial Neural Networks Reverse Engineering Biochemical Networks
bar bar bar bar

Neuroevolution with Analog Genetic Encoding

Evolution of Complexity in Neural Networks

Peter Dürr, Claudio Mattiussi, Dario Floreano

The evolution of artificial neural networks (ANNs) is often used to tackle difficult control problems. There are different approaches to the encoding of neural networks in artificial genomes. Analog Genetic Encoding (AGE) suits very well to this problem. So far, Analog Genetic Encoding has been applied to different problems of neuroevolution, amongst others to a standard benchmark problem. It has been shown that the performance of the algorithm is equivalent or superior to some of the most powerful algorithms for neuroevolution in the literature.


Encoding Neural Networks

Neurons can be represented as symbolic devices with two associated terminal sequences: one for the output terminal and one for the input terminal. The device extraction process obtains them from the genome by assigning the sequences of characters between the device token (“NE”) and the terminal tokens (“TE”) to the respective terminal. The terminal sequences of the different neurons are then used to determine the synaptic weights of the network. The interaction map I(s1, s2) assigns a weight to a pair of sequences, so that we can for example calculate w11 = I(s11, s12). The entire weight matrix can be calculated by doing this for all pairs of terminal sequences in the network.

representation

Representation: The analog genetic encoding applied to neural networks.

A Benchmark

In order to compare the different approaches in neuroevolution on a practical rather than a purely theoretical level, a benchmark test is needed. Stanley and Miikkulainen [1] compare the results of the some common neuroevolution methods using the double pole balancing problem with no velocity information (DPNV).

pole balancingpole balancing

Benchmark: The two pole balancing problem without velocity information.

The DPNV benchmark setup consits of a car with one degree of freedom, on which two poles of different lengths are mounted (see [1] for the details). Based on the measured values of the joint angles and the position of the car, the controller is required to balance both of the poles by applying a force to the car.

results

Results: The results of the double pole balancing with no velocity information (DPNV). CE is cellular encoding [2], ESP is enforced subpopulations [3], NEAT is augmenting topologies [1]. All results are averaged over 20 evolutionary runs. AGE has to be restarted about 10 times on average to obtain a solution.

The results obtained here show that it is possible to use AGE to evolve neural networks for a difficult control task. For more details, please check our paper.


References

[1] Stanley, K.O., Miikkulainen, R.: Evolving neural networks through augmenting topologies. Evolutionary Computation 10(2) (2002) 99–127

[2] Gruau,F., Whitley, D., Pyeatt, L.: A comparison between cellular encoding and direct encoding for genetic neural networks. Genetic Programming 1996: Proceedings of the First Annual Conference (1996) 81–89

[3] Gomez, F. J., Miikkulainen, R.: Solving non-markovian control tasks with neuroevolution. Proceedings of the International Joint Conference on Artificial Intelligence (1999) 1356–1361


Publications

P. Dürr, C. Mattiussi, and D. Floreano. Neuroevolution with Analog Genetic Encoding. In PPSN 2006, 2006.
[ Details | Link | Full Text ]
pixel pixel pixel
pixel
solution

Neuroevolution is a term for the application of genetic algorithms on artificial neural networks. The topology of the network can be subject to the evolution as well as the synaptic weights. The example network shown here has been evolved to solve the double pole balancing problem without velocity information (see main part of the page). Despite its simple structure, the neural networks provides a very robust solution of the problem.

pixel
pixel pixel pixel

Published: 30.08.06/dm      Last update: 30.8.06/dm