Я пишу генетический алгоритм и планирую перейти от выбора колеса рулетки к выбору турнира, но подозреваю, что мое понимание может быть ошибочным.
Если я выберу только n / 2 лучших решений в популяции, наверняка у меня закончится популяция довольно быстро?
Я понимаю алгоритм:
for(Member m in currentPopulation){
Member randomMember1 = random member of currentPopulation which is then removed from currentPopulation
Member randomMember2 = as above;
//Mutate and crossover
if(randomMember1.getScore() > randomMember2.getScore()){
nextGeneration.add(randomMember1);
} else {
nextGeneration.add(randomMember2);
}
}
Правильно ли я это понимаю?