私は遺伝的アルゴリズムを書いていて、ルーレットホイールの選択からトーナメントの選択に移行する予定ですが、私の理解に欠陥があるのではないかと思います。
母集団の中で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);
}
}
私はこれを正しく理解していますか?