This project is currently in maintenance-only mode. I will make bug fixes, do cleanup, and possibly improve sample code as I have time, but I will not be adding any new features. 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.
NEAT (NeuroEvolution of Augmenting Topologies) is a method developed by Kenneth O. Stanley for evolving arbitrary neural networks. This project is a pure-Python implementation of NEAT with no dependencies beyond the standard library. 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.
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, is available on Read The Docs.
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}}
}