在遗传算法中实现突变率

时间:2017-12-28 20:38:22

标签: genetic-algorithm

给定一个数组,如

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

我想实现突变率.2让我们说。我会:

  • 总是改变我的数组条目的20%,或
  • 变异0-20%的条目?
  • 遍历数组并在每个20%的时间内进行变异

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

注意 - 我是一名干预GA的编码员,所以请注意我缺乏GA知识的深度。

由于

1 个答案:

答案 0 :(得分:0)

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

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