- 遗传算法教程
- 遗传算法 – 首页
- 遗传算法 – 简介
- 遗传算法 – 基础
- 基因型表示
- 遗传算法 – 种群
- 遗传算法 – 适应度函数
- 遗传算法 – 父代选择
- 遗传算法 – 交叉
- 遗传算法 - 变异
- 幸存者选择
- 终止条件
- 终身适应模型
- 有效实施
- 高级主题
- 应用领域
- 进一步阅读
- 遗传算法资源
- 遗传算法 - 快速指南
- 遗传算法 - 资源
- 遗传算法 - 讨论
遗传算法 - 变异
变异简介
简单来说,变异可以定义为染色体中一个小的随机调整,以获得新的解。它用于维护和引入遗传种群的多样性,通常以较低的概率应用 – pm。如果概率很高,则遗传算法会简化为随机搜索。
变异是与遗传算法的“探索”搜索空间相关的部分。据观察,变异对于遗传算法的收敛至关重要,而交叉则不然。
变异算子
在本节中,我们将描述一些最常用的变异算子。与交叉算子一样,这不是一个详尽的列表,遗传算法设计人员可能会发现这些方法的组合或特定于问题的变异算子更有用。
比特翻转变异
在这种比特翻转变异中,我们选择一个或多个随机比特并翻转它们。这用于二进制编码的遗传算法。
随机重置
随机重置是整数表示中比特翻转的扩展。在此,从允许值的集合中随机选择一个值并将其分配给随机选择的基因。
交换变异
在交换变异中,我们在染色体上随机选择两个位置,并交换其值。这在基于排列的编码中很常见。
扰乱变异
扰乱变异在排列表示中也很流行。在此,从整个染色体中选择基因的一个子集,并随机扰乱或洗牌它们的值。
倒位变异
在倒位变异中,我们像扰乱变异一样选择基因的一个子集,但我们不是洗牌子集,而只是反转子集中的整个字符串。
广告