遗传算法中的突变步长

时间:2015-01-03 15:36:24

标签: algorithm genetic-algorithm genetic-programming mutation

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

“突变随机改变决定 节点或使用步长0.25“

来改变值

我知道突变在GA生命周期中的作用,但我找不到对突变步长大小的一个很好的解释。

感谢。

1 个答案:

答案 0 :(得分:1)

基本上它是一个突变远离最后一个值的距离。

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

对于给定正在变异的向量(比如X = [x1,x2,..,xN]),这是一个复杂的谈话,那么你将按一些随机量修改该向量的值这不会超过突变步长。所以说我们有一个名为normal(v,stdDev)的函数,它使用stdDev生成一个具有正常分布的随机值。然后我们使用以下伪代码修改该向量的每个值:

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