高级检索

    基于分治的背包问题DNA计算机算法

    Improved Molecular Solutions for the Knapsack Problem on DNA-Based Supercomputing

    • 摘要: 如何减少DNA计算机在求解大型难解问题中以问题输入纯指数增长的DNA链数,已成为DNA计算机研究的重要内容.将分治策略应用于背包问题的DNA分子计算中,提出一种求解背包问题的新的DNA计算机算法.算法由n位并行减法器、n位数据搜索器和其他4个子算法组成.算法的DNA链数可达到亚指数的O(2\+\q/2\),其中q为背包问题的维数.与最近文献结论进行的对比分析表明:算法将求解背包问题所需的DNA链数从O(2\+q)减少至O(2\+\q/2\),最大链长度减少为原来的1/2,因此,理论上新算法在试管级水平上能将可破解的背包公钥的维数从60提高到120.

       

      Abstract: The DNA-based supercomputation has solved hard computational problems such as NP-complete problems in polynomial increasing time by using its superparallel and high-density power. However, almost all the current DNA computing strategies are based on the enumerative method, which causes the size of the initial DNA strands to increase exponentially. How to decrease the number of DNA strands increasing exponentially in these applications is very important in the research on DNA computers. For the objectivity of solution of the knapsack problem which is a famous NP-complete problem with DNA computer, the strategy of divide-and-conquer is introduced into the DNA-based supercomputing and a DNA algorithm is proposed. The proposed algorithm consists of an n-bit parallel subtracter, an n-bit parallel searcher, and other four sub-procedures. It is demonstrated that the proposed algorithms can first reduce the number of DNA library strands from O(2\+q) to O(2\+\q/2\) to solve a q-dimension knapsack instance, while keeping the operation time not obviously changed. It is shown that the traditional technology can still bear importance even in designing DNA computer algorithm. Furthermore, this work indicates that the cryptosystems using public key are perhaps insecure, because, theoretically, the 120-variable knapsack public key can be easily broken provided that the technology of DNA computers is mature.

       

    /

    返回文章
    返回