Python implementation of the NEAT neuroevolution algorithm
Clone or download

README.md

Build Status Coverage Status

STATUS NOTE

Due to lack of time on my part, this project is currently in maintenance-only mode. The forks by @drallensmith and @bennr01 have been extended beyond this implementation a great deal, so those might be better starting points if you need more features than what you see here.

About

NEAT (NeuroEvolution of Augmenting Topologies) is a method developed by Kenneth O. Stanley for evolving arbitrary neural networks. This project is a Python implementation of NEAT. It was forked from the excellent project by @MattKallada, and is in the process of being updated to provide more features and a (hopefully) simpler and documented API.

For further information regarding general concepts and theory, please see Selected Publications on Stanley's website.

neat-python is licensed under the 3-clause BSD license.

Getting Started

If you want to try neat-python, please check out the repository, start playing with the examples (examples/xor is a good place to start) and then try creating your own experiment.

The documentation, which is still a work in progress, is available on Read The Docs.

Citing

Here is a Bibtex entry you can use to cite this project in a publication. The listed authors are the maintainers of all iterations of the project up to this point.

@misc{neat-python,
    Title = {neat-python},
    Author = {Alan McIntyre and Matt Kallada and Cesar G. Miguel and Carolina Feher da Silva},
    howpublished = {\url{https://github.com/CodeReclaimers/neat-python}}   
  }