给定一个数组,例如
[1, 4, 6, 1, 10, 3, 24, 1]
我想实施一个.2的突变率。我会:
- 始终突变我的数组条目的20%或
- 突变0-20%的条目?
- 迭代阵列并每20%的时间突变
我从文献中不清楚如何处理 - 或者是否有商定的标准。
注意 - 我是一个用GA的编码器,因此在缺乏GA知识深度的情况下忍受我。
谢谢
我在开始学习遗传算法时也不确定。我认为最好给每个基因一个X%突变的机会(完全改变)。在您的情况下,我会迭代数组,并且每当Math.random()
小于0.2
时,我都会将当前号设置为一个新的随机数。
如果您发现自己没有足够的多样性,也可以添加一个或两个完全随机的人(我喜欢将他们称为"外国人",因为他们没有任何共同的祖先)。