遗传算法 - 变异



变异简介

简单来说,变异可以定义为染色体中一个小的随机调整,以获得新的解。它用于维护和引入遗传种群的多样性,通常以较低的概率应用 – pm。如果概率很高,则遗传算法会简化为随机搜索。

变异是与遗传算法的“探索”搜索空间相关的部分。据观察,变异对于遗传算法的收敛至关重要,而交叉则不然。

变异算子

在本节中,我们将描述一些最常用的变异算子。与交叉算子一样,这不是一个详尽的列表,遗传算法设计人员可能会发现这些方法的组合或特定于问题的变异算子更有用。

比特翻转变异

在这种比特翻转变异中,我们选择一个或多个随机比特并翻转它们。这用于二进制编码的遗传算法。

Bit Flip Mutation

随机重置

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

交换变异

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

Swap Mutation

扰乱变异

扰乱变异在排列表示中也很流行。在此,从整个染色体中选择基因的一个子集,并随机扰乱或洗牌它们的值。

Scramble Mutation

倒位变异

在倒位变异中,我们像扰乱变异一样选择基因的一个子集,但我们不是洗牌子集,而只是反转子集中的整个字符串。

Inversion Mutation
广告