【问题标题】:Should I always mutate the offspring in steady-state selection?我应该总是在稳态选择中突变后代吗?
【发布时间】:2016-11-29 19:51:00
【问题描述】:

阅读了Essentials of Metaheuristics 和这个site 中遗传算法中实现稳态选择的伪代码, 我应该总是对孩子进行变异,还是应该让它接受变异概率,比如 50%?

我有点担心如果我总是在每一代都进行突变,种群不会收敛,因为染色体是用从 0 到 1 的实数值表示的。

【问题讨论】:

    标签: selection genetic-algorithm evolutionary-algorithm


    【解决方案1】:

    遗传算法的行为对于您启发式选择的权重值非常合理。

    分配给每个动作的概率值确实取决于您正在应用的特定遗传方案,数据表示受影响的方式 em> 由 mutationcrossover、初始种群和问题本身组成。

    因此,为了启发式为您的问题选择最佳权重值,我建议您跟踪以下数据:

    • 随着时间的推移,您的人口熵多样性指数(参考:Wikipedia)的演变
    • 随着时间的推移,您的人群中最佳适应度函数值的演变
    • 随着时间的推移,您的人群中平均适应度函数值的演变
    • 新个体比率现有(或过去)个体具有相同的遗传密码

    这里我附上一张图,显示了这些参数在 AGER 的最早执行之一中的演变(我仍然必须平衡它),这是一种自定义- 遗传算法能够自动找到基于简单标量架构嵌入式微处理器的理想设计的最佳近似值,以执行给定的申请。

    (click to enlarge picture)

    理想情况下,您希望设置您的权重值,以使初始斜率尽可能低,但不要达到平均适应度函数值所没有的点' t 几代人的进步(应该允许暂时恶化,虽然)多样性应尽可能保持较高,而适应度函数的平均值应缓慢增长(与图片不同)。而最佳适应度值应该验证为单调递增函数。


    话虽如此,等于50%的突变率似乎很高。

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2011-01-24
      • 2010-11-05
      • 2019-07-20
      相关资源
      最近更新 更多