基于DNA下推自动机二进制减法和乘法的实现.doc
《基于DNA下推自动机二进制减法和乘法的实现.doc》由会员分享,可在线阅读,更多相关《基于DNA下推自动机二进制减法和乘法的实现.doc(20页珍藏版)》请在三一办公上搜索。
1、基于DNA下推自动机二进制减法和乘法的实现程珍1) 黄玉芳1) 周康2)(华中科技大学 控制科学与工程系 武汉 430074) 2) (武汉工业学院 数理科学系 武汉 430023)摘要提出了基于DNA下推自动机二进制减法和乘法的实现方法. 一位二进制借位减法, 是通过预先构造好的DNA下推自动机模型在一个试管中以该模型的运行方式自动完成运算. m位二进制借位减法, 是在一位二进制减法的基础上, 按照从低位到高位的顺序, 将低位产生的借位作为高位试管操作中的输入符号串, 从而完成高位的减法运算. 两位二进制乘法中包含移位和加法操作, 在两个试管中分别设计好DNA下推自动机模型, 分别完成被乘数
2、与乘数各位的移位操作, 同时结合相应的生物操作, 将其作为另一个试管加法操作中的输入符号串, 则加法操作中产生的结果即为所求. 在此基础上, m位二进制乘法可通过移位操作的并行性和加法操作的串行性来完成运算. 这些实现方法为DNA下推自动机实现基本的算术运算提供了比较完整的运算机制.关键词DNA下推自动机; 借位减法; 乘法; 移位操作; DNA编码中图法分类号TP301 Implementation of binary subtraction and multiplication based on DNA push-down automatonCHENG Zhen1) HUANG Yu-Fa
3、ng1) ZHOU Kang2)1) (Department of Control Science and Engineering, Huazhong University of Science and technology, Wuhan 430074)2) (Department of Mathematics and Physics,Wuhan Polytechnic University,Wuhan 430023)Abstract The implementations of binary borrow bit subtraction and multiplication based on
4、 DNA push-down automata are proposed. The one bit binary subtraction can be automatically completed the operations in one tube by designing the DNA push-down automata model preparedly in advance. Based on this model, m bits subtraction can be obtained by putting the borrow bit from the low bit tube
5、to the high bit tube as the input strings. The two bits binary multiplication based on DNA push-down automata model includes shift operations and addition operations, the shift operations between the string representing the multiplicand and the strands denoting each bit of the multiplier can be perf
6、ormed in two tubes synchronously combining biology operation, then the result strings are put into another tube as the input strings in the addition operation, finally the output in this operation is the solution. The m bits binary multiplication can be got by parallel shift operations and serial ad
7、dition operations. These processes provide relatively complete arithmetic mechanisms for DNA automata.Keywords DNA push-down automata; borrow bit subtraction; multiplication; shift operation; DNA-encoding1 引言自Adleman 1994 年创立 DNA 计算模型1以来, DNA 计算无论是在理论上, 应用模型的建立上, 还是实验与检测技术上都取得了惊人的进步. 它的优势是利用DNA分子具有海
8、量的存储能力及生化反应的巨大并行性等特点进行计算2-3. 在DNA 计算运算系统的研究中, 首先取得突破性工作的是Guarnieri4等人于1996年建立了DNA计算的加法运算模型, 提出了基于DNA计算的二进制正有理数的加法运算, 解决了加法的进位问题, 创造性地完成了对DNA分子生物运算过程的构造与控制, 同时进行了相应的生物实验操作;而后他们继续将上述结果扩展到一般的3进制乃至k进制的加法运算5. 1999年, Bernard6等人提出了一种新的DNA加法模型, 这种加法运算与Guarnieri的工作相比, 其优点是DNA 计算中的Boole逻辑的DNA 分子中, 输入串与运算串是分离的
9、, 该加法通过对几例实验操作成功显示了具有复杂度为30个逻辑门的数字分子计算的可行性. Fujiwara7等人对DNA链进行了逻辑操作和算术操作, 给出了可设定地址的操作程序;同时, 基于DNA计算的二进制数乘法和除法可以通过相应的生物操作程序来实现运算8. 在实验室中进行分子水平计算机装置的自动操作的实验比较少, 可见文献9-11. DNA计算机的研究具有突破性进展是2001年以色列Benenson研究小组12提出了一种可程序实现的、自治的基于生物分子的有限状态自动机模型, 它的所有部件, 包括硬件、软件、输出都是生物分子. 酶包括限制性内切酶和连接酶是分子自动机的硬件, 输入分子和转移分子
10、是分子自动机的软件, 通过选择合适的状态转移分子来最终产生以DNA分子的形式代表终止状态的输出分子. 在此基础上, 如何提高分子自动机的计算能力也引起了广泛的研究13-14. 其后, Cavaliere等人15提出了基于DNA分子的带有一个栈和两个栈的下推自动机模型, 并利用环形和线性的DNA分子和类限制性酶给出了DNA下推自动机执行操作的过程. Reif等人16提出了自治的基于DNA分子自动机的理论设计方案, 并将其拓展到了二维结构的设计. 李汪根等人17给出了DNA自动机二进制加法的实现方法, 在上述基础上, 本文提出了基于DNA下推自动机二进制数减法和乘法的实现方法, 与此相关的DNA计
11、算的原理可参见文献18.基于DNA下推自动机的运算模型, 其二进制减法和乘法操作的运算方式类似于电子计算机中的运算系统. 在设计好转移函数分子的基础上, 比较容易完成运算, 相对于DNA计算中的运算模型而言, 该模型操作数的编码相对较简单. 一位二进制减法, 只需对0 和 1进行编码, 就可以完成相应的操作. 多位二进制减法是在一位二进制减法的基础上进行循环操作完成的. 两位二进制乘法包含移位操作和加法操作, 通过分别设计好相应的转移函数分子, 在不同的试管中完成移位操作和加法操作, 加法操作的结果即为该两个两位二进制数乘法的结果. 在此基础上, m位二进制乘法可通过移位操作的并行性和加法操作
12、的串行性来完成运算.2 DNA下推自动机自动机是实现信息与信息之间转移的一种装置, 是数字计算机的抽象模型, 是一种描述和执行运算的工具. 下面介绍下推自动机的概念, 基于DNA分子的下推自动机的特性以及文中所涉及的生物操作.2.1 下推自动机一个下推自动机M是如下的一个七元组(Q, , , , q0, Z0, F), 其中, Q 是一个有穷状态集合, 是一个字母表, 称为输入字母表; 是一个字母表, 称为栈字母表;q0属于Q, 是初始状态;Z0属于, 是一个特殊的符号, 称为栈起始符号;F 包含于Q是终结状态集合;: Q() Q*是M的动作函数. 一个自动机包含一个有穷控制器、一条输入带和一
13、个读头. 根据自动机的当前状态以及读头的位置, 按照一定的转移规则, 自动机会自动完成一次操作, 进入下一个状态以及移动读头.下推自动机就是在典型的自动机的基础上带有栈的存储操作, 它由有限状态控制器、输入符号串和栈三部分组成. 在执行操作时, 下推自动机从初始状态出发, 在有限状态控制器的控制下, 根据它的当前状态、输入符号串和栈顶符号通过转移函数进入下一个状态, 同时修改栈顶元素, 以及决定读头是否移动. 当输入符号串处理结束时, 下推自动机处于可接受状态集F的某一个状态, 且栈的内容为空, 则表示自动机接受该符号串; 否则自动机不接受该符号串.在有穷状态的DNA自动机中, 酶是分子自动机
14、的硬件, 输入分子和转移分子是分子自动机的软件, 同时还编码了检测分子. 设计一个DNA自动机的关键在于选择合适的软件分子. 当输入分子, 转移分子以及所需的酶混合后, DNA自动机将会通过一系列的杂交、链接、提取、酶切等生物操作来处理输入分子, 最终确定是否产生编码DNA自动机终结状态的检测性输出分子, 从而判断该DNA自动机是否接受某个输入字符串.基于DNA的下推自动机则是在此基础上, 增加的栈元素也用DNA分子表示, 通过对输入分子实施一系列的操作, 以DNA分子的形式产生代表 DNA下推自动机最终状态的输出分子, 同时通过对表示栈的DNA片断实施一系列的酶切, 绑接和连接等生物操作实现
15、入栈或出栈操作, 以修改栈顶元素.2.2 DNA自动机的相关生物操作下面我们介绍文中所需要的一些生物操作, 这些生物操作包含了对DNA链进行处理的一系列生化反应, 参见7, 8.(1)混合. 给定各含有一定数量DNA链的两试管溶液倒入同一试管中得到混合溶液.(2)复制. 通过聚合酶链反应PCR将DNA串复制.(3)检测. 若给定的试管中包含指定的DNA片断, 则输出为“是”, 否则输出为“否”.(4)分离. 将若干条单链的集合从给定含有一定数量DNA链的试管中提取出来.(5)切割. 利用限制酶在某一特定的位置切断DNA双链, 在切割位点处被切割成两个DNA片断.(6)退火. 将含有单链的溶液冷
16、却, 互补的单链DNA序列重新组合起来, 形成双链DNA.(7)合成. 在一定长度范围内, 合成可以将A、T、C、G 4个碱基按照预定的顺序排列在DNA单链上. (8)抽提. 通过亲和力, 将以包含给定序列的DNA片断作为子串的DNA链提取出来. (9)连接. 由互补序列经退火形成DNA双链. (10)杂交. 具有互补粘性末端的两个DNA片断经退火后, 互补末端会绑接在一起形成双链结构.3 基于DNA下推自动机二进制减法在本节中, 首先介绍了基于DNA计算一位二进制减法的运算法则, 通过构造基于DNA下推自动机模型, 完成基于该模型一位二进制借位减法的操作.然后在此基础上, 给出了实现两个m位
17、二进制减法的操作过程.3.1 基于DNA下推自动机一位二进制减法在这里我们只考虑被减数比减数大的情形. 表1是基于DNA计算的一位二进制减法的运算法则, 通过构造基于DNA下推自动机来实现这个运算过程, 同时给出该下推自动机的各个组成部件的DNA分子编码方式.表1 一位二进制借位减法的运算法则表被减数减数前位的借位差产生的借位0000000111010110110110010101001100011111初始状态集合为0, 1, 分别用S0, S1代表在初始状态时, 对应被减数分别为0, 1的情况. 终止状态的集合为0, 1, 分别用S0 , S1代表对应减法的运算结果, 即差为0, 1的情况
18、. 输入符号的集合为0, 1, 代表减数分别是0, 1的情况. 栈顶符号的集合为0, 1, 分别代表产生的借位为0, 1的情况. 用表示当前状态是Q, 栈顶符号是Z, 当前输入符号是a, 在控制器的控制下, 自动机的状态转变为T, 栈顶符号变为A. 所设计的DNA下推自动机的所有可能状态转移函数的集合是: 下面来描述基于DNA下推自动机的各个组成部分DNA分子的编码方式以及相应的生物操作过程. 图1为一位二进制减法的试管体系.所构造的自动机的输入符号串, 为代表被减数及减数所组成的DNA片断, 以及栈元素中代表低位减法中产生借位的DNA片断. 将以上预先合成的DNA片断按照自动机的规则合成在一
19、起. 其中, 栈的元素在合成片断的左边, 右边是输入符号串, 中间是FokI酶的识别位点, 通过其来实现对栈和输入符号串进行生物操作. 在合成的DNA片断的右端包含一个4bp的粘性末端, 用于连接从低位减法操作中产生的借位片断. 同时预先设计好转移函数分子, 它的粘性末端刚好与FokI酶切后的片断的末端互补. 在自动机运行结束后, 加入检测分子, 同时利用内切酶BsmFI酶来进行酶切操作, 以检测出代表差的片断以及借位的片断, 加入SmiI酶进行分离操作, 即可得到代表差的DNA片断和代表借位的DNA片断. 相应的操作步骤如下:步骤: 先预先合成好被减数和减数的DNA片断, 以及栈顶元素为0的
20、片断和代表借位的DNA片断, 中间是FokI酶的识别位点, 在试管Ta中对这几个片断进行连接操作, 同时加入预先设计好的代表转移函数分子的DNA片断以及T4连接酶.步骤二: 在试管Ta中进行自动机的操作. 首先,合成好了的DNA片断经FokI酶进行了酶切操作, 将合适的转移函数片断与酶切下的片断进行杂交.然后将杂交后的片断通过T4连接酶连接起来, 在FokI酶的作用下, 继续进行酶切操作, 直到没有合适的转移函数片断与酶切下的片断杂交.步骤三: 加入检测分子, 检测分子与最后酶切下的片断经连接后形成报告分子.步骤四: 报告分子经BsmFI酶酶切后, 可以得到代表差的片断和代表借位的片断. 同时
21、加入SmiI酶, 将酶切后的片断进行分离, 就可以得到代表差的DNA片断和代表借位的DNA片断, 并分别放在另外两个试管Tb, Tc中. 图1所示为两个一位二进制减法的试管体系. 图1 一位二进制减法的试管体系3.2 基于DNA下推自动机的m位二进制减法m位二进制的减法, 则是在一位二进制数减法的基础上, 进行循环操作得到的. 这里也只考虑被减数比减数大的情形. 利用m个类似的试管按照从低位到高位的顺序组成串行计算方式, 得到低位试管运算结果的同时, 分离出代表差的DNA片断和代表借位的DNA片断, 然后将低位减法操作产生的代表借位的DNA片断作为高位下推自动机的一个输入符号串, 即能完成高位
22、的减法操作.如下图所示为基于DNA下推自动机m位二进制减法的操作图, 将被减数与减数对应位相减, 并作为一个下推自动机的模型在一个试管中完成运算. 从图2可看到, 将每个自动机运算的结果片断分别用检测分子检测出来, 从而可以读出片断对应的二进制数. 其中, B0, B1, , Bn-2分别表示低位向高位的借位, 最后一位没有借位. D0, D1, , Dm-1分别表示从低位向高位每次自动机运行后分离出差的结果. 图2 两个m位二进制减法的试管体系4 基于DNA下推自动机的二进制乘法基于DNA计算二进制乘法, 主要是进行移位操作和加法操作. 下面按照这两个操作来进行设计DNA下推自动机模型. 首
23、先介绍基于DNA下推自动机两个两位二进制乘法, 然后在两个两位二进制乘法基础上, 介绍两个m位二进制乘法. 将移位操作的并行计算和加法操作的串行计算相结合, 经过循环操作, 即可得相应乘法的结果.4.1 基于DNA下推自动机两位二进制乘法在两个两位二进制乘法中, 对应的移位操作和加法操作均分步骤分别在不同的试管中进行.(1)移位操作初始状态的集合设为Q, 令Q=00, 01, 10, 11, 终止状态的集合设为F, 令F=00, 01, 10, 11, 输入符号的集合为0, 1. 栈符号集合10, 11, 01, 12, 同时把栈中的两个字符当作一个整体来看, 栈中字符是来记录移位运算中输入符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DNA 下推自动机 二进制 减法 乘法 实现
链接地址:https://www.31ppt.com/p-2533782.html