📜  遗传算法-变异

📅  最后修改于: 2020-11-24 07:11:29             🧑  作者: Mango


突变概论

简单来说,突变可以定义为染色体中的一个小的随机调整,以获得新的解决方案。它用于维持和引入遗传种群中的多样性,通常以低概率– p m应用。如果概率很高,则GA会减少为随机搜索。

变异是GA的一部分,与搜索空间的“探索”有关。已经观察到突变对于GA的收敛是必不可少的,而交叉不是必需的。

变异算子

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

位翻转突变

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

位翻转突变

随机重置

随机复位是整数表示的位翻转的扩展。在这种情况下,将一组允许值中的一个随机值分配给一个随机选择的基因。

交换突变

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

交换突变

加扰突变

加扰突变在置换表示中也很流行。在这种情况下,从整个染色体中选择基因的一个子集,然后随机扰乱或乱序排列它们的值。

加扰突变

反转突变

在反向突变中,我们像在加扰突变中那样选择基因的一个子集,但是我们没有对子集进行改组,而是仅反转了子集中的整个字符串。

反转突变