Abstract
The sticker model of computation, implemented using robotic processing of DNA, manipulates in parallel many bitstrings, called strands, that are contained in a limited number of tubes. Prior sticker arithmetic algorithms, patterned on digital-electronics, generate carry bits in the strand, either wasting bits or using a clear operation (with problematic biochemical implementation). The novel addition algorithm here does not need to record the carry. Instead, which tube holds a particular strand implicitly encodes the carry. The speed and number of tubes are half that of prior approaches. Further encoding data in the Logarithmic Number System (LNS) allows such integer operations to perform cost-effective real multiplications, divisions and roots. An example LNS Euclidian norm is more efficient than prior methods, assuming perfect operations. Unfortunately, DNA-stickers are unreliable. This paper uses sticker unreliability as a source of randomness to implement Monte-Carlo (MC) arithmetic (previously fabricated in silicon at the cost of pseudo-random generators). With stickers, the randomness is free. MC engineering mimics natural systems using unreliable but redundant components. Here, MC randomness is only useful in low-order bits. Multiple re-testing of the same bit (“refinement”) trades improved reliability for slower operation using more tubes. Simulations (with different sizes, probabilities and refinement) show that increasing refinement as a function of bit position allows imperfect implementations to achieve suitable MC strand-error distributions, predicting 1000x speed-mass advantage of sticker-MCLNS over conventional supercomputers.
Similar content being viewed by others
References
Adleman LM (1994) Molecular computation of solutions to combinatorial problems. Science 266:1021–1024
Arnold MG (2004) LPVIP: a low-power, ROM-less ALU for low-precision LNS. In: Marci E, Paliouras V, Koufopavlou O (eds) 14th Power, timing modeling, optimization and simulation PATMOS 2004. LNCS. Springer, Heidelberg, vol 3254, pp 675–684
Arnold MG (2012) JavaScript and CUDA DNA sticker simulators
Arnold MG, Vouzis P (2007) A serial Logarithmic Number System ALU. In: Kubatova H (ed) 2007 EuroMicro DSD. IEEE Press, New York, pp 151–154
Arnold MG (2011) An improved DNA-sticker addition algorithm and its application to logarithmic arithmetic. In: Cardelli L, Shih W (eds) DNA computing and molecular programming 17. Pasadena, LNCS, vol 6937, pp 34–48
Barua R (2002) Binary arithmetic for DNA computer. DNA Comp 8:124–132
Carroll S (2002) A complete programming environment for DNA computation. In: Workshop non-silicon comp, NSC-1, pp 46–53
Chang WL, Guo M et al (2005) Fast parallel molecular algorithms for DNA-based computation: factoring integers. IEEE Trans Nanobiosci 4:149–163
Chakrabarthy K et al (2010) Design tools for digital microfluidic biochips. IEEE Trans Comp Aid Des 29:1001–1017
Chen K, Winfree E (2000) Error correction in DNA computing: misclassification and strand loss. In: DNA-based computing, vol 5, pp 49–63
Cho JH et al (2010) Reconfigurable multi-component sensors built from MEMS payloads carried by micro-robots. In: Sensor application symposium, pp 15–19
de Santis F et al (2004) A DNA arithmetic logic unit. WSEAS Trans Biomed 1:436–440
Guarnieri F, Fliss M, Bancroft C (1996) Making DNA add. Science 273:220–223
Guarnieri F, Bancroft C (1999) Use of a horizontal chain reaction for DNA-based addition. DIMACS 44:105–111
Guo P, Zhang H (2009) DNA implementation of arithmetic operations. In: 2009 International conference on natural computation, pp 153–159
Ignatova Z, Martinez-Perez I, Zimmermann K (2008) DNA computing models. Springer, New York (section 5.3)
Karp RM et al (1996) Error-resilient DNA computation. DIMACS 7:458–467
Kogge P (2011) Next-generation supercomputers. IEEE Spectr 48(2):48–54
LaBean TH, Winfree E, Reif JH (1999) Experimental progress in computation by self-assembly of DNA tilings. In: DNA based computers, pp 123–140
Makino J, Taiji M (1998) Scientific simulations with special-purpose computers—the GRAPE systems. Wiley, Chichester
Martinez-Perez I et al (2010) Bioinspired parallel algorithms for maximum clique problems on FPGA architectures. J Signal Process Syst 58:117–124
Mitchell JN (1962) Computer multiplication and division using binary logarithms. IEEE Trans Electron Comput EC-11:512–517
Parker S, Pierce B, Eggert PR (2000) Monte Carlo arithmetic: how to gamble with floating point and win. Comput Sci Eng 2(4):58—68
Qian L, Winfree E (2011) A simple DNA gate motif for synthesizing large-scale circuits. J R Soc Interface. doi:10.1098/rsif.2010.0729
Roweis S et al (1996) A sticker-based model for DNA computation. J Comput Biol 5:615–629
Roweis S, Winfree E (1999) On reduction of errors in DNA computation. J Comput Biol 6:65–75
Swartzlander EE, Alexopoulos AG (1975) The sign/logarithm number system. IEEE Trans Comput C-24:1238–1242
Winfree E, private communication
Vouzis P et al (2007) Monte Carlo Logarithmic Number System for model predictive control. In: Field programmable logic and applications. Amsterdam, pp 453–458
Xu J, Dong Y, Wei X (2004) Sticker DNA computer model—part I: theory. Chin Sci Bull 49:772–780
JavaScript, CUDA (2012) DNA sticker simulators. http://www.xlnsresearch.com/sticker.htm
Yang XQ, Liu, Z (2007) DNA algorithm of parallel multiplication based on sticker model. Comput Eng Appl 43(16):87–89
Yurke B et al (1999) DNA implementation of addition in which the input strands are separate from the operator strands. Biosystems 52:165–174
Acknowledgments
The author thanks T. Bailey, M. Winkel and I. Martinez-Perez.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Arnold, M.G. Improved DNA-sticker arithmetic: tube-encoded-carry, Logarithmic Number System and Monte-Carlo methods. Nat Comput 12, 235–246 (2013). https://doi.org/10.1007/s11047-012-9356-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11047-012-9356-3