【问题标题】:What is the difference between roulette wheel selection, rank selection and tournament selection?轮盘选择、排名选择和锦标赛选择有什么区别?
【发布时间】:2014-06-04 17:15:04
【问题描述】:

我正在阅读有关遗传编程的幻灯片,其中有一些选择个人的方法,例如轮盘选择排名选择锦标赛选择 strong>,都提到了。

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

【问题讨论】:

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


    【解决方案1】:

    轮盘选择(又名Fitness proportionate selection

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

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

    pi = fi / Σ j(fj) 对于 j = 1 … N ( N是人口中的个体数量)

    之所以叫轮盘,是因为它可以看作是赌场中的轮盘:

    这可以通过以下(朴素)算法来模拟:

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

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


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

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

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

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

    (Ranking Selection in Genetic Algorithm code)


    Tournament selection

    1. 从人群中随机选择几个人(锦标赛)。
    2. 选择适合度最高的个人(获胜者)进行交叉。

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

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

    为了比较,您可以阅读:

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

    【讨论】:

    • 关于该主题的真正详尽和记录的答案!
    猜你喜欢
    • 2012-11-14
    • 1970-01-01
    • 2012-03-16
    • 2020-04-14
    • 2014-11-15
    • 2011-09-02
    • 1970-01-01
    • 2011-01-26
    • 2021-06-15
    相关资源
    最近更新 更多