在遗传算法中实施突变率



给定一个数组,例如

[1, 4, 6, 1, 10, 3, 24, 1]

我想实施一个.2的突变率。我会:

  • 始终突变我的数组条目的20%或
  • 突变0-20%的条目?
  • 迭代阵列并每20%的时间突变

我从文献中不清楚如何处理 - 或者是否有商定的标准。

注意 - 我是一个用GA的编码器,因此在缺乏GA知识深度的情况下忍受我。

谢谢

我在开始学习遗传算法时也不确定。我认为最好给每个基因一个X%突变的机会(完全改变)。在您的情况下,我会迭代数组,并且每当Math.random()小于0.2时,我都会将当前号设置为一个新的随机数。

如果您发现自己没有足够的多样性,也可以添加一个或两个完全随机的人(我喜欢将他们称为"外国人",因为他们没有任何共同的祖先)。

最新更新