遗传算法-变异

Posted by dony on April 8, 2019

6 变异 变异是指通过改变父代染色体中的一部分基因来形成新的子代染色体的过程。它能 够保持种群的多样性,降低遗传算法陷入局部最优解风险。 最经典的两种突变方法是实数值突变和离散突变。 1) 实数值突变(Real valued mutation): 实值突变通过给定的变异概率将父代个体的一个或多个变量的值替换成在同一范 围内的随机的新值,从而生成新的个体。例如: 父代个体:[1.1 1.5 2.6 3.1 2.3],其中第2 个基因位发生突变,可能产生的后代为: [1.1 1.7 2.6 3.1 2.3]。 2) 离散突变(Discrete valued mutation): 离散突变与实数值突变的概念和方法类似,只不过在算法执行的过程中要限制个体 的基因均为整数值。离散突变经常应用于二进制编码的种群。 3) 互换突变(Exchanged mutation): 对于排列编码的个体,染色体基因中每个变量的值都是独一无二的,这意味着进行 突变操作后依然要保持染色体的这个特征。互换突变算法在染色体上随机确定两个基因 片段并进行互换。这两个片段必须包含相同数量的基因。如图所示:

1554735397335

​ 图1 互换突变 ​ 除了这些经典突变方法外,另外在进化策略和进化规划中,还有能够调整步长的突变方法。本文档主要介绍遗传算法,因此在这里就不展开介绍了。