第三章 遗传算法的高级实现技术old.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 遗传算法的高级实现技术old

第三章 遗传算法的高级实现技术 3.1 二倍体与显性操作算子 3.1.1 二倍体结构的生物基础 生物学中,二倍体是指含有二个同源基因组(染色体)的个体。 二倍体是由两个同源染色体构成的,其中的每一个染色体都含有相同功能的基因信息。 3.1.1 二倍体结构的生物基础 二倍体结构中各个基因有显性基因和隐性基因之分,这二类基因使个体所呈现出的表现型由下述规则来决定(显性规则): 在每个基因座上,当两个同源染色体其中之一的基因是显性时,则该基因所对应的性状表现为显性;而仅当两个同源染色体中对应基因皆为隐性时,该基因所对应的性状才表现为隐性。 3.1.1 二倍体结构的生物基础 二倍体的二个重要特性: 1)二倍体的记忆能力,它使得生物能够记忆以前经历过的环境及变化,使得生物的遗传进化过程能够快速地适应环境的变化。这个特点在遗传算法中的应用意义就在于,使用二倍体结构的遗传算法能够解决动态环境下的复杂系统优化问题,而常规的遗传算法却不能很好地应用于动态环境,它难于跟踪环境的动态变化过程。 2)显性操作的鲁棒性,它使得即使随机选择了适应度不高的个体,而在显性操作的作用下,能够用其另一同源染色体对其进行校正,从而避免这个有害选择所带来的不利之处。这个特点应用于遗传算法中,能有利于提高遗传算法的运算效率.维护好的搜索群体。 3.1.2 二倍体结构在遗传算法中的实现方案 Hollstien提出了二倍体与显性操作的双基因座显性映射方法: 每个二进制基因用两个基因来描述,一个称为函数基因,取通常含义的0或1值;另一个称为修饰基因,取值为M或m,其中M表示显性基因,m表示隐性基因。 随后,Hollstien将这种映射关系简化为单基因座显性映射方法。 Holland对这种单基因座的显性映射描述方法进行了改进。描述基因的字符集为{0, 1, 10},其中10为隐性的1,1为显性的1。 3.1.2 二倍体结构在遗传算法中的实现方案 3.1.2 二倍体结构在遗传算法中的实现方案 使用双倍体的遗传算法的算法结构与基本遗传算法的算法结构相类似,不同之处在于: (1) 显性性状也能进化,所以同源染色体之间也需进行交叉操作。 (2) 变异操作需要考虑隐性性状; (3) 对个体进行交叉、变异运算之后,要进行显性操作。 算法DiploidyGA ① 初始化,并设置进化代数计数器初值:t=1。 ② 随机产生具有二倍体结构的初始群体P(0)。 ⑤ 对初始群体P(0)进行显性操作。 ④ 评价初始群体P(0)中各个个体的适应度。 ⑦ 交叉操作:P’(t)←Crossover[p(t)]。由每两个随机配对的二倍体个体进行交叉操作时,共可产生四个单倍体个体。 ⑥ 变异操作:P’’(t)←Mutation[p’(t)]。在对群体中的各个个体进行变异操作时,需要考虑隐性基因的作用。 ⑦ 对群体P’’(t)进行显性操作。 ⑧ 评价群体P’’(t)中各个个体的适应度。 ⑨ 个体选择、复制操作: ⑩ 终止条件判断。若不满足终止条件,则: t←t+1,转到第⑤步,继续进行进化操作过程;若满足终止条件.则.输出当前最优个体,算法结束。 3.2 变长度染色体遗传算法 在遗传算法的实际应用中.有时为简要地描述问题的解,也需要使用不同长度的编码串。 结点1和结点6之间的连通路线,可用以下二种方法来描述: 3.2 变长度染色体遗传算法 (1)用二进制编码来表示各个结点是否在连通路线上,其中1表示在连通路线上,0表示不在连通路线上。此时可使用等长度的编码串来表示连通路线,如: PATH1:1 1 0 0 1 1 PATH2:1 1 1 1 1 1 (2)用连通路线所经过结点的顺序排列来表示该条连通路线,如: PATH1:1—2—5—6 PATH2:1—2—3—4—5—6 3.2.1 变长度染色体遗传算法的编码与解码(MessyGA) 编码 将常规遗传算法的染色体编码串中各基因座位置及相应基因值组成一个二元组,把这个二元组按一定顺序排列起来,就组成了变长度染色体的一种通用染色体编码方式。一般它可表示为: ik是所描述约基因在原常规染色体中的基因座编号,vk为对应的基因值。 MessyGA 若常规遗传算法中一个个体的基因型是: X:1 0 0 1 0 l 其染色体长度为l=6。使用变长度染色体编码,该个体就可表示为: Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1) 在这种变长度染色体遗传算法中,允许染色体的长度可长可短。如: Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0) Xm:(1,1)(3,0)(5,0)(6,1) 前者称为过剩指定,后者称

文档评论(0)

docman126 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档