首页> 中国专利> 一种基于DNA计算的智能优化仿真方法

一种基于DNA计算的智能优化仿真方法

摘要

本发明涉及一种基于DNA计算的智能优化仿真方法,其特征在于:具体步骤如下:步骤一:确定求解问题;步骤二:确定反应算子;步骤三:确定删选和约束算子;步骤四:计算机代码实现。该方法借鉴了DNA计算并行计算与互补结构的特点,与实际问题相结合,从而实现了计算机模拟的快速求解。该算法充分利用了DNA计算高密度存储信息的特点。根据本发明方法,可以对一个NP完全问题求出最优解,且运算速度快速与精确性高。根据本发明方法,可以对一个NP完全问题求出最优解,且运算速度快速与精确性高。

著录项

  • 公开/公告号CN102063643A

    专利类型发明专利

  • 公开/公告日2011-05-18

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201010602187.4

  • 发明设计人 董萌;段海滨;

    申请日2010-12-13

  • 分类号G06N3/12;

  • 代理机构北京慧泉知识产权代理有限公司;

  • 代理人王顺荣

  • 地址 100191 北京市海淀区学院路37号北航自动化学院

  • 入库时间 2023-12-18 02:26:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-27

    未缴年费专利权终止 IPC(主分类):G06N3/12 授权公告日:20140730 终止日期:20141213 申请日:20101213

    专利权的终止

  • 2014-07-30

    授权

    授权

  • 2012-07-04

    实质审查的生效 IPC(主分类):G06N3/12 申请日:20101213

    实质审查的生效

  • 2011-05-18

    公开

    公开

说明书

技术领域

本发明是一种基于DNA计算(DNA computing)的智能优化仿真方法,属于计算机信息处理领域。

背景技术

计算机的发展已经有很长的历史,设计用来便利计算的工具的历史更长。在当今社会,电子计算机在我们的日常生活中占有主导地位,没有它的帮助,我们的生活显得举步维艰。然而,随着社会和技术的发展,许多工程中的复杂系统不断涌现,在这些复杂系统的研究领域内,充斥着各种各样的非线性问题,NP(Non-deterministic Polynomial多项式复杂程度的非确定性问题)完全问题。面对这些问题,现有的电子计算机却显得无能为力,其主要是由于电子计算机的运算速度太慢,存储容量太小,量子物理学已经预测出基于这种形式的芯片的微处理能力不可能长期的保持下去,基于这两点原因及制造技术的局限,探索新的计算方式势在必行。很早以前就有人提出现代计算机的基本部件应该逐步过渡到分子水平,这样也有利于实现计算机技术的微型化,DNA计算在这种思想和需求下应用而生,在接下来的十余年备受科学界关注。

DNA计算是一种全新的计算模式,也是信息科学与生物科学相结合的一种全新的思维模式,利用有机分子的信息处理能力来代替数字开关部件是DNA计算的基本思想。

DNA计算具有大规模的搜索能力及并行计算的能力。这主要基于如下两个方面:

(1)DNA链的巨大并行性。由于DNA链由A、C、G、T四种碱基组成,相对于电子计算机的0-1编码,DNA链可看作0-1-2-3编码,对于相同长度的序列,电子计算机存储的信息仅为2n,而DNA链存储的信息则为4n,由此可知,DNA链能够高密度地存储信息,又由于DNA的复制、粘贴等性能,它可以在有限的空间和时间内进行大量的拷贝,这也给群举提供了可能。

(2)DNA链具有双螺旋碱基互补结构。DNA分子由两条DNA单链聚合而成,相对的碱基彼此互补,这就告诉我们,如果知道了其中一条单链的信息,那么就可以知道另一条单链的信息,如此我们便不需要对所有的单链进行遍历式检测,减少了工作量。

DNA计算是以DNA链及相关的酶作为基本材料利用分子生化技术得出可行解的一种分子生物计算方法。它主要是利用DNA双螺旋结构和碱基互补规律对问题进行信息编码,将问题映射成DNA分子链,在有关酶的作用下生成各种数据池,而后原始数据的运算规律映射成DNA链可控的生化反应使DNA链进行反应。反应结束后,利用分子生物技术如聚合链反应PCR、超声波降解、亲和层析、克隆、诱变、分子纯化、电泳、磁珠分离等,检测筛选出所需要的结果。

DNA计算的本质就是利用大量的不同核酸分子杂交,产生类似数学计算过程中某种组合的结果,并且根据限制条件得出约束解。由于不同的DNA分子具有不同的编码形式,当大量随机的DNA分子进行杂交后,每个DNA分子的原始信息就会与其它分子所携带的原始信息进行组合,这就是类似于数学中的组合问题。对DNA分子进行一系列连续的生化操作,可用于模拟特定的运算过程。

