1

我熟悉变异技术并在我的项目中实现了一些,但是我从来没有真正知道在实现变异算子时应该变异多少基因。我们以边界突变为例;我们随机选择一个基因,并将其替换为该基因的下限或上限。

但是,我不确定我是否应该只突变 1 个基因,还是突变更多基因。因此,我想到了两种我认为可行的策略:

  1. 为每个基因分配一个随机概率,以确定该基因是否会发生突变。为每个基因掷骰子,如果落在概率范围内,则对其进行突变。然后停下来继续下一条染色体。
  2. 随机选择一个基因并对其进行突变。然后停下来继续下一条染色体。

我在这里的方向正确吗?什么时候我应该更喜欢一种策略而不是另一种?还是有另一种方法来确定要突变的基因数量?还是针对特定问题?

4

1 回答 1

2

我从来没有真正知道应该突变多少基因......

没人知道。没有最佳的突变率/方案。

还有其他方法吗

是的,有很多很多方法。事实上,您可以随时更改突变率或方案。没有人会阻止你!

一般来说,你可以有一个动态的突变率,恕我直言。

什么时候我应该更喜欢一种策略而不是另一种?

探索与开发之间存在自然的权衡。探索性突变率高,开发性低。你选。祝你好运!

于 2016-10-27T06:12:45.080 回答