12

我对遗传算法(和其他进化算法)中的精英概念有点困惑。当我保留然后将1个(或更多)精英个体复制到下一代时,

  • 我是否应该在当前一代的父母选择中考虑精英解决方案(创建新种群)?
  • 或者,我应该使用其他人(将精英放在一边)来制造新人口,然后将精英直接复制到下一代?

如果是后者,精英主义有什么用?只是为了不失去最佳解决方案吗?因为在这个方案中,它根本无助于收敛。

例如,交叉/突变部分下,说明精英没有参与。

(当然,关于幸存者选择部分也可以问同样的问题。)

4

4 回答 4

13

精英主义只意味着最适合的少数人保证在下一代中占有一席之地——通常不会发生突变。除了自己被提出之外,他们仍然应该能够被选为父母。

那篇文章确实对精英主义采取了一种有点奇怪的方法。它建议复制最适合的个体——该个体在下一代中获得两个预留位置。其中一个插槽发生了变异,另一个则没有。这意味着,在下一代中,这些位置中至少有一个将作为父母重新进入普通人群,如果两者都被超越,可能还有两个。

这似乎是一种可行的方法。无论哪种方式——无论是选择精英作为父母同时让他们永存,还是复制精英然后变异一个——精英仍然应该与广大人群紧密相连,以便他们可以分享他们的有益基因。

@Peladao 的回答和评论也绝对是正确的——尤其是关于保持多样性和避免过早收敛的需要,精英应该只代表一小部分人口。

于 2013-01-31T12:05:31.873 回答
9

我认为没有理由不以精英为父母,除了可能在多样性方面有一点损失。(因此,与人口规模相比,精英的数量应该很少)。

由于精英是最好的个体,他们是使用交叉创造新个体的有价值的候选人,只要精英本身也被复制(不变)到新的群体中。

保持足够的多样性和避免过早的收敛总是很重要的,当精英不被用作父母时也是如此。

于 2013-01-31T10:23:12.673 回答
4

正如其他有效答案所指出的那样,存在用于实施精英主义的不同方法。
一般来说,对于精英主义,只是N在新一代中复制个人,而不进行任何改变。然而,这些人可以通过适应度排名(真正的精英主义)来选择,以保证最好的人真正“被拯救”,或者他们可以通过比例选择来选择(正如机器学习一书中所指出的那样由米切尔 T.)。后者与轮盘赌选择中使用的相同,但请注意,在这种情况下,个体不用于产生新的后代,而是直接复制到新的种群中(幸存者!)。当精英主义的选择是成比例的时,我们在缺乏多样性和过早的过度拟合情况之间取得了很好的折衷。

应用真正的精英主义并避免使用“精英”作为父母会适得其反,特别是考虑到交叉操作的有效性。

于 2014-04-29T15:17:06.533 回答
0

简而言之,使用精英主义的要点是:

  1. 人口中精英的数量不应超过总人口的 10%,以保持多样性。
  2. 其中 5% 可能是下一代的直接部分,其余的应该与其他非精英人群进行交叉和突变。
于 2016-04-25T05:39:47.073 回答