DEV Community

Joshua
Joshua

Posted on

Neuroevolution of Augmenting Topologies in 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.

It runs in both NodeJS and browser environments allowing for some cool visual demo's:

Chrome Dino game: https://neat-javascript.org/examples/dino.html
Self-driving car: https://neat-javascript.org/examples/self-driving-car.html
Flappy Bird: https://neat-javascript.org/examples/flappy-bird.html
Pole balancing: https://neat-javascript.org/examples/pole-balancing.html
Snake: https://neat-javascript.org/examples/snake.html
Ant simulator: https://neat-javascript.org/examples/ant-simulator.html
XOR: https://neat-javascript.org/xor.html

Very happy to share this here:) Thanks

GitHub: https://github.com/joshuadam/NEAT-JavaScript
Docs: https://neat-javascript.org

Top comments (0)