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. Alumni erkin [at] cs utexas edu
Thomas D'Silva Masters Alumni twdsilva [at] gmail com
Igor V. Karpov Masters Alumni ikarpov [at] gmail com
Kenneth Stanley Postdoctoral Alumni kstanley [at] cs ucf edu
     [Expand to show all 20][Minimize]
Neuroevolution 2022
Risto Miikkulainen, To Appear In Encyclopedia of Machine Learning and Data Science, 3rd Edition, Dinh Phung, Claude Sammut and Geoffrey I. Webb (Eds.), New York, 2022. Springer.
Tradeoffs in Neuroevolutionary Learning-Based Real-Time Robotic Task Design in the Imprecise Computation Framework 2019
Pei-Chi Huang, Luis Sentis, Joel Lehman, Chien-Liang Fok, Aloysius K. Mok, Risto Miikkulainen, ACM Transactions on Cyber-Physical Systems, Vol. 3 (2019). DOI 0.1145/3178903.
Neuroevolution 2015
Risto Miikkulainen, In Encyclopedia of Machine Learning, 2nd Edition, Sammut, C. and Webb, G. I. (Eds.), Berlin, 2015. Springer.
IJCNN-2013 Tutorial on Evolution of Neural Networks 2013
Risto Miikkulainen, To Appear In unpublished. Tutorial slides..
Multiagent Learning through Neuroevolution 2012
Risto Miikkulainen, Eliana Feasley, Leif Johnson, Igor Karpov, Padmini Rajagopalan, Aditya Rawal, and Wesley Tansey, In Advances in Computational Intelligence, J. Liu et al. (Eds.), Vol. LNCS 7311, pp. 24-46, Berlin, Heidelberg: 2012. Springer.
Evolving Explicit Opponent Models for Game Play 2007
Alan Lockett, Charles Chen, and Risto Miikkulainen, In Genetic and Evolutionary Computation Conference (GECCO-2007) 2007.
Computational Intelligence in Games 2006
Risto Miikkulainen, Bobby D. Bryant, Ryan Cornelius, Igor V. Karpov, Kenneth O. Stanley, and Chern Han Yong, In Computational Intelligence: Principles and Practice, Gary Y. Yen and David B. Fogel (Eds.), Piscataway, NJ 2006. IEEE Computational Intelligence Society.
Creating Intelligent Agents in Games 2006
Risto Miikkulainen, The Bridge (2006), pp. 5-13.
Evolving a Real-World Vehicle Warning System 2006
Nate Kohl, Kenneth Stanley, Risto Miikkulainen, Michael Samples, and Rini Sherony, In Proceedings of the Genetic and Evolutionary Computation Conference 2006.
Evolving Robot Arm Controllers Using the NEAT Neuroevolution Method 2006
Thomas W. D'Silva, Masters Thesis, Department of Electrical and Computer Engineering, The University of Texas at Austin.
Coevolution of Neural Networks Using a Layered Pareto Archive 2005
German A. Monroy, Masters Thesis, Department of Computer Sciences, The University of Texas at Austin.
Neuroevolution of an Automobile Crash Warning System 2005
Kenneth Stanley, Nate Kohl, Rini Sherony, and Risto Miikkulainen, In Proceedings of the Genetic and Evolutionary Computation Conference 2005.
Competitive Coevolution through Evolutionary Complexification 2004
Kenneth O. Stanley and Risto Miikkulainen, Journal of Artificial Intelligence Research, Vol. 21 (2004), pp. 63-100.
Evolving a Roving Eye for Go 2004
Kenneth O. Stanley and Risto Miikkulainen, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2004), Berlin 2004. Springer Verlag.
Continual Coevolution Through Complexification 2002
Kenneth O. Stanley and Risto Miikkulainen, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2002), William B. Langdon and Erick Cantu-Paz and Keith E. Mathias and Rajkumar Roy and David Davis and Riccardo Pol...
Efficient Evolution Of Neural Network Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen, In Proceedings of the Genetic and Evolutionary Computation Conference, William B. Langdon and Erick Cantu-Paz and Keith E. Mathias and Rajkumar Roy and David Davis and Riccardo Poli and Karthik...
Efficient Reinforcement Learning Through Evolving Neural Network Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2002), pp. 9, San Francisco 2002. Morgan Kaufmann.
Evolving Neural Networks Through Augmenting Topologies 2002
Kenneth O. Stanley and Risto Miikkulainen, Evolutionary Computation, Vol. 10, 2 (2002), pp. 99-127.
Neuroevolution through Augmenting Topologies Applied to Evolving Neural Networks to Play Othello 2002
Timothy Andersen, Technical Report HR-02-01, Department of Computer Sciences, The University of Texas at Austin.
Cooperative Coevolution of Multi-Agent Systems 2000
Chern Han Yong, Technical Report HR-00-01, Department of Computer Sciences, The University of Texas at Austin.