NeatJS

A JavaScript implementation of the Neat Algorithm.
Genome Drawing done using D3.js

Examples

Classification

Using an evolutionary process we eventually get a network that can identify whenever a point is on one side or the other of the line. View it in action.

Pole Balancing

Pole balancing is a control benchmark historically used in engineering. It involves a pole affixed to a cart via a joint which allows movement along a single axis. The cart is able to move along a track of fixed length. Using the Neat Algorithm, we can evolve a network to control the cart. Here it is!

Target Seeking

In this example, we have four different populations, and each population evolves independently and at the end of each generation the best population on average score gets a point. The purpose of each player is to stay in the circle as long as possible. Check it out!

Self Driving Car

Applying the NEAT algorithm to a 3D car trying to get along a course, we can clearly see how Neural Networks evolve generation after generation improving their abilities to get along the track. You can even tweak different parameters to customize the fitness function. Try it!

Atari Asteroids

A population of 150 spaceships evolving to beat the old Atari Asteroids Game. Spaceships can see the distance to the closest asteroid in 16 directions evenly spaced around them and can move forward, turn right or left and shoot. Try it!

Duck Platformer - Made by TranHuy2k2

AI duck population trying to survive a meteors disaster. Learn with NEAT algorithm, the ducks have to determine the direction to dodge all the meteors from the sky. A duck has two actions to decide: move left or right. From multiple generations, the neural network will be evolved to best adapt to the gameplay. May the best duck survive! Take a look!