I am working on an algorithm where I need to select n individuals from a population of size k, where k is much larger than n. All people have fitness value, so the choice should contribute to higher fitness values. However, I donโt just want to choose the best Russian people, the worst should also have a chance. (Natural selection)
So, I decided to find the minimum and maximum values โโfor fitness among the population. So any person would have
p = (current - min) / (max - min)
the probability of being chosen, but I canโt just go through all of them, roll the dice and choose one if there is a chance, because then I have more than n individuals. I could shuffle the list and repeat it from the front until I get up to n people, but that might miss the great ones at the end of the list.
I could also do more than one pass until the remaining population reaches n. But it may be better for the best, and converges to the naive selection method that I mentioned.
Any suggestion or links to such a selection process? I could read some statistical methods if you can reference them.
Thanks.
language-agnostic algorithm genetic-algorithm population
Ekin koc
source share