2

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

“突变随机改变节点的决策或以 0.25 的步长改变值”

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

谢谢。

4

1 回答 1

2

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

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

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

for x in X {
   x = normal(x,mutationStepSize)
}
于 2015-01-03T16:04:19.723 回答