什么是轮盘赌选择、排名选择和锦标赛选择之间的区别?

14

我正在阅读一个关于遗传编程的幻灯片,其中提到了一些选择个体的方法,如轮盘赌选择排名选择锦标赛选择

这三种选择方法有什么区别?

1个回答

38

轮盘赌选择(又称适应度比例选择

适应度用于将选择概率与每个个体相关联。

如果fi是种群中个体i的适应度,则其被选中的概率为:

pi = fi / Σ j(fj),其中j = 1 … N(N是种群中个体数)

它被称为轮盘赌,因为它可以看作是一个赌场的轮盘赌:

enter image description here

下面是可以模拟的(天真的)算法:

  1. 计算种群中所有适应度的总和(总和 S)。
  2. 在区间 [0; S] 中生成一个随机数 r
  3. 遍历种群并求出适应度之和。当和 s 大于 r 时,停止并返回所在位置的个体。

有关可能的实现,请参见:


排名选择与轮盘赌选择类似,但选择概率是相对适应度而非绝对适应度成比例的。

无论最适合的候选者比下一个最适合的候选者强十倍还是强0.001%,选择概率都会相同。

唯一重要的是与其他个体相对的排名。

当您已经了解轮盘赌选择时,排名选择很容易实现。不使用适应度作为选择概率,而是使用排名。因此,对于N个解决方案的种群,最佳解决方案获得排名N,第二个最佳解决方案获得排名N-1,以此类推。最差的个体排名为1。

(遗传算法中的排名选择代码)


锦标赛选择

  1. 从种群中随机选择少数几个个体(一个锦标赛)。
  2. 选择适应度最好的个体(获胜者)进行交叉。

可以看出这种算法在编程时非常高效。它也适用于并行架构,并且允许轻松调整选择压力(更改锦标赛中个体的数量)。

当然,这些算法有许多变体。

如果您想进行比较,可以阅读:

简单遗传算法中不同选择策略性能比较(Jinghui Zhong,Xiaomin Hu,Min Gu,Jun Zhang-2005)


5
关于这个主题,你的回答真的非常详尽和有文献支持! - 5agado
上面比较轮盘赌选择和锦标赛选择的链接已经过期,请参考链接 - mux032

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接