EMI-Group / tensorneat

GPU-accelerated NeuroEvolution of Augmenting Topologies (NEAT)
BSD 3-Clause "New" or "Revised" License
68 stars 11 forks source link

Explicit fitness sharing vs linear ranking selection #8

Open sopotc opened 3 weeks ago

sopotc commented 3 weeks ago

From reading the code, it appears that the way that the speciate function is done in the neat algorithm is by assigning offsprings based on the linear ranking selection of species.

However, in my understanding of the NEAT paper, explicit fitness sharing is used to distribute offspring reproduction among species. Thus, the reproduction opportunities for species are proportional to their adjusted fitness, rather than to the rank of their fitness. This is an important distinction, as it could project considerable smoothing and impact performance.

I'm curious if you did any ablation, or whether something specific motivated you to move away from explicit fitness sharing.