法律状态公告日
法律状态信息
法律状态
2018-03-20
授权
授权
2015-12-09
实质审查的生效 IPC(主分类):G06F19/16 申请日:20150629
实质审查的生效
2015-11-11
公开
公开
技术领域
本发明属于DNA计算领域,尤其是涉及一种基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法。
背景技术
2010年,DavidSoloveichik等人提出”DNAasauniversalsubstrateforchemicalkinetics”,一定程度上从理论层面证明:对于任何一个形式化学反应网络(下文简称为CRNs),我们总能方便地找到其对应的DNA的物理实现。也就是说,任意一个我们所设计的CRNs,可以映射到DNA分子链置换反应上;而DNA分子链置换反应,在“忽略反应物、生成物具体是什么DNA分子”的前提下,可以抽象为一个由一系列形如A+B→C+D的基元反应所构成的CRNs,从而使设计简单化。
2011年,PhillipSenum等人提出”Rate-independentconstructsforchemicalcomputation”,表明化学反应网络结构如果设计的合理,化学反应的反应速率将不会影响整个CRNs系统的动态特性,即一定程度上可以不去考虑化学反应速率的精确值,而关心CRNs在某个相对反应速率范围内的稳定特性。
2013年,HuaJiang等人提出”DigitalLogicwithMolecularReactions”,对于单个比特如X,可以用下面公式中3个化学反应来表示,并由此提出了基于分子反应双稳态的数字逻辑,以及简单组合逻辑的设计。然而,该设计方法需要具体的电路架构,且不具有一般性。
W0+W1→SW
W0+SW→3W0
W1+SW→3W1
在现有技术中,获取CRNs的方法都比较复杂,最后得到的CRNs不具有一般性,而且CRNs中的反应方程式多,这样导致计算的时间长,需要的成本高。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供了一种无需考虑具体的电路架构,简化了CRNs,有效降低了能耗的基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法。
技术方案:本发明提供了一种基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法,包括以下步骤:
步骤1:按照设定的逻辑功能,得到一张反映输入、输出逻辑关系的真值表,并从真值表中映射出形式化学反应网络;
步骤2:采用卡诺图化简的方法,对步骤1中获得的形式化学反应网络进行化简,获得用于实现组合逻辑功能的形式化学反应网络。
进一步,所述步骤1中的映射的方法包括同时进行的以下步骤:基于双稳态分子反应的数字逻辑表示单个比特,得到稳定的输入和输出信号;根据输入和输出的真值表得到对应的化学反应方程;对输出信号参数进行修正。
进一步,所述步骤2中采用的卡诺图化简方法中每个卡诺圈仅贯穿1整行或1整列。
进一步,所述步骤2中在进行卡诺图化简时,如果所有输出信号的情况都被输入信号所涵盖,则不进行步骤103的操作。
有益效果:与现有技术相比,本发明提供的方法主要用于DNA分子链置换反应中表示逻辑关系的化学反应网络的获得,主要采用电子学中的真值表以及卡诺图化简的方式获取CRNs,不仅无需考虑具体的电路架构就可以获得能够反应逻辑关系的CRNs,而且简化了CRNs,有效降低了能耗。同时本发明提供的方法更具有一般性,通俗易懂,操作更加简单方便。
附图说明
图1是主要反应的化学反应式图;
图2是实施例1中通过真值表映射出形式化学反应网络图;
图3是实施例1的卡诺图;
图4是实施例1的化简表;
图5是实施例1输出结果的仿真结果图;
图6是实施例2的卡诺图;
图7是实施例2的化简图;
图8是实施例2输出结果的仿真结果图。
具体实施方式
下面结合附图和具体实例,对本发明提出的一种基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法进行具体说明。
本发明提供的基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法,包括以下步骤:
步骤1:按照设定的逻辑功能,得到一张反映输入、输出逻辑关系的真值表,并从真值表中映射出形式化学反应网络。其中,形式化学反应网络由3部分组成,背景反应,主要反应和修正反应。
对于2输入-1输出的逻辑电路,我们用X、Y表示输入信号,Z表示输出信号。输入信号X、Y和输出信号Z均为单个比特,其中,X1表示输入信号X的逻辑值为1,X0表示输入信号X的逻辑值为0;Y1表示输入信号Y的逻辑值为1,Y0表示输入信号Y的逻辑值为0;Z1表示输出信号Z的逻辑值为1,Z0表示输出信号Z的逻辑值为0,以此类推。在本发明中输入信号即为输入的物种,输出信号即为产出的物种,如果输入信号和输出信号的逻辑值为1则表示该物种存在,如果逻辑值为0则表示该物种不存在。
背景反应是基于双稳态分子反应的数字逻辑表示单个比特,得到稳定的输入和输出信号。主要是以下化学反应来表示:
W0+W1→SW
W0+SW→3W0
W1+SW→3W1
上述反应表明,一分子的W0和一分子的W1反应,生成一分子的中间产物SW,该中间产物SW既可以和W0结合,又可以和W1结合,最终使得输入信号的值不再模糊,从逻辑值0和逻辑值1中分化开来。
主要反应是根据输入和输出的真值表得到对应的化学反应方程。其目的是将真值表所涵盖的逻辑功能,映射到CRNs当中,使得设计的CRNs能实现一定的逻辑功能。
如图1所示,将二输入真值表中四个小分隔,从左到右、从上到下,分别定义为T00、T01、T10、T11;T00、T01、T10、T11表示具体的逻辑值,因此T00、T01、T10、T11不是逻辑0就是逻辑1。各自对应于主要反应里的预生成物Z'的逻辑值。
修正反应是对输出信号参数进行修正,其目的是使得输出稳定在同等输入水平上,不产生输出的放大。其化学反应如表1所示:
表1:修正反应的化学反应式
预反应物需要经过修正得到最终反应物。以Z0的修正反应为例,当且仅当预生成物Z0'遇到Z1时,两者结合生成为Z0,反之则自行湮灭。这个过程可以看成是Z0′将Z1修正为Z0。同理可知,预生成物Z1′只有遇到Z0时才会起作用,并将其修正为Z1。基于此,输出Z始终保证逻辑上非0即1,也就是生成物质的浓度上非0即10nM。
步骤2:采用卡诺图化简的方法,对步骤1中获得的形式化学反应网络进行化简,获得用于DNA分子链置换反应的形式化学反应网络。类似于传统卡诺图的圈法,圈0/1为最大项/最小项,且尽可能希望所画的卡诺圈越大越好。本发明方法需要所圈的卡诺圈为长方形,且每个卡诺圈仅贯穿1整列或1整行。如果所有输出0/1的情况,都被化简的输入信号所涵盖,那么相应的修正反应亦可略去。一个卡诺圈可以化简为一个化学反应方程,含义是一个输入信号生成圈内的输出信号的同时,消耗掉与圈内输出互补的信号,而不引起输入信号自身的变化。
如果针对N输入,M输出的情况;如果N>2,1输出的情况,需要借助中间反应物进行化简;如果N>1,M>1的情况,就相当于M种N输入1输出情形的叠加,至多需要M张N输入1输出的真值表来实现。
实施例1:
2输入1输出情况,设定真值表,如表2所示。
表2:实施例1的真值表
如图2所示,由真值表和卡诺图结合三种反应得到一组含17个化学反应方程的CRNs。
采用卡诺图化简的方法对上述17个化学反应方程组成的CRNs进行化简。如图3所示,根据化简方法,只能圈出2个“0”格的卡诺圈,分别用虚线框和实线框表示。
化简后,虚线框表示输入信号X0与Z1生成Z0和X0,即X0+Z1→X0+Z0,实线框表示输入信号Y0与Z1生成Z0和Y0,即Y0+Z1→Y0+Z0。由于此例中所有“0”格全部圈完,因此无需再对Z0修正。如图4所示,表中左边的5个化学反应方程式化简为右边黑框里的2个方程式。由于剩下的“1”格无法化简,因此其所对应的基于真值表完全映射的化学反应方程保持不变,且还需对Z1进行修正。综上述,除了9个背景反应外,其余8个反应式可以化简为5个反应方程。
根据仿真化简后的5个化学反应方程,还有9个背景反应,共14个化学反应方程,使用mathematica仿真,结果如图5所示,仿真的结果为预先设定的输出结果。
实施例2:
3输入1输出,设定真值表,如表3所示。
表3:实施例2的真值表
其中,输入信号分别为X、Y、O,输出信号为Z。如果按照真值表完全映射的话,共需要12个背景反应,8个主要反应以及4个修正反应。由于化学反应的反应物不超过两个,因此需要将3输入1输出降级为2输入1输出,因此引入中间反应物I1、I2、I3、I4。它们表示每一列卡诺圈化简后对应的输入信号。以第一列为例,表示输入信号Y0和O0生成I1;第二列表示输入信号Y0和O1生成I2,依次类推知第四列表示输入信号Y1和O0生成I4。其中,中间产物的化学方程式为:
对于N输入1输出的逻辑门,共需要个化学反应来引入中间产物,从而将N输入1输出降级。
如图6所示,在卡诺图上可以圈出2个“0”格的卡诺圈和2个“0”格的卡诺圈,分别用阴影框和实线框表示。
化简后,阴影框表示输入信号I1(或I3)与Z1生成Z0和I1(或I3),即I1+Z1→I1+Z0(或I3+Z1→I3+Z0),实线框表示输入信号I2(或I4)与Z0生成Z1和I2(或I4),即I2+Z0→I2+Z1(或I4+Z0→I4+Z1)。由于此例中所有“0”格全部圈完,因此无需再对Z0修正;同样也无需再对Z1修正。因此,如图7所示,除了12个背景反应外,其余12个反应式可以化简为4个反应方程。
仿真结果如图8所示,三维图来描述与逻辑电路的结果。其中,X轴表示输入信号X,Y轴表示输入信号Y,Z轴表示输入信号O。输出信号Z用三维空间中的点来表示,区域B表示逻辑0,区域A表示逻辑1。
机译: 基于分布式技术的映射系统和相应方法实现映射链中的映射链数字资产
机译: 基于计算机实现的基于实例的概念提取方法
机译: 基于分布式调整引擎的交易方法,装置和系统,用于实现块链的分布式链