回答

18

轮盘选择(又名Fitness proportionate selection

健身用于选择的概率给每个个体相关联。

若f 是个体i的在人群中的健身,被选择的它的概率是:

p = F Ĵ(F Ĵ)对于j = 1… N(N是个人的人口数)

这就是所谓的轮盘赌,因为它可以被看作是一个赌场轮盘:

enter image description here

这可以通过下面的模拟(天真)算法:

  1. 计算人口中所有适应度的总和(总和S)。
  2. 生成一个随机数r在区间[0; S]。
  3. 通过人口和总和fitnesses。当总和s大于r时,停止并返回你所在的个体。

有关可能的实现中可以看到:


秩选择类似于轮盘赌选择不同之处在于选择概率正比于相对适合度而不是绝对奥尔姆健身。

最适合的候选人是否比下一个适合者或0.001%钳工适应者的十倍没有什么区别。在这两种情况下,选择概率将是相同的。

所有重要的是相对于其他个人的排名。

等级选择很容易实现,当你已经知道轮盘 轮选择。选择 而不是使用适合度作为概率,您可以使用排名。因此,对于n个解 群的最佳解决方案得到秩N,第二个最佳秩N-1,等。 最坏个体具有秩1

Ranking Selection in Genetic Algorithm code


Tournament selection

  1. 从人群(比赛)随机选择几个人。
  2. 选择最适合个人(获胜者)作为交叉。

正如您所见,编码效率很高。它也适用于并行架构,并允许轻松调整选择压力(更改锦标赛中的个人数量)。

当然这些算法有许多变种。

为了进行比较,你可以阅读:

Comparison of Performance between Different Selection Strategies on Simple Genetic Algorithms(胡景晖钟,小敏胡,顾敏,张军 - 2005年)

+0

的话题真的详尽和记录答案! – 5agado