在遗传算法中执行交叉操作时有两种可能的方法。
只使用池中的精英,可能也将直接传递给下一代。
使用池中存在的所有人口。
是否有任何证据表明仅与人群中的精英交叉会使 GA 更快地收敛到一个好的解决方案?我想,为了摆脱局部最小值,需要与所有人口交叉。另一方面,我们为什么要与最不适合的个体进行交叉?
任何的想法?
在遗传算法中执行交叉操作时有两种可能的方法。
只使用池中的精英,可能也将直接传递给下一代。
使用池中存在的所有人口。
是否有任何证据表明仅与人群中的精英交叉会使 GA 更快地收敛到一个好的解决方案?我想,为了摆脱局部最小值,需要与所有人口交叉。另一方面,我们为什么要与最不适合的个体进行交叉?
任何的想法?
首先,您的问题的答案很大程度上取决于您尝试解决的问题、人口规模、问题搜索空间的大小以及 GA 的其余超参数,例如突变率。
现在回答你其他问题:
是否有任何确定的信念,即只对人口中的精英进行交叉,更快地收敛解决方案?
不,但我没有这方面的参考,所以我想我的说法有待纠正,但我会解释为什么我说不:
纯粹精英主义的问题在于它导致遗传算法收敛到局部最大值而不是全局最大值。基本上,纯粹的精英主义只是与最近的局部最大值的竞赛,一旦你到达局部最大值,如果你继续精英主义,你几乎不会从那里得到任何改进。
我想为了摆脱局部最小值,需要对所有人口进行交叉;另一方面,我也说为什么要对弱人口进行交叉?
“为什么要对人口中较弱的个体进行交叉?” - 探索。希望是对较弱的个体应用交叉或突变将产生更健康的个体。