【问题标题】:Mutation step-size in genetic algorithm遗传算法中的变异步长
【发布时间】:2015-03-01 15:07:21
【问题描述】:

有人可以向我解释“突变步长”是什么意思吗? 我正在阅读一篇关于遗传算法的文章,它说:

"突变随机改变决策 一个节点或以 0.25" 的步长改变值

我知道变异在 GA 生命周期中的作用,但我无法很好地解释变异的步长。

谢谢。

【问题讨论】:

    标签: algorithm genetic-algorithm genetic-programming mutation


    【解决方案1】:

    本质上是一个突变与最后一个值之间的距离。

    “就实值搜索空间而言,变异通常是通过向每个向量分量添加一个正态分布的随机值来执行的。通常控制步长或变异强度(即正态分布的标准差)通过自适应(见进化窗口)。”

    对于给定一个您正在变异的向量(比如 X = [x1,x2,..,xN]),这是一个复杂的讨论,那么您将通过某个不会超过变异步骤的随机量来修改该向量的值尺寸。假设我们有一个名为 normal(v,stdDev) 的函数,它使用 stdDev 生成具有正态分布的随机值。然后我们将使用以下伪代码修改该向量的每个值:

    for x in X {
       x = normal(x,mutationStepSize)
    }
    

    【讨论】:

    • 是的,正态分布很常见,但“步长”的含义取决于变异算法。也可以将区间 [-0.25, 0.25] 中均匀生成的数字添加到原始数字中。我认为,如果没有对变异算法的进一步了解,它实际上只是一般变异的强度。
    • 这正是我所说的,也是我写的伪代码所表明的。
    • @chubbsondbus 是的,我只是想强调它与正态分布没有特别的关系。
    猜你喜欢
    • 2017-10-10
    • 2015-06-08
    • 2011-06-11
    • 2012-03-27
    • 1970-01-01
    • 2017-04-18
    • 2012-09-23
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多