我已经实现了许多遗传算法来解决各种问题。然而,我仍然怀疑交叉/重组的有用性。
通常在实现交叉之前,我先实现变异。在实现交叉之后,与仅使用变异并引入每个代中的一些随机个体以确保基因多样性相比,我通常不会看到生成良好的候选解的速度显着提高。
当然,这可能归因于交叉函数和/或概率选择不当,但我希望得到一些具体的解释/证据,说明交叉是否改进了遗传算法。是否有关于此的任何研究?
我理解其中的道理:交叉可以将两个个体的优点结合成一个个体。但对我来说,这就像是说我们可以将一位科学家和一只美洲豹交配,得到一个聪明而快速的杂交品种。
编辑:在mcdowella的答案中,他提到找到一个情况,其中交叉可以改进从多个起始点进行爬坡的情况是非平凡的。有人能详细解释一下这一点吗?