DNA计算的核心问题是将经过编码后的DNA分子链作为输入,对DNA分子进行生化操作(既有物理操作也有化学操作.物理操作实质上是调控生化反应的外部条件,例如温度,酸碱度等。此外是在试管内或其它载体上经过一定时间完成控制的生物化学反应,尤其是通过各种酶的操作.这些操作包括:合并、分离、加热与退火、扩增、切割、连接、聚合、检测等生物工程技术)。最后对结果DNA分子(即待求问题的解)进行萃取。

DNA计算是1994年被Adleman提出并用实验显示了用于计算的可行性。他用DNA计算解决了图论中NP完全问题有向图七顶点六条边Hamilton(哈密顿)路径问题。其主要思想是:首先随机生成所有的有向路,然后找出所有开始于起点终止于终点的有向路,最后寻找经过图的每个顶点且每个顶点只经过一次的有向Hamilton路。

这一研究成果引起了数学、物理、化学以及生物界科学家们的广泛关注,也开辟了DNA计算这一崭新的研究领域。目前DNA计算的研究主要集中在以下几个方面:

(1)研究DNA计算的生物工具和算法实现技术;

(2)建立不同问题的DNA计算模型;

(3)研究DNA计算的形式语言及DNA计算的复杂度;

(4)研究DNA计算和软计算的结合;

(5)DNA自组装相关计算;

(6)体内应用为目标的DNA计算。

本发明即是基于DNA计算的思想将其应用于具体问题的智能优化仿真方法。

发明内容

本发明提出了一种基于DNA计算的智能优化仿真方法,其目的是提供一种解决群举问题的有效途径,其思想也可应用于其它NP完全问题。

该方法借鉴了DNA计算并行计算与互补结构的特点,与实际问题相结合,从而实现了计算机模拟的快速求解。该算法充分利用了DNA计算高密度存储信息的特点。

DNA计算最初解决了Hamilton有向图问题,有向图的简单形象描述是:给定n个地点,从某一地点出发,访问各点一次且仅有一次后到达终点,要求找出一条最短的路径。

DNA计算的数学模型如下:

一个DNA单链可看作由符号集∑={A、C、T、G}组成的字符串,相当于电子计算机中的0-1编码,可按DNA双螺旋结构和碱基互补配对规则用{A、C、T、G}对实际问题进行编码,例如:A=1,C=0,将一个实际问题编码为ACCTGAGTT则在计算模拟时则可写成当计算得到结果时亦可使用相同方法解码。

生物酶可以看作是模拟在DNA分子上的不同的计算,不同的生物酶相当于作用在DNA串上的不同的算子。常用的生物酶有:限制性内切酶,它能够识别特定的碱基序列,并在相应的位置切断DNA分子作分离操作;核酸外切酶,从DNA序列的端开始,切除碱基,作删除操作;聚合酶,在DNA分子的一端添加核苷酸使序列加长,作复制操作;连接酶,是两条具有粘性末端的DNA链连接为一条,做连接操作。

各种化学、物理操作可以看作是对DNA分子的筛选和约束计算,不同的操作相当于作用在DNA串上不同的算子。常用的操作有:合成,将核苷酸按照一定的次序生成所需长度的DNA链;熔解,使双链DNA分解成两条互补的单链DNA;退火,使单链DNA重新组装成双链DNA;凝胶电泳,测量DNA分子的长度;杂交,利用碱基互补配对原则,利用一堆寡核苷酸序列将两条单链分子首尾相接形成说螺旋DNA分子;磁珠分离,将含有特定寡核苷酸片段的单链DNA从溶液中分离出来;变性梯度凝胶电泳及温度梯度凝胶电泳,将相同长度但序列组成不同的DNA片段分离开来。

对于一个特定的问题,首先用DNA的碱基对其编码,之后选择特定的生物酶作为算子使被编码的DNA链在生物酶的作用下反应产生适用于问题的解,而后根据约束条件选择分离方法筛选出拥有可行解及最优解的DNA链,解码DNA读取信息即可找出问题的解。其基本步骤如图1所示。

本发明是一种基于DNA计算的智能优化仿真方法,其具体实现步骤如下(可参见图2):

步骤一:确定求解问题。

首先,将所要求解的问题归纳成对应的数学模型,确定输入的变量和需要输出的变量;

然后,对输入的变量进行DNA编码,这里指出,根据输入变量数的不同和计算过程中对变量特异性要求的不同,选取编码的位数不同,在没有特殊要求的情况下可选择编码位数20为默认值,但可根据实际需要选择不同的编码位数,为了计算方便,所有变量的编码位数最好相同。

而后,将所编码的DNA链中的{A、C、T、G}对应为映射成数字编码存放于数组1、2...n(n为输入变量数)中。

步骤二:确定反应算子。

