NEAT C++
Released 2010
The NEAT package contains source code implementing the NeuroEvolution of Augmenting Topologies method. The source code is written in C++. NEAT is a method for evolving speciated neural networks of arbitrary structures and sizes. NEAT leverages the evolution of structure to make neuroevolution more efficient. For more information on NEAT, see the original publication or our Neuroevolution page.

The package includes implementations of experiments for XOR, single pole balancing, and both Markovian and non-Markovian double pole balancing.

For answers to common questions, refer to our FAQ .

Please contact kstanley@cs.utexas.edu for comments, including ideas or plans for expanding the open source software.

Versions:

  • v1.0 8/16/01 kstanley
  • v1.1 7/14/02 kstanley
    • removed extraneous files from package
    • fixed array bound error
    • made text output default on instead of off
  • v1.2 7/19/10 kstanley & ikarpov
    • Re-release package under Apache 2.0 license per authors' request
    • Fix compilation errors with GCC 4.x.x and above
    • Make sure neat requires the paramfile command line argument.
    • Update README file
  • v1.2.1 8/20/11 erkin
    • Fix typo in NNode::depth() causing max_depth to be calculated incorrectly.
    • Fix Makefile optimization flag and a few minor memory issues.
    • Fix a performance regression with the Markovian double pole balancing experiment, mainly by increasing weight caps.
    • Consider failed runs when printing the average number of evaluations.
Download:
ZIP, TAR
Erkin Bahceci Ph.D. Student erkin@cs.utexas.edu
Thomas D'Silva Masters Student (Alumni) twdsilva@gmail.com
Igor V. Karpov Ph.D. Student ikarpov@cs.utexas.edu
Kenneth Stanley Postdoc (Alumni) kstanley@cs.ucf.edu
IJCNN-2013 Tutorial on Evolution of Neural Networks 2013
Risto Miikkulainen
Multiagent Learning through Neuroevolution 2012
Risto Miikkulainen, Eliana Feasley, Leif Johnson, Igor Karpov, Padmini Rajagopalan, Aditya Rawal, and Wesley Tansey
Evolving Explicit Opponent Models for Game Play 2007
Alan Lockett, Charles Chen, and Risto Miikkulainen
Computational Intelligence in Games 2006
Risto Miikkulainen, Bobby D. Bryant, Ryan Cornelius, Igor V. Karpov, Kenneth O. Stanley, and Chern Han Yong
Creating Intelligent Agents in Games 2006
Risto Miikkulainen
Evolving a Real-World Vehicle Warning System 2006
Nate Kohl, Kenneth Stanley, Risto Miikkulainen, Michael Samples, and Rini Sherony
Evolving Robot Arm Controllers Using the NEAT Neuroevolution Method 2006
Thomas W. D'Silva
Coevolution of Neural Networks Using a Layered Pareto Archive 2005
German A. Monroy
Neuroevolution of an Automobile Crash Warning System 2005
Kenneth Stanley, Nate Kohl, Rini Sherony, and Risto Miikkulainen
Competitive Coevolution through Evolutionary Complexification 2004
Kenneth O. Stanley and Risto Miikkulainen
Evolving a Roving Eye for Go 2004
Kenneth O. Stanley and Risto Miikkulainen
Continual Coevolution Through Complexification 2002
Kenneth O. Stanley and Risto Miikkulainen
Efficient Evolution Of Neural Network Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen
Efficient Reinforcement Learning Through Evolving Neural Network Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen
Evolving Neural Networks Through Augmenting Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen