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