遗传算法 - 变异

变异简介

简单来说,变异可以定义为对染色体进行小的随机调整,以获得新的解决方案。它用于维持和引入遗传种群的多样性,通常以低概率应用 - pm。如果概率非常高,GA 就会简化为随机搜索。

变异是 GA 的一部分,与搜索空间的"探索"有关。据观察,变异对于 GA 的收敛至关重要,而交叉则不是。

变异运算符

在本节中,我们描述了一些最常用的变异运算符。与交叉运算符一样,这​​不是一个详尽的列表,GA 设计人员可能会发现这些方法的组合或针对特定问题的突变运算符更有用。

位翻转突变

在此位翻转突变中,我们选择一个或多个随机位并翻转它们。这用于二进制编码的 GA。

位翻转突变

随机重置

随机重置是整数表示的位翻转的扩展。在此,将允许值集合中的随机值分配给随机选择的基因。

交换突变

在交换突变中,我们随机选择染色体上的两个位置,并交换值。这在基于排列的编码中很常见。

Swap Mutation

Scramble Mutation

Scramble Mutation 在排列表示中也很流行。在此过程中,从整个染色体中选择一个基因子集,并随机打乱或改组它们的值。

乱序突变

反转突变

在反转突变中,我们像乱序突变一样选择一个基因子集,但我们不是改组子集,而是仅反转子集中的整个字符串。

反转突变