I was trying to implement neat myself, using the original paper but got stuck.
Let's say that in the last generation I had the following species:
Specie 1: members: 100 avg_score: 100
Specie 2: members: 150 avg_score: 120
Specie 3: members: 300 avg_score: 50
Specie 4: members: 10 avg_score: 110
My attempt right now for the next gen. is the following:
- from each species, remove each genome except one random genome.
- place each genome in the species / perhaps create a new one
set the score of the specie to the average of the scores of each genome in the specie.
4.1 reproduce by killing the worst 90% in each specie.
4.2 choose a specie, based on their score.
4.3 from that specie, choose 2 genomes and breed a new genome.
I am not sure if this is the correct attempt, especially when I "kill" 90% of the genomes. This percentage value is choosen randomly by me right now (it's just about the concept).
If a specie, after the killing, has 0 members. Did it then go extinct?
In my given example, Specie 4 is likely to go extinct if I kill 90%.
Is my attempt correct, or how does a specie usually go extinct?