一种改进混合DNA遗传算法.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种改进混合DNA遗传算法

一种改进混合DNA遗传算法   【摘要】针对目前遗传算法所存在的缺点,本文提出了将DNA和遗传算法相混合的DNA遗传算法的新思路。本文所提算法是采用遗传算法的整体结构,借助生物学理论,并借助DNA的双螺旋结构和碱基互补配对原则进行编码运算。并基于这种结构和原则提出了新的算子,提高了算法的收敛性和有效性。然后通过两个特征函数的验证,文中所改进的算法和解决方案是可行的,解得质量也比较好。   【关键词】DNA遗传算法;型遗传算子   DNA计算中的DNA是重要的遗传物质携带着生物体的所有遗传信息,而遗传算法也是采用生物的遗传信息进行操作的算法,其不同是DNA计算是实验室中进行的而遗传算法是在计算机上编程进行的,将二者混合使用可以使遗传算法在生物的遗传调控机理中更深层次的进行模拟,从而使遗传算法的计算性能得到进一步的提升。由于遗传算法的优越性和良好的性能,将其混合到DNA计算中可以突破其计算的局限性[1]【2】。因此学者开始对该混合的DNA遗传算法进行深入的研究,并取得了一定的成果。本文是在前人研究的基础之上,对遗传算法和DNA计算的混合使用中的算子进行了深入的研究。   1.算法中改进的新型算子的提出   1.1 改进算子中的采用技术   受到DNA分子结构的启发,本文将用DNA的四种碱基对问题的潜在解进行编码,由于DNA的编码方式不能直接被计算机处理,本文将使用二进制表示的数0123对碱基进行编码。在这种编码方式中,令0与鸟嘌呤相对应,1与腺嘌呤对应,2与胸腺嘧啶对应,3与胞嘧啶对应,并且0、1、2、3四个整数将采用二进制的形式进行表示。为了在在编码中实现简易的数学和逻辑操作,将二进制数中的第一位作为区分嘌呤和嘧啶的编码位即0代表嘌呤而1代表嘧啶。同时与互补碱基对对应的代码也呈现互补关系,如碱基对C和G互补组合由0(00)与3(11)构成,而1(01)与2(10)构成的A和T碱基对。这样的互补配对关系,有助于新操作算子的设计。   下面是以上面的编码方式为依据的一个n维的最小化问题:   示长度为的四进制数字串,单个个体的编码长度为,每个变量编码精度由求得。   DNA-GA与遗传算法用二进制进行计算编码时的解码方式相似。其均是以n维十进制向量的形式对个体进行解码,其中:   上公式中的为整数串中的第维第列的数字。因为变量取值范围的不同,所以按比例将变量进行转换,这样就可以得到对应问题的解。   按照这种模式进行编码,就可以引入更多的基因操作到遗传算法中,这样就可以设计算法效率更高更有效的算子。   本文所采用的适应度函数和选择算子是原遗传算法中所采用的,这里就不再赘述。   1.2 改进的新型算子   1.2.1 交叉算子   交叉操作是遗传操作中的重要的生物信息遗传操作,故本文对现有的交叉算子进行了改进,在其中加入了DNA计算中的生物操作技术,形成了新的算子。   (1)移位交叉算子   移位交叉的父体为一个,操作过程如图1所示。移位操作是移换个体中的碱基子序列。设父代的基因为ATCGGTACAT,在父代中随机选取一段子序列,这段子序列所包含的碱基数目和所选碱基的位置也是随机选定的。然后将该段子序列移动到一个新的位置,形成一个新的个体。移位交叉算子的执行概率为。如所选子序列是CGGT将其移动到C的后面形成新的个体。   (2)对换交叉算子   对换交叉操作在两个随机配对的个体之间进行,操作过程如图2所示。首先在优质的群体中随机挑选两个个体作为对换交叉操作的父体。然后在两个父体中分别随机选取一段碱基序列,且命名这个碱基序列为转座子。如图2,在两个父体中随机选择两段个数相同的碱基序列,交换这两个父体所选中的碱基序列,形成新的个体。对换交叉操作的执行概率为。   (3)抽换交叉算子   抽换交叉操作是需要从种群中选取两个个体作为父代。而抽换交叉的目的就是改变个体之间的相似性,因此该操作中所选的父代不是随机的,而是选择两个相似的个体。首先在适应度较好的优秀种群中随机选取一个个体作为父代之一,在随机选取两个个体作为候选父代。然后通过对比候选父体与已知父体的相似度,选择与已知父体更相似的个体作为抽换交叉操作的另一个父体。操作过程如图3所示。抽换交叉算子的执行概率为。   以上三种算子,都可以对单个的DNA序列进行操作,而且各有特点。但是同时执行三种算子将大大增加计算复杂度。本文将对换算子作为基本的交叉算子,移位算子和抽换算子则依据概率执行。   1.2.2 新型变异算子   与以往的同变异算子不同,本文所提出的变异算子是以生物体内的DNA转录成RNA并且通过其配对的反密码子决定蛋白质肽链的合成过程,并且计算在反密码子中各个碱基所出现的概率,然后用低概率替换高概率或者高概率替换低概率的最大

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档