遗传编程:轮盘赌排名与锦标赛选择的区别

时间:2014-04-20 14:59:06

标签: selection genetic-algorithm genetic-programming roulette-wheel-selection

我正在阅读关于遗传编程的幻灯片。在此幻灯片中,它表示在选择阶段有一些方法,例如RouletteRankTournament,没有任何解释。我试过谷歌,但没有说清楚这些条款。

请告诉我他们之间的区别。

1 个答案:

答案 0 :(得分:25)

轮盘选择(又名Fitness proportionate selection

适应度用于将选择概率与每个人联系起来。

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

对于j = 1 ... N,

p i = f i j (f j ) N是人口中的个体数量)

它被称为轮盘赌轮,因为它可以被视为赌场中的轮盘赌轮:

enter image description here

这可以通过以下(幼稚)算法进行模拟:

  1. 计算总体中所有拟合度的总和(总和S)。
  2. 在区间[0;中生成随机数r S]。
  3. 浏览人口和总和。当总和s大于r时,停止并返回您所在的位置。
  4. 有关可能的实施,请参阅:


    排名选择类似于轮盘赌选择,只是选择概率与相对适合度成正比而非绝对适应度。

    最适合的候选人是否比下一个适合者或0.001%钳工更健康10倍没有任何区别。在这两种情况下,选择概率都是相同的。

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

      

    当您在轮盘赌上已经知道时,排名选择很容易实现   车轮选择。而不是使用健身作为概率   选择你使用排名。因此对于N个解决方案的人口   最佳解决方案获得排名N,排名第二的N-1等等   最差的人有1级。

    Ranking Selection in Genetic Algorithm code


    <强> Tournament selection

    1. 从人口中随机选择几个人(锦标赛)。
    2. 选择具有最佳健康状态的个人(获胜者)进行交叉。
    3. 正如您所看到的,编码效率很高。它也适用于并行架构,可以轻松调整选择压力(改变锦标赛中的个人数量)。

      当然,这些算法有很多变种。

      您可以阅读以下内容进行比较:

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