遗传算法的复制、交叉、变异.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法的复制、交叉、变异 1、 基于随机化搜索的优化算法 遗传算法是一种随机的搜索方法,可以借鉴生物界的进化规律(适应性、生存和比较遗传机制)。它已被广泛应用于函数优化、机器学习、数据处理、自适应控制、劳动等领域。 2、 随机回转轮盘算法 遗传算法的基本操作包括复制、交叉、变异。2, 1复制 复制是指从上一代种群中选择生命力强的个体产生新种群的过程, 复制操作有多种算法, 最经典的是轮盘赌算法, 即将上一代种群中所有个体 (假设共m个) 按适应度值fi成比例的依次组成一个圆形的轮盘, 如图1所示。随机转动轮盘, 当轮盘停下来时, 指针所指向的个体就是被选中的个体, 旋转m次轮盘也就选出m个个体, 由于适应度值较高的个体所占的区域较大, 被选中的概率也较高, 保证了适应度值较高的个体能在新的种群中产生较多的后代。 其算法为: (1) 设置选择算法执行次数j=0 (2) 在区间 (0, total Fitness) 内产生一随机数rands, total Fitness表示种群个体适应度之和 (3) i=0, sum=0;其中i表示第i个个体, sum表示0~i的个体的适应度值之和 (4) sum=sum+fitness (i) , 如果sumrands, 转 (6) ;否则转 (5) (6) 返回第i个个体indivals[i] (7) j++, 如果j=个体总数total Indavial, 选择操作结束, 否则转 (1) 2.2 n]位串交换 遗传算法的有效性主要来自复制和交叉操作, 尤其是交叉在遗传算法中起着核心的作用。交叉操作分两步实现。第一步是在群体中随机抽取两个个体, 作为交叉操作的父个体。第二步是随机地选择交叉点, 对匹配的位串进行交叉繁殖, 产生一对新的位串。具体过程如下:设个体的基因长度为n, 在[0, n]的范围内, 随机地选取一个整数值k作为交叉点。将两个配对位串从位置k后的所有字符进行交换, 从而生成两个新的位串。在交叉操作中, 交叉概率Pc是一个很重要的控制参数, 它决定了个体的更新能力和算法在解空间的搜索能力, 交叉概率过大 (0.75-1) , 高适应值的个体容易被破坏, 交叉率过小 (0-0.25) , 算法退化成随机搜索, 合适的范围在0.25-0.75之间。交叉算法步骤可描述为: (1) 设置交叉次数j=0; (2) 在群体的范围内随机产生两个整数, 其值在区间[1, total Indival]之间 (3) 产生一个随机数randc, randc∈[0, 1] (4) 若rands≥pc, 不执行交叉操作, 直接转 (6) (5) 随机产生在区间[0, indaval Length]内的整数cross Site作为交叉点, 执行交叉操作 (6) j++;如果j≥count Indival/2, 终止交叉操作, 否则转2 2.3 小概率的扭转变换 如果遗传算法只有复制和交叉操作, 就与生物界近亲繁殖影响进程是类似的。由于种群的个体有限, 经过若干代交叉操作, 源于一个较好的祖先的个体会逐渐充斥整个种群, 使问题过早收敛而得不到最优解。为避免这种情况出现, 就要效法自然界生物的变异, 对个体进行小概率的翻转 (替换) 。在采用二进制编码方案的遗传算法中, 变异就是把个体的某一位基因码按变异概率Pm随机的改变, 即把1变成0, 或反之。采用实数编码方案时, 可随机从种群中抽取进行替换。变异算法描述如下: (2) 产生一个随机数randm∈[0, 1] (3) 如果randmPm, 则不进行变异操作, 直接转 (5) , 否则转 (4) (4) 随机产生一整数mut∈[0, indival Length], 将该位的数值翻转或进行替换操作 (5) j++, 如果jcount Indival (个体总数) , 则退出变异操作, 否则转 (2) 3、 遗传算法t Radolph己经证明了一般的遗传算法不一定收敛, 只有每代保存了最优个体时才收敛。在实际应用中, 使用了上述结论来保证收敛性, 每次产生新的种群, 要对新种群中的最优个体与上一代种群的最优个体进行适应度值比较, 若次之, 则用上一代种群的最优个体来替代。遗传算法的基本流程为: (1) 随机产生n个个体为初始种群q (0) , 并设置进化代数计数器t初值为0, 最大迭代数max (2) 对于种群q (t) , 迭代地执行下述步骤, 直到选种标准被满足或循环达到最大迭代数max为止; (1) 利用适应度函数, 计算群体中的每个个体的适应值; (2) 应用复制、交叉、变异操作来产生新的种群; (3) 将新种群中不符合限制条件的个体染色体编码进行修正 (4) 比较上一代种群中的最优个体和新种群最优个体的适应度值, 选择适应度值大的最优个体进入新种

文档评论(0)

liummmsssw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档