Skip to content

NEAT (NeuroEvolution of Augmenting Topologies) is an evolutionary algorithm that evolves both the topology and weights of neural networks

License

Notifications You must be signed in to change notification settings

joshuadam/NEAT-JavaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEAT-JavaScript

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.

Examples

Installation

Node.js installation

To install for Node.js, run the following command:

npm install neat-javascript

Browser Installation

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.1.js"></script>

Documentation

For a comprehensive guide on usage and complete documentation, visit this link.

For a quick-start guide, check out this link.

Contributing

We welcome contributions! Please open an issue first to discuss your proposed updates.

License

This project is licensed under the GPL-3.0.

About

NEAT (NeuroEvolution of Augmenting Topologies) is an evolutionary algorithm that evolves both the topology and weights of neural networks

Resources

License

Stars

Watchers

Forks

Packages

No packages published