- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于分治子集积问题DNA计算机算法
基于分治子集积问题DNA计算机算法
摘 要:生物学有一个重要的分支叫做分子生物学。计算机的迅猛发展使计算机被引入到了各大领域,其中也包括分子生物学的领域。在分子生物学这个领域中有一种著名的生物计算,这种生物计算俗称DNA计算。当前,DNA计算在子集积问题的解决中应用最频繁。本文将提出一种解答子集积问题的全新算法,这种算法将把分治法跟DNA计算结合起来运用。
关键词:子集积;分治法;传统算法;DNA算法
0 引言
分治法是一种较为传统的算法,这种算法在中国流行了许多年,时至今日这种算法依然被很多专业人士所运用。而DNA算法是近些年才在中国国内兴起的。尽管DNA算法在国内发展的时间还很短暂,但因为DNA算法有着巨大的优势,所以DNA算法越来越受到专业人士的青睐。本文将把这两种算法综合运用,从而来解答子集积的问题。
1 DNA计算、分治法同时用于子集积问题中的现实意义
分治法通常包含三个步骤:第一个步骤是把需要解答的问题看作是母问题,把母问题分解成一个个规模较小的子问题,第二个步骤是把小规模的子问题一个个解决掉,第三个步骤是把已经解决了的所有子问题统统合并起来,最后得出母问题的答案。而DNA算法的本质是:由于DNA能很好地做到并行计算,所以把DNA工具当成是计算的工具,充分借助DNA的运行能力来解决一些问题。目前,分治法被当作是传统算法,DNA这种算法被当成是现代算法,而本文就是要把这两种算法结合从而诞生一种全新的算法,并将其用于子集积问题的实际解答中。
2 阿德尔曼―立顿模型的基本内容
现实中,DNA计算时对阿德尔曼―立顿模型的利用率是最高的。所以,本文先来介绍下阿德尔曼―立顿这种模型的基本内容。这种模型是由生物学家立顿结合生物学家阿德尔曼的研究成果而提出的。生物学家立顿认为阿德尔曼―立顿模型包括6个基本步骤。
第一个步骤简称为抽取步骤。假定有一个试管,该试管用字母Q表示,还有一个DNA单链,该DNA单链用字母R表示。那么抽取步骤有-(Q,R)和+(Q,R)两种。假如某DNA链中包含了R单链,那么这个DNA链便属于+(Q,R)中。假如某DNA链中并不包含R单链,那么这个DNA链便属于-(Q,R)中。
第二个步骤简称为合并步骤。假定有两个不同的试管,这两个不同的试管分别用字母Q1和Q2来表示。合并步骤是指:把Q1试管和Q2试管中的内容合并起来放到同一根试管中,同时要保证无论Q1还是Q2中的分子链都不能有任何改变。
第三个步骤简称为检测步骤[3]。假定有一个试管,该试管用字母Q表示。Q试管中有一个及以上的DNA链,那么结果便返回英文YES,否则结果便返回英文NO。
第四个步骤简称为复制步骤。假定有一个试管,该试管用字母Q表示。对Q试管做2次复制的基本操作,则将产生Q1和Q2,同时Q试管被清空。
第五个步骤简称为添加步骤。假定有一个试管,该试管用字母Q表示,还有一个DNA单链,该DNA单链用字母R表示。添加步骤是指:把R单链分别添加到Q试管中每个DNA链的尾部位置。
第六个步骤简称为读取步骤。假定有一个试管,该试管用字母Q表示。读取步骤是指:把Q试管中全部的DNA链进行0/1信息的读取。
3 基于分治的子集积问题DNA计算机算法
3.1 DNA计算用于子集积问题中的计算框架
本文认为DNA计算、分治法同时用于子集积问题中的计算框架包含了如下的步骤:(1)假定有两根不同的试管,这两根不同试管分别用字母Q1和Q2来表示。假定有两个子集积,这两个子集积分别用字母V1和V2来表示。第一步是把V1、V2中的全部子集以DNA链的方式分别表示于Q1、Q2试管中。QL用以表示DNA链的基本形式[1]。(2)当V1、V2中的全部子集以DNA链的方式分别表示于Q1、Q2试管中之后,对Q1和Q2试管中的全部DNA链做乘法运算,得到的便是V1和V2每个子集对应的子集积。(3)对Q1中的全部DNA链做除法运算,得到的便是Q1中全部子集积跟L商的全部DNA链。(4)借助并行数据的常用搜索器(N位)进行搜索,搜索的目的是比较Q1和Q2中的全部DNA链。找出Q1中商以及Q2中积完全相同的链,这些完全相同的链便是整个子集积问题的最后答案。
3.2 DNA计算用于子集积问题中的子算法设计
本文认为子算法的基本设计思路共有以下几个步骤:
(1)假定有一个试管,该试管用字母Q表示。利用上述谈到的抽取步骤对Q试管做两次抽取的操作,得出Q1和Q2。Q1中商信息的首位用字母Cn,1来表示,那么Cn,1(Qn,1)的值为1。Q2中商信息的首位也用字母Cn,1来表示,那么Cn,1(Qn,1)的值为0。把Q1中商信息的前面5位(32种)用不同试
原创力文档


文档评论(0)