Natural Computing

, Volume 13, Issue 4, pp 517–534 | Cite as

Deterministic function computation with chemical reaction networks

  • Ho-Lin Chen
  • David Doty
  • David Soloveichik


Chemical reaction networks (CRNs) formally model chemistry in a well-mixed solution. CRNs are widely used to describe information processing occurring in natural cellular regulatory networks, and with upcoming advances in synthetic biology, CRNs are a promising language for the design of artificial molecular control circuitry. Nonetheless, despite the widespread use of CRNs in the natural sciences, the range of computational behaviors exhibited by CRNs is not well understood. CRNs have been shown to be efficiently Turing-universal (i.e., able to simulate arbitrary algorithms) when allowing for a small probability of error. CRNs that are guaranteed to converge on a correct answer, on the other hand, have been shown to decide only the semilinear predicates (a multi-dimensional generalization of “eventually periodic” sets). We introduce the notion of function, rather than predicate, computation by representing the output of a function \({f:{\mathbb{N}}^k\to{\mathbb{N}}^l}\) by a count of some molecular species, i.e., if the CRN starts with \(x_1,\ldots,x_k\) molecules of some “input” species \(X_1,\ldots,X_k, \) the CRN is guaranteed to converge to having \(f(x_1,\ldots,x_k)\) molecules of the “output” species \(Y_1,\ldots,Y_l\). We show that a function \({f:{\mathbb{N}}^k \to {\mathbb{N}}^l}\) is deterministically computed by a CRN if and only if its graph \({\{({\bf x, y}) \in {\mathbb{N}}^k \times {\mathbb{N}}^l | f({\bf x}) = {\bf y}\}}\) is a semilinear set. Finally, we show that each semilinear function f (a function whose graph is a semilinear set) can be computed by a CRN on input x in expected time \(O(\hbox{polylog} \|{\bf x}\|_1)\).


Molecular programming Stochastic chemical kinetics Distributed computing Population protocols Semilinear functions 



