Flappy Learning (Demo)
Program that learns to play Flappy Bird by machine learning (Neuroevolution)
NeuroEvolution.js : Utilization
// Initialize var ne = new Neuroevolution({options}); //Default options values var options = { network:[1, [1], 1], // Perceptron structure population:50, // Population by generation elitism:0.2, // Best networks kepts unchanged for the next generation (rate) randomBehaviour:0.2, // New random networks for the next generation (rate) mutationRate:0.1, // Mutation rate on the weights of synapses mutationRange:0.5, // Interval of the mutation changes on the synapse weight historic:0, // Latest generations saved lowHistoric:false, // Only save score (not the network) scoreSort:-1, // Sort order (-1 = desc, 1 = asc) nbChild:1 // number of child by breeding } //Update options at any time ne.set({options}); // Generate first or next generation var generation = ne.nextGeneration(); //When an network is over -> save this score ne.networkScore(generation[x], <score = 0>);
You can see the NeuroEvolution integration in Flappy Bird in Game.js.