论文部分内容阅读
伴随分子生物学的兴起而出现的DNA计算机以其海量存储、高度并行运算能力等优点,在解决传统计算机难以胜任的NP完全问题甚至数学的难解问题上显示出巨大的潜力,成为解决这些问题的新途径之一。理论分析,DNA计算机可将在多项式时间内成功地求得解。然而,现有的DNA计算机算法纯属完全穷举遍历解的方法,以指数级爆增的计算空间代价换取多项式级递增的计算时间。当问题规模增大到一定程度时,DNA分子链数即DNA计算机算法的计算空间,其质量将远远超过整个宇宙的质量,在现有的生物技术下,试管级的DNA计算机生物操作已成不可能。因此,如何有效地降低DNA计算机中的DNA分子链数是DNA计算机算法要面临的最大难题。因此考虑将传统计算机中的思想,融合到DNA计算机算法中,是降低DNA链数的重要途径之一。本文通过对因子分解问题的研究,分析以往解决此问题的方法,在DNA计算机中研究得较为成熟的加法器、乘法器、减法器和除法器的基础上,结合传统计算机中Pollard p—1因子分解的思想,设计了计算形如χc mod n的模指数的DNA子算法——平方—乘DNA子算法,实现了求取两数之间最大公因子的欧几里得DNA子算法,综合应用得到Pollard p-1因子分解DNA计算机算法。理论分析表明;算法在不增加时间的前提下,针对被分解的大整数刀有较小因子的情况,使得原来DNA分子链数从O(2q)下降到O(B),其中q满足;q=(?)log2 n1/2(?)+1,B为预先指定的边界参数,且B<<2q。本文首先介绍了DNA计算机的国内外发展现状、DNA计算机的机理、DNA计算机的生物学基础;比较了几种常见的DNA计算模型;然后是因子分解问题的综述;重点给出新的因子分解DNA算法、性能分析和仿真实验结果;最后提出在算法中的编码问题。