Competitive Coevolution through Evolutionary Complexification (2004)
Two major goals in machine learning are the discovery and improvement of solutions to complex problems. In this paper, we argue that complexification, i.e. the incremental elaboration of solutions through adding new structure, achieves both these goals. We demonstrate the power of complexification through the NeuroEvolution of Augmenting Topologies (NEAT) method, which evolves increasingly complex neural network architectures. NEAT is applied to an open-ended coevolutionary robot duel domain where robot controllers compete head to head. Because the robot duel domain supports a wide range of strategies, and because coevolution benefits from an escalating arms race, it serves as a suitable testbed for studying complexification. When compared to the evolution of networks with fixed structure, complexifying evolution discovers significantly more sophisticated strategies. The results suggest that in order to discover and improve complex solutions, evolution, and search in general, should be allowed to complexify as well as optimize.
View:
PDF, PS, HTML
Citation:
Journal of Artificial Intelligence Research, Vol. 21 (2004), pp. 63-100.
Bibtex:

Risto Miikkulainen Faculty risto [at] cs utexas edu
Kenneth Stanley Postdoctoral Alumni kstanley [at] cs ucf edu
NEAT C++ The NEAT package contains source code implementing the NeuroEvolution of Augmenting Topologies method. The source code i... 2010

NEAT C# The SharpNEAT package contains C# source code for the NeuroEvolution of Augmenting Topologies method (see the original <... 2003

NEAT Delphi The Delphi NEAT package contains Delphi source code for the NeuroEvolution of Augmenting Topologies method (see the orig... 2003

NEAT Matlab The Matlab NEAT package contains Matlab source code for the NeuroEvolution of Augmenting Topologies method (see the orig... 2003

NEAT C++ for Microsoft Windows The Windows NEAT package contains C++ source code for the NeuroEvolution of Augmenting Topologies method (see the origin... 2002

NEAT Java (JNEAT) The JNEAT package contains Java source code for the NeuroEvolution of Augmenting Topologies method (see the original 2002