已阅读0页,还剩88页未读,
继续免费阅读→
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行认领
文档简介
【正文】
,从而形成一个新的个体。遗传算法中的变异运算是产生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。 SGA中变异算子采用基本位变异算子。 基本位变异算子 基本位变异算子是指对个体编码串随机指定的某一位或某几位基因作变异运算。对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作的某一基因座上的原有基因值为 0,则变异操作将其变为 1;反之,若原有基因值为 1,则变异操作将其变为 0 。 基本位变异算子的执行过程 变异前: 000001110000000010000 变异后: 000001110001000010000 变异点 运行参数 ( 1) M : 种群规模 ( 2) T : 遗传运算的终止进化代数 ( 3) Pc : 交叉概率 ( 4) Pm : 变异概率 SGA的框图 产生初始群体 是否满足停止准则 是 输出结果并结束 计算个体适应度值 比例选择运算 单点交叉运算 基本位变异运算 否 产生新一代群体 执行 M/2次 遗传算法的特点 ( 1)群体搜索,易于并行化处理; ( 2)不是盲目穷举,而是启发式搜索; ( 3)适应度函数不受连续、可微等条件的约束,适用范围很广。 二、遗传算法原理 遗传算法的数学基础 遗传算法的收敛性分析 遗传算法的改进 遗传算法的数学基础 ( 1)模式定理 ( 2)积木块假设 模式 模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同的结构。在二进制编码中,模式是基于三个字符集 (0,1,*)的字符串,符号 *代表任意字符,即 0 或者 1。 模式示例: 10**1 两个定义 定义 1:模式 H 中确定位置的个数称为模式 H 的阶,记作 O(H)。例如 O(10**1)=3 。 定义 2:模式 H 中第一个确定位置和最后一个确定位置之间的距离称为模式 H 的定义距,记作 δ(H)。例如 δ(10**1)=4 。 模式的阶和定义距的含义 模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本数就越少。在遗传操作中,即使阶数相同的模式,也会有不同的性质,而模式的定义距就反映了这种性质的差异。 模式定理 模式定理:具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。 模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释遗传算法机理提供了数学基础。 模式定理 从模式定理可看出,有高平均适应度、短定义距、低阶的模式,在连续的后代里获得至少以指数增长的串数目,这主要是因为选择使最好的模式有更多的复制,交叉算子不容易破坏高频率出现的、短定义长的模式,而一般突变概率又相当小,因而它对这些重要的模式几乎没有影响。 积木块假设 积木块假设:遗传算法通过短定义距、低阶以及高平均适应度的模式(积木块),在遗传操作下相互结合,最终接近全局最优解。 模式定理保证了较优模式的样本数呈指数增长,从而使遗传算法找到全局最优解的可能性存在;而积木块假设则指出了在遗传算子的作用下,能生成全局最优解。 遗传算法的收敛性分析 遗传算法要实现全局收敛,首先要求任意初始种群经有限步都能到达全局最优解,其次算法必须由保优操作来防止最优解的遗失。与算法收敛性有关的因素主要包括种群规模、选择操作、交叉概率和变异概率。 种群规模对 收敛性的影响 通常,种群太小则不能提供足够的采样点,以致算法性能很差;种群太大,尽管可以增加优化信息,阻止早熟收敛的发生,但无疑会增加计算量,造成收敛时间太长,表现为收敛速度缓慢。 选择操作对 收敛性的影响 选择操作使高适应度个体能够以更大的概率生存,从而提高了遗传算法的全局收敛性。如果在算法中采用最优保存策略,即将父代群体中最佳个体保留下来,不参加交叉和变异操作,使之直接进入下一代,最终可使遗传算法以概率 1收敛于全局最优解。 交叉概率对 收敛性的影响 交叉操作用于个体对,产生新的个体,实质上是在解空间中进行有效搜索。交叉概率太大时,种群中个体更新很快,会造成高适应度值的个体很快被破坏掉;概率太小时,交叉操作很少进行,从而会使搜索停滞不前,造成算法的不收敛。 变异概率对 收敛性的影响 变异操作是对种群模式的扰动,有利于增加种群的多样性 。但是,变异概率太小则很难产生新模式,变异概率太大则会使遗传算法成为随机搜索算法。 遗传算法的本质 遗传算法本质上是对染色体模式所进行的一系列运算,即通过选择算子将当前种群中的优良模式遗传到下一代种群中,利用交叉算子进行模式重组,利用变异算子进行模式突变。通过这些遗传操作,模式逐步向较好的方向进化,最终得到问题的最优解。 遗传算法的改进 遗传欺骗问题:在遗传算法进化