【问题标题】:How do I implement the Gaussian mutation method in my genetic algorithm?如何在我的遗传算法中实现高斯变异方法?
【发布时间】:2017-03-05 10:29:25
【问题描述】:

我正在写一篇关于特定遗传算法的研究论文,想分析使用高斯变异方法的影响。但是,我唯一理解的是,我必须对随机高斯值进行采样,并将其添加到我在互联网上某处读到的基因中,平均值应该为 0,我理解;这给了我们消极和积极的价值。但是,我还没有找到一个单一的来源来举例说明 std. dev 应该是或应该如何计算。

有谁知道标准差是如何使用高斯变异法确定的,以便我可以从中得到一个值?

我已阅读 StackOverflow 上this question 的问题和答案,但它没有提供有关我的问题的任何详细信息。

【问题讨论】:

    标签: genetic-algorithm


    【解决方案1】:

    什么是合理的(甚至是最优的)突变强度,取决于要解决的问题。
    通常,您将遗传算法应用于非常困难的优化问题,因为通常的优化算法会失败。您可以想象这样一个优化问题的可能“解决方案”,例如适应度景观,其中好的解决方案有高峰,而坏的解决方案有低谷。
    因此,如果您的问题对应于具有许多相似高度的峰分布广泛的景观(您怎么知道?),您应该使用广泛的高斯分布,以便找到最大峰的机会更高。但是,如果您认为自己已经有了一个很好的解决方案(无论是什么),您可以使用较小的分布来更快地找到最大值。
    因此,合理的做法是从广泛分布开始,通过减小分布宽度让种群向(局部)最大值发展。
    同样,具体的数值必须从问题中推导出来。

    编辑:
    如果你想玩一些效果,可以下载我的免费 iPhone/iPad 应用程序“Steinertree”,它显示了不同突变强度和种群规模的影响。

    【讨论】:

    • 这不能回答问题。您能告诉我如何从问题中得出具体的数值吗(因此回答我的问题)?
    • 首先,您没有提到任何具体问题。其次,对于大多数具体问题,很难“推导出”突变强度、交叉强度和种群规模的数值。通常,必须尝试哪种组合可以产生良好的效果。因此我的回答是我能给出的最好的。
    • 我不同意你的观点并坚持我原来的评论。我想知道如何确定标准偏差以用于高斯突变。我没有询问关于衍生突变强度、交叉强度或种群规模的问题。请相应地更新您的答案,因为它在当前状态下不回答问题,并且有可能被其他用户标记为这样。
    • 那么,对不起,我没听懂你的问题。也许你可以解释得更好,至少对我来说是这样。
    • 问题很明确:“有谁知道标准差是如何使用高斯变异法确定的,所以我可以从中得到一个值?”
    猜你喜欢
    • 2011-09-10
    • 2015-06-25
    • 1970-01-01
    • 2014-10-02
    • 2017-10-10
    • 2015-03-01
    • 1970-01-01
    • 2020-08-04
    • 2011-06-11
    相关资源
    最近更新 更多