This project is a JavaScript-based implementation of NEAT (Neuroevolution of Augmenting Topologies), an evolutionary algorithm developed by Kenneth O. Stanley and Risto Miikkulainen. Originally introduced in their 2002 paper, Evolving Neural Networks Through Augmenting Topologies, NEAT presents a novel approach to evolving artificial neural networks by optimizing both network weights and structures over generations.
In this implementation, NEAT’s principles are faithfully applied, emphasizing the algorithm's core components: speciation, crossover, and structural mutation. These elements enable neural networks to adapt in complexity as they evolve, making NEAT a unique approach to neuroevolutionary algorithms.
This implementation offers a clear, accessible codebase for those exploring NEAT and has achieved results comparable to the benchmarks demonstrated in the original paper, providing a solid foundation for further exploration and development.
To install for Node.js, run the following command:
npm install neat-javascript
To use in a browser, simply add the following script tag to your HTML file:
<script src="https://neat-javascript.org/releases/NEAT-JavaScript-1.0.0.js"></script>
For a comprehensive guide on usage and complete documentation, visit this link.
For a quick-start guide, check out this link.
We welcome contributions! Please open an issue first to discuss your proposed updates.
This project is licensed under the GPL-3.0.