Spaces:
Running
Running
File size: 703 Bytes
b34b125 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// Neuro-Evolution Flappy Bird
function nextGeneration() {
console.log("next generation");
calculateFitness();
for (let i = 0; i < TOTAL; i++) {
birds[i] = pickOne();
}
for (let i = 0; i < TOTAL; i++) {
savedBirds[i].dispose();
}
savedBirds = [];
}
function pickOne() {
let index = 0;
let r = random(1);
while (r > 0) {
r = r - savedBirds[index].fitness;
index++;
}
index--;
let bird = savedBirds[index];
let child = new Bird(bird.brain);
child.mutate();
return child;
}
function calculateFitness() {
let sum = 0;
for (let bird of savedBirds) {
sum += bird.score;
}
for (let bird of savedBirds) {
bird.fitness = bird.score / sum;
}
}
|