遗传修复问题.docVIP

  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、Partial-Mapped Crossover (PMX)部分映射交叉 ??过程: ????第一步,随机选择一对染色体(父代)中几个基因的起止位置(两染色体被选位置相同): 第二步,交换这两组基因的位置: ??? 第三步,做冲突检测,根据交换的两组基因建立一个映射关系,如图所示,以1-6-3这一映射关系为例,可以看到第二步结果中子代1存在两个基因1,这时将其通过映射关系转变为基因3,以此类推至没有冲突为止。最后所有冲突的基因都会经过映射,保证形成的新一对子代基因无冲突: ??? 最终结果: 2、Order Crossover (OX)顺序交叉 ??过程: ??? 第一步,与PMX相同,随机选择一对染色体(父代)中几个基因的起止位置(两染色体被选位置相同): ???? 第二步,生成一个子代,并保证子代中被选中的基因的位置与父代相同: ??? 第三步(可再分两小步),先找出第一步选中的基因在另一个父代中的位置,再将其余基因按顺序放入上一步生成的子代中: ? 需要注意的是,这种算法同样会生成两个子代,另一个子代生成过程完全相同,只需要将两个父代染色体交换位置,第一步选中的基因型位置相同,本例中的另一个子代为:254913678 ? 与PMX不同的是,不用进行冲突检测工作(实际上也只有PMX需要做冲突检测)。 ? 3、Cycle Crossover (CX)循环交叉 ? 过程: ??? 第一步,在某个父代上随机选择1个基因,然后找到另一个父代相应位置上的基因编号,再回到第一个父代找到同编号的基因的位置,重复先前工作,直至形成一个环,环中的所有基因的位置即为最后选中的位置: ??? 第二步,用父代1中选中的基因生成子代,并保证位置对应: ?? ?第三步,将父代2中剩余基因放入子代中: ? 与上述算法不同的是,仅需要在一个染色体上随机选择一个位置;本例另一个子代结果为:543926781。 4、Position-based Crossover (PBX) ? 过程: ??? 第一步,随机选择一对染色体(父代)中几个基因,位置可不连续,但两染色体被选位置相同: ??? 第二步,与OX的第二步相同,生成一个子代,并保证子代中被选中的基因的位置与父代相同: ?? ?第三步,也与OX的第三步相同,先找出第一步选中的基因在另一个父代中的位置,再将其余基因按顺序放入上一步生成的子代中: ? 与上俩个算法不同的是,选择的基因型位置可以不连续,出来这一点外与OX基本一致,同样有两个子代,本例的另一个为:243519678。? ?? 5、Order-Based Crossover (OBX) ? 过程: ??? 第一步,随机选择一对染色体(父代)中几个基因,位置可不连续,但两染色体被选位置相同: ??? 第二步(分为两小步),先在父代2中找到父代1被选中基因的位置,再用父代2中其余的基因生成子代,并保证位置对应: ? ?第三步,将父代1中被选择的基因按顺序放入子代剩余位置中: ? 同理,交换父代1、2可得到另一个子代(被选择基因的位置不变),本例结果为:423156798。 ? OBX与PBX相比生成子代的“基础”基因来源不同一个来自被选中基因,一个来自剩余的,此外思想基本相似。? 6、Subtour Exchange Crossover ? 过程: ??? 第一步,在某个父代上选择1组基因,在另一父代上找到这些基因的位置: ??? 第二步,保持未选中基因不变,按选中基因的出现顺序,交换两父代染色体中基因的位置,一次生成两个子代: ? 与上述算法不同的是,只在一个染色体上选择基因的位置。

文档评论(0)

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

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

1亿VIP精品文档

相关文档