Results 1  10
of
25
Deterministic Function Computation with Chemical Reaction Networks ∗
"... We study the deterministic computation of functions on tuples of natural numbers by chemical reaction networks (CRNs). CRNs have been shown to be efficiently Turinguniversal when allowing for a small probability of error. CRNs that are guaranteed to converge on a correct answer, on the other hand, ..."
Abstract

Cited by 21 (13 self)
 Add to MetaCart
(Show Context)
We study the deterministic computation of functions on tuples of natural numbers by chemical reaction networks (CRNs). CRNs have been shown to be efficiently Turinguniversal 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. We introduce the notion of function, rather than predicate, computation by representing the output of a function f: N k → N l by a count of some molecular species, i.e., if the CRN starts with n1,..., nk molecules of some “input ” species X1,..., Xk, the CRN is guaranteed to converge to having f(n1,..., nk) molecules of the “output ” species Y1,..., Yl. We show that a function f: N k → N l is deterministically computed by a CRN if and only if its graph {(x, y) ∈ N k × N l  f(x) = y} is a semilinear set. Finally, we show that each semilinear function f can be computed on input x in expected time O(polylog ‖x‖1). 1
Timing in chemical reaction networks
 In SODA 2014: Proceedings of the 25th Annual ACMSIAM Symposium on Discrete Algorithms