首先,确定问题求解的过程,将变量运算的过程归纳称为数学模型,即相关的函数或逻辑运算;

其次,将相关的函数或逻辑运算抽取成为可应用于序列的函数和运算。这里给出具体生物酶的建议函数和运算:

限制性内切酶,逐个搜索数组中的特定序列,直接取出所需数组元素;核酸外切酶,从数组首元素开始逐渐删除并将余下数组存于另一数组,更新数组;聚合酶,在数组末端添加元素;连接酶,检测两个数组、的末端和前端是否匹配,匹配即合并为一个数组(这里的匹配可自行定义)。

其中,上述的每一种具体生物酶的函数和运算所涉及的数组均为不特定的数组。

步骤三:确定删选和约束算子。

首先,确定所求输出变量的约束条件,将约束条件归纳为数学模型,也即步骤二中所述的相关的函数和逻辑运算;

而后,将相关函数和逻辑运算抽取成为可用于序列的函数和运算,这里给出具体的生化反应的建议函数和运算:

合成,将需要合并的数组逐次存放到另一空白数组中;熔解,对于两行数组,将每行分别存于不同的空白数组中;

退火,对于一个单行数组按自行定义的求补规则求出其中每个元素的补存放于另一数组中,而后将两个数组存放在另一个两行数组中;

凝胶电泳,计算数组元素的个数;

杂交,寻找一数组,检测该单行数组与另外两个单行数组元素的补运算是否匹配,弱匹配则求出各数组求补后的数组匹配合并为一个两行数组;

磁珠分离,利用已知的数组排序检测数组群,搜寻出所需排序数组(有相同排序的数组)。

其中,上述的每一种具体的生化反应的函数和运算中所涉及的数组均为不特定的数组。

步骤四:计算机代码实现。

首先,输入变量的编码在数组1、2...n(n是输入变量数)中;

其次,根据步骤二所抽取的相关酶算子模型函数和逻辑运算对相应的数组变量进行运算;

最后,根据步骤三抽取的约束模型函数和运算,在变量所产生的解数组中搜寻出所要求的可行解和最优解。

本发明一种基于DNA计算的智能优化仿真方法,其优点及功效在于:该方法借鉴了DNA计算并行计算与互补结构的特点,与实际问题相结合,从而实现了计算机模拟的快速求解。该算法充分利用了DNA计算高密度存储信息的特点。根据本发明方法,可以对一个NP完全问题求出最优解,且运算速度快速与精确性高。

附图说明

图1本发明方法DNA计算的基本步骤

图2本发明方法基于DNA计算的智能优化仿真方法流程

图3待解决的Hamilton有向图

图4本发明方法的运行结果

具体实施方式

下面通过一个具体实施事例来验证本发明所提出的基于DNA计算的智能优化仿真方法的性能,所采用的求解问题即是七顶点Hamilton有向图问题。实验环境为1.8Ghz,2G内存,MATLAB 7.0版本,其具体实现步骤如下:

步骤一:确定求解问题。

要求解的问题是七顶点Hamilton有向图问题,即寻找经过图的七个顶点的每个顶点且每个顶点只经过一次的有向Hamilton路,本发明采用图3。

首先确定输入变量,即每个顶点的位置和两顶点之间的最短距离(由于路障等问题,该距离并不一定是直线距离)。对每个顶点及边进行编码,由于顶点较少,采用6个字母的编码方式,则对七个顶点的编码可取为:

顶点一:CCCCCC

顶点二:CCACCA

顶点三:CACCAC

顶点四:CAACAA

顶点五:ACCACC

顶点六:ACAACA

顶点七:AACAAC

对应于计算机编码,为:

顶点一:000000

顶点二:001001

顶点三:010010

顶点四:011011

顶点五:100100

顶点六:101101

顶点七:110110

每个顶点的坐标及计算出各条边的长度如表1(a第i列为第i个点的横坐标,b第i列为第i个点的纵坐标,str的第i行第j列代表第i个点到第j个点的距离),对每条边编码,每条边由6位编码组成,前三位编码为起点的前三位编码,后三位编码为终点的后三位编码,例如:一二顶点的编码为000001,二一顶点的编码为001000。

表1

步骤二:确定反应算子。

将所有边的编码存放于一个数组中,令所有的边进行组合,只有两条边第一条边的后三个编码和第二条边的前三个编码相同时才能组合,组合过的边不容许再次参与组合,由于七个顶点存在六条边,故组合为六条边后组合结束。

步骤三:筛选组合。

将所有的七顶点六条边组合译码成顶点序列,求出每一条序列的边的组合长度,比较找出最短距离的序列边。

步骤四:计算机代码实现

运行结果如图4。所用时间不到1s。可见本方法的快速与精确性。

该方法是解决信息计算的有效途径,可广泛应用于航空、航天、工业生产等领域。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号