We thank Damien Woods and Niranjan Srinivas for many useful discussions, Monir Hajiaghayi for pointing out a problem in an earlier version of this paper, and anonymous reviewers for helpful suggestions. The first author was supported by the Molecular Programming Project under NSF Grant 0832824 and NSC grant 101-2221-E-002-122-MY3, the second and third authors were supported by a Computing Innovation Fellowship under NSF Grant 1019343. The second author was supported by NSF Grants CCF-1219274 and CCF-1162589. The third author was supported by NIGMS Systems Biology Center Grant P50 GM081879.


  1. Angluin D, Aspnes J, Diamadi Z, Fischer M, Peralta R (2006a) Computation in networks of passively mobile finite-state sensors. Distrib Comput 18:235–253. Preliminary version appeared in PODC 2004Google Scholar
  2. Angluin D, Aspnes J, Eisenstat D (2006b) Stably computable predicates are semilinear. In: PODC 2006: proceedings of the twenty-fifth annual ACM symposium on principles of distributed computing. ACM Press, New York, pp 292–299Google Scholar
  3. Angluin D, Aspnes J, Eisenstat D (2008) Fast computation by population protocols with a leader. Distrib Comput 21(3):183–199. Preliminary version appeared in DISC 2006Google Scholar
  4. Aspnes J, Ruppert E (2007) An introduction to population protocols. Bull Eur Assoc Theor Comput Sci 93:98–117zbMATHMathSciNetGoogle Scholar
  5. Barkai N, Leibler S (1997) Robustness in simple biochemical networks. Nature 387(6636):913–917CrossRefGoogle Scholar
  6. Cardelli L (2011) Strand algebras for DNA computing. Nat Comput 10(1):407–428CrossRefzbMATHMathSciNetGoogle Scholar
  7. Cardelli L, Csikász-Nagy A (2012) The cell cycle switch computes approximate majority. Sci Rep 2:656CrossRefGoogle Scholar
  8. Chen H-L, Doty D, Soloveichik D (2012) Deterministic function computation with chemical reaction networks. In: DNA 18: proceedings of the 18th international meeting on DNA computing and molecular programming. Lecture notes in computer science, vol 7433. Springer, Heidelberg, pp 25–42Google Scholar
  9. Condon A, Hu A, Maňuch J, Thachuk C (2012a) Less haste, less waste: on recycling and its limits in strand displacement systems. J R Soc Interface 2:512–521. Preliminary version appeared in DNA 17Google Scholar
  10. Condon A, Kirkpatrick B, Maňuch J (2012b) Reachability bounds for chemical reaction networks and strand displacement systems. In: DNA 18: 18th international meeting on DNA computing and molecular programming, vol 7433. Springer, Heidelberg, pp 43–57Google Scholar
  11. Cook M, Soloveichik D, Winfree E, Bruck J (2009) Programmability of chemical reaction networks. In: Condon A, Harel D, Kok JN, Salomaa A, Winfree E (eds) Algorithmic bioprocesses. Springer, Berlin Heidelberg, pp 543–584CrossRefGoogle Scholar
  12. Doty D, Hajiaghayi M (2013) Leaderless deterministic chemical reaction networks. In: DNA 2013: proceedings of the 19th international meeting on DNA computing and molecular programming, TempeGoogle Scholar
  13. Gillespie DT (1977) Exact stochastic simulation of coupled chemical reactions. J Phys Chem 81(25):2340–2361CrossRefGoogle Scholar
  14. Hjelmfelt A, Weinberger ED, Ross J (1981) Chemical implementation of neural networks and Turing machines. Proc Natl Acad Sci 88(24):10983–10987CrossRefGoogle Scholar
  15. Jiang H, Riedel M, Parhi K (2012) Digital signal processing with molecular reactions. IEEE Des Test Comput 29(3):21–31CrossRefGoogle Scholar
  16. Karp RM, Miller RE (1969) Parallel program schemata. J Comput Syst Sci 3(2):147–195CrossRefzbMATHMathSciNetGoogle Scholar
  17. Kurtz TG (1972) The relationship between stochastic and deterministic models for chemical reactions. J Chem Phys 57(7):2976–2978CrossRefGoogle Scholar
  18. Lipton R (1976) The reachability problem requires exponential space. Research Report 62. Department of Computer Science, Yale UniversityGoogle Scholar
  19. Magnasco MO (1997) Chemical kinetics is Turing universal. Phys Rev Lett 78(6):1190–1193CrossRefGoogle Scholar
  20. Nisan N, Wigderson A (1994) Hardness vs randomness. J Comput Syst Sci 49(2):149–167CrossRefzbMATHMathSciNetGoogle Scholar
  21. Petri CA (1966) Communication with automata. Technical Report, DTIC DocumentGoogle Scholar
  22. Presburger M (1930) U\(\ddot{\rm b}\)er die vollständigkeit eines gewissen systems der arithmetik ganzer zahlen. In: welchem die Addition als einzige Operation hervortritt. Compte Rendus du I. Congrks des Mathematiciens des pays Slavs, Warsaw, pp 92–101Google Scholar
  23. Samoilov MS, Arkin AP (2006) Deviant effects in molecular reaction pathways. Nat Biotechnol 24(10):1235–1240CrossRefGoogle Scholar
  24. Soloveichik D (2009) Robust stochastic chemical reaction networks and bounded tau-leaping. J Comput Biol 16(3):501–522CrossRefMathSciNetGoogle Scholar
  25. Soloveichik D, Cook M, Winfree E, Bruck J (2008) Computation with finite stochastic chemical reaction networks. Nat Comput 7(4):615–633CrossRefzbMATHMathSciNetGoogle Scholar
  26. Soloveichik D, Seelig G, Winfree E (2010) DNA as a universal substrate for chemical kinetics. Proc Natl Acad Sci 107(12):5393CrossRefGoogle Scholar
  27. Thachuk C, Condon A (2012) Space and energy efficient computation with DNA strand displacement systems. In: DNA 18: proceedings of the 18th international meeting on DNA computing and molecular programming, Aarhus, pp 135–149Google Scholar
  28. Zavattaro G, Cardelli L (2008) Termination problems in chemical kinetics. In: CONCUR 2008-concurrency theory, Toronto, pp 477–491Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2013

Authors and Affiliations

  1. 1.National Taiwan UniversityTaipeiTaiwan
  2. 2.California Institute of TechnologyPasadenaUSA
  3. 3.University of California, San FranciscoSan FranciscoUSA

Personalised recommendations