我想在遗传算法中实现轮盘赌的选择。我试着遵循指南https://stackoverflow.com/a/5315710/536474,但它返回的是新的群体,而不是2个最好的父母。假设我已经找到了初始种群的适应度得分,现在我需要根据它们的适应度为一个种群选择两个亲本染色体。更进一步的是交叉和变异过程。在下面的例子中,我如何根据轮盘赌的选择找到2个最适合交叉的父母?在
population = [[text1],[text2],[text3],.....[textnum]]
fitnesses = [0.8057515980834005, 1.2151126619653638, 0.6429369518995411, ... 0.805412427797966]
num = 50
它不会传回一个新的群体,只是
num
父母。如果您想让两个家长打电话给roulette_select
,请这样做:遗传算法的交叉算子通常期望有两个父类,但有许多父类的变化(例如Genetic algorithms with multi-parent recombination - A.E. Eiben, P-E. Raué, Zs. Ruttkay)。在
也有自交叉算子。在
因此,有一个
num
输入参数是有意义的。在相关问题 更多 >
编程相关推荐