, 2014
"... Chemical reaction networks (CRNs) formally model chemistry in a wellmixed 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 programming language for the design of ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
Chemical reaction networks (CRNs) formally model chemistry in a wellmixed 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 programming language for the design of artificial molecular control circuitry. Due to a formal equivalence between CRNs and a model of distributed computing known as population protocols, results transfer readily between the two models. We show that if a CRN respects finite density (at most O(n) additional molecules can be produced from n initial molecules), then starting from any dense initial configuration (all molecular species initially present have initial count Ω(n), where n is the initial molecular count and volume), every producible species is produced in constant time with high probability. This implies that no CRN obeying the stated constraints can function as a timer, able to produce a molecule, but doing so only after a time that is an unbounded function of the input size. This has consequences regarding an open question of Angluin, Aspnes, and Eisenstat concerning the ability of population protocols to perform fast, reliable leader election and to simulate arbitrary algorithms from a uniform initial state.
1 WRITING AND COMPILING CODE INTO BIOCHEMISTRY ∗
"... This paper presents a methodology for translating iterative arithmetic computation, specified as highlevel programming constructs, into biochemical reactions. From an input/output specification, we generate biochemical reactions that produce output quantities of proteins as a function of input quan ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
This paper presents a methodology for translating iterative arithmetic computation, specified as highlevel programming constructs, into biochemical reactions. From an input/output specification, we generate biochemical reactions that produce output quantities of proteins as a function of input quantities performing operations such as addition, subtraction, and scalar multiplication. Iterative constructs such as “while ” loops and “for ” loops are implemented by transferring quantities between protein types, based on a clocking mechanism. Synthesis first is performed at a conceptual level, in terms of abstract biochemical reactions – a task analogous to highlevel program compilation. Then the results are mapped onto specific biochemical reactions selected from libraries – a task analogous to machine language compilation. We demonstrate our approach through the compilation of a variety of standard iterative functions: multiplication, exponentiation, discrete logarithms, raising to a power, and linear transforms on time series. The designs are validated through transient stochastic simulation of the chemical kinetics. We are exploring DNAbased computation via strand displacement as a possible experimental chassis. 1.
Compiling and Verifying DNABased Chemical Reaction Network Implementations
, 2011
"... I am deeply indebted to my advisor Erik Winfree. It is only through his patience and guidance that this thesis could be finished. He always opened new doors for me when I would spend days stuck at a dead end. The insights that he offered me at such times, I believe, is what distinguishes a true scie ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
I am deeply indebted to my advisor Erik Winfree. It is only through his patience and guidance that this thesis could be finished. He always opened new doors for me when I would spend days stuck at a dead end. The insights that he offered me at such times, I believe, is what distinguishes a true scientist from a mere problem solver. Recognizing the difference was an indispensable lesson, for it has led me to strive to become both a good problem solver and scientist myself. Erik also played a large part in my decision to pursue an academic career. I would also like to thank David Soloveichik not only for his achievements in CRN implementations, which served as a major motivation for my research project, but also for all the invaluable discussions. I thank Brian Wolfe for the development of the reaction enumerator, without which my verifier could not exist. I also express my appreciation to Joseph Schaeffer, Damien Woods, and David Doty for affording me with priceless comments and discussions, and to all Winfree lab members for providing an ideal learning environment. I wish to extend my thanks to NSF, Caltech’s SURF program, and the Caltech Computer Science department, whose generous support made my research possible. As always, I am grateful for my mother, my father, and my sister for being my greatest support system.
The Computational Complexity of Uniformity and Semiuniformity in Membrane Systems
"... Summary. We investigate computing models that are presented as families of finite computing devices with a uniformity condition on the entire family. Examples include circuits, membrane systems, DNA computers, cellular automata, tile assembly systems, and so on. However, in this list there are actua ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Summary. We investigate computing models that are presented as families of finite computing devices with a uniformity condition on the entire family. Examples include circuits, membrane systems, DNA computers, cellular automata, tile assembly systems, and so on. However, in this list there are actually two distinct kinds of uniformity conditions. The first is the most common and wellunderstood, where each input length is mapped to a single computing device that computes on the finite set of inputs of that length. The second, called semiuniformity, is where each input is mapped to a computing device for that input. The former notion is wellknown and used in circuit complexity, while the latter notion is frequently found in literature on natureinspired computing models, from the past 20 years or so. Are these two notions distinct or not? For many models it has been found that these notion are in fact the same, in the sense that the choice of uniformity or semiuniformity leads to characterisations of the same complexity classes. Here, we buck this trend and show that these notions are actually distinct: we give classes of uniform membrane systems that are strictly weaker than their semiuniform counterparts. This solves a known open problem in the theory of membrane systems. 1
Modular verification of DNA strand displacement networks via serializability analysis
"... Abstract. DNA strand displacement gates can be used to emulate arbitrary chemical reactions, and a number of different schemes have been proposed to achieve this. Here we developmodular correctness proofs for strand displacement encodings of chemical reaction networks and show how they may be appli ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Abstract. DNA strand displacement gates can be used to emulate arbitrary chemical reactions, and a number of different schemes have been proposed to achieve this. Here we developmodular correctness proofs for strand displacement encodings of chemical reaction networks and show how they may be applied to twodomain strand displacement systems. Our notion of correctness is serializability of interleaved reaction encodings, andwe infer this global property from the properties of the gates that encode the individual chemical reactions. This allows correctness to be inferred for arbitrary systems constructed using these components, and we illustrate this by applying our results to a twodomain implementation of a wellknown approximate majority voting system. 1
Probabilistic Model Checking for Biology
"... Probabilistic model checking is an automated method for verifying the correctness and performance of probabilistic models. Property specifications are expressed in probabilistic temporal logic, denoting, for example, the probability of a given event, the probability of its occurrence within a given ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Probabilistic model checking is an automated method for verifying the correctness and performance of probabilistic models. Property specifications are expressed in probabilistic temporal logic, denoting, for example, the probability of a given event, the probability of its occurrence within a given time interval, or expected number of times it has occurred in a time period. This chapter focuses on the application of probabilistic model checking to biological systems modelled as continuoustime Markov chains, illustrating the usefulness of these techniques through relevant case studies performed with the probabilistic model checker PRISM. We begin with an introduction to discretetime Markov chains and the corresponding model checking algorithms. Then continuoustime Markov chain models are defined, together with the logic CSL (Continuous Stochastic Logic), and an overview of model checking for CSL is given, which proceeds mainly by reduction to discretetime Markov chains. The techniques are illustrated with examples of biochemical reaction networks, which are verified against quantitative temporal properties. Next a biological case study analysing the Fibroblast Growth Factor (FGF) molecular signalling pathway is summarised, highlighting how probabilistic model checking can assist in scientific discovery. Finally, we consider DNA computation, and specifically the DSD formalism (DNA Strand Displacement), and show how errors can be detected in DNA gate designs, analogous to model checking for digital circuits.
Determining Majority in Networks with Local Interactions and very Small Local Memory∗
"... Abstract. We study here the problem of determining the majority type in an arbitrary connected network, each vertex of which has initially two possible types (states). The vertices may have a few additional possible states and can interact in pairs only if they share an edge. Any (population) proto ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We study here the problem of determining the majority type in an arbitrary connected network, each vertex of which has initially two possible types (states). The vertices may have a few additional possible states and can interact in pairs only if they share an edge. Any (population) protocol is required to stabilize in the initial majority, i.e. its output function must interpret the local state of each vertex so that each vertex outputs the initial majority type. We first provide a protocol with 4 states per vertex that always computes the initial majority value, under any fair scheduler. Under the uniform probabilistic scheduler of pairwise interactions, we prove that our protocol stabilizes in expected polynomial time for any network and is quite fast on the clique. As we prove, this protocol is optimal, in the sense that there does not exist any population protocol that always computes majority with fewer than 4 states per vertex. However this does not rule out the existence of a protocol with 3 states per vertex that is correct with high probability (whp). To
Uniformity conditions in natural computing
"... Abstract. We investigate computing models that are presented as families of finite computing devices with a uniformity condition on the entire family. Examples include circuits, membrane systems, DNA computers, cellular automata, tile assembly systems, and so on. However, in this list there are actu ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We investigate computing models that are presented as families of finite computing devices with a uniformity condition on the entire family. Examples include circuits, membrane systems, DNA computers, cellular automata, tile assembly systems, and so on. However, in this list there are actually two distinct kinds of uniformity condition. The first is the most common and wellunderstood, where each input length is mapped to a single computing device that computes on the finite set of inputs of that length. The second, called semiuniformity, is where each input is mapped to a computing device for that input. The former notion is wellknown and used in circuit complexity, while the latter notion is frequently found in literature on natureinspired computation from the past 20 years or so. Are these two notions distinct or not? For many models it has been found that these notions are in fact the same, in the sense that the choice of uniformity or semiuniformity leads to characterisations of the same complexity classes. Here, we buck this trend and show that these notions are actually distinct: we give classes of uniform membrane systems that are strictly weaker than their semiuniform counterparts. This solves a known open problem in the theory of membrane systems. 1
Output stability and semilinear sets in chemical reaction networks and deciders
 In DNA 2014: Proceedings of The 20th International Meeting on DNA Computing and Molecular Programming, Lecture Notes in Computer Science
, 2014
"... Abstract. We study the set of output stable configurations of chemical reaction deciders (CRDs). It turns out that CRDs with only bimolecular reactions (which are almost equivalent to population protocols) have a special structure that allows for an algorithm to efficiently calculate the (finite) se ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We study the set of output stable configurations of chemical reaction deciders (CRDs). It turns out that CRDs with only bimolecular reactions (which are almost equivalent to population protocols) have a special structure that allows for an algorithm to efficiently calculate the (finite) set of minimal output stable configurations. As a consequence, a relatively large sequence of configurations may be efficiently checked for output stability. We also provide a number of observations regarding the semilinearity result of Angluin et al. [Distrib. Comput., 2007] from the context of population protocols (which is a central result for output stable CRDs). In particular, we observe that the computationfriendly class of totally stable CRDs has equal expressive power as the larger class of output stable CRDs. 1