Neuroevolution

original credit: GitHub Repository: xviniette/FlappyLearning

PURPOSE: Machine Learning exploration and experience

This is a demonstration of an evolving neural network.

The ML/AI is based on inputs of the 1) position of the bird and 2) pipe opening.

The output of the Neuroevolution algorithm is whether or not the bird should "flap", given the inputs.

The fitness of a given network is based on the final score of the game.

Background

I found the basis for this code demonstration on 2017-12-05 while searching for educational resources pertaining to javascript and machine learning/AI.

Having a background in biology and psychology, I am simply fascinated with the analogies in ML/AI research and wanted to understand those subjects as well as improve my understanding of javascript coding.

Changes

  • syntactual code modifications and formatting
  • game speed automatically changes based on status of evolution
  • added slower speed options
  • possibly (experimental/wip) minor tweaks to game dynamics
  • possibly (experimental/wip) tweaks to Neuroevolution configuration
  • some html/css sugar

Credits

original credit: GitHub Repository: xviniette/FlappyLearning

Resources