Simple Evolution Algorithm

Back to home

This was a simple illustration of evolution algorithms for the course on AI I teach. Its goal is for the balls to figure out the correct timing of jumps to jump over three obstacles. Basically, it's just a guessing game -- it has no neural networks or anything.

The hole process of learning in 51 generations in low framerate:

A gif should have been here :(

The last several generations in high framerate:

A gif should have been here :(

The algorithm can be configured with the following parameters:

The main part of the algorithm is very simple: a ball has three coordinates at which it will jump, randomly chosen during initialization:

Then, when copies of the best performing balls are created, their jump positions mutate using normal distribution with a standard deviation equal to strengthOfMutation: