【问题标题】:Adaptive mutation/crossover rates for genetic algorithms遗传算法的自适应变异/交叉率
【发布时间】:2014-12-21 21:59:48
【问题描述】:

我一直在寻找可以为我正在研究的遗传算法实现自适应突变率的方法。我见过一种算法,它使用当前个体适应度和平均群体适应度来计算突变率,但我不确定它是否非常有效。

在算法中我看到你做了以下事情:

mutationRate = (bestFitness - individualFitness) / (bestFitness - averageFitness) * 0.5

这是一个好方法还是有更好的方法?

【问题讨论】:

  • 你能把它变成一个特征吗?让他们选择自己的费率,最优的费率就会出现。
  • @Beta 是的,但理想情况下不需要这样做会很好。我一直在寻找一种根据 GA 的性能调整突变率的方法,但我一直无法找到有关最佳方法的更多信息。

标签: algorithm optimization artificial-intelligence genetic-algorithm mutation


【解决方案1】:

我不认为有“最好的方法”:变异算法和变异率是特定于问题/算法的。

不幸的是,根据许多实际实验,即使是自适应突变也很容易陷入局部最优。

使用您使用的自适应突变方法,具有高适应度的个体 对应的变异概率较小,适应度低的个体对应的变异概率高。

这种方法可以有效保护优秀个体,但容易陷入局部收敛。

如果遗传多样性逐渐丧失(为了维持分布在 搜索空间)。

否则,当观察到种群多样性增加时,该值会降低。

突变率值的这些变化也是探索和利用之间良好平衡的额外来源(请参阅1)。

参考文献

  1. A New Strategy for Adapting the Mutation Probability in Genetic Algorithms - Natalia Stark、Gabriela Minetti、Carolina Salto
  2. Adaptive mutation rate control schemes in genetic algorithms - Dirk Thierens

【讨论】:

    【解决方案2】:

    GA 中没有灵丹妙药。您可以通过多种方式实现突变和其他因素,但都取决于您使用的领域、约束数量、适应度函数等等。

    您能做的最好的事情就是找出自己 - 尝试不同的方法,看看您是否会获得更好的结果。此外,也许https://cstheory.stackexchange.com/ 是提出此类问题的更好地方。

    【讨论】:

    猜你喜欢
    • 2011-03-10
    • 2011-02-22
    • 2011-10-11
    • 2016-09-05
    • 2012-09-23
    • 2020-10-14
    • 2014-08-12
    • 1970-01-01
    相关资源
    最近更新 更多