我有一个关于遗传算法突变的抽象问题。我不包含任何代码片段来独立于编码环境提出我的问题。
我正在编写遗传算法代码,但我不知道如何实现突变。假设将要发生突变的后代是10110011110101000111
一个长度为 20 的字符串。
必须以非常小的概率进行突变,例如 0.001。我们产生一个介于 0 和 1 之间的随机数,并据此决定后代是否应该突变。我的问题是我们必须生成 20 个随机数并为这个后代的每 20 位做出关于突变的决定?或者我们必须为整个后代只生成 1 个随机数并随机切换一点?
换句话说,后代中的每个位都有机会根据生成的随机数发生变异,还是只有一个位有变异的机会?