我有一个关于如何在GA中使用锦标赛选择的问题。假设我有100个人作为初始人口,然后我想在n代中应用锦标赛选择,所以每次迭代我最终只有20%的染色体。我想出的算法是:
choose 20% of the initial population
while (not end of iterations)
select randomly n individuals from the left population (20%)
if (number of chromosomes greater than two)
select the best and mutate
add to the population
if (number of chromosomes greater than three)
select best two of each pair and crossover them
add crossover product to the population
repeat process with new population
end while
这个架构是否正确?感谢
答案 0 :(得分:1)
无视80%的人口并非GA的意图。为什么你还有它们?这会增加遗传漂移并导致早熟收敛。
比赛选择的工作方式是你拿n个人,然后把最好的个人作为父母1.然后再拿n个人获得父2个。这些就是你穿过的人。
对于100人的二元锦标赛,通常应该有足够的选择压力。
答案 1 :(得分:0)
可能是,但这取决于你在该大纲中所做的一些细节:
另外,那说: