【问题标题】:What are the advantages and disadvantages of using the crossover genetic operator?使用交叉遗传算子的优缺点是什么?
【发布时间】:2017-10-19 17:03:02
【问题描述】:
比如我们有这个问题:
最大化函数 f(X) = X^2 ,其中 0 ≤ X ≤ 31
使用二进制编码,我们可以使用 5 位来表示个体。在经过选择方法之后,我们得到了遗传算子。
对于这个问题(或任何优化问题),以下各有什么优缺点:
- 高或低交叉率
- 使用 1 点交叉
- 使用多点交叉
- 使用统一交叉
这是我到目前为止的想法:
- 高交叉率和多点交叉会降低适应度好的父母的素质,产生更差的后代
- 低交叉率意味着解决方案需要更长的时间才能收敛到某个最优值
【问题讨论】:
标签:
optimization
genetic-algorithm
mutation
genetic
crossover
【解决方案1】:
由于需要更多信息,因此很难给出一个好的答案,这 5 位究竟代表什么,但我试了一下:
- 高交叉率会导致下一代基因组更加随机,因为将有更多基因组混合上一代基因组
- 较低的交叉率可以保留上一代的合适基因组,尽管它会降低通过交叉操作产生非常合适的基因组的机会
- 如果父母不相似,统一交叉将创建与父母非常不同的基因组。如果其父母相似,则后代将与其父母相似。
- 使用 1 点交叉意味着后代基因组将不那么多样化,它们将与父母非常相似。
- 使用多点交叉基本上是 1 点和均匀之间的混合,具体取决于点的数量。