Results 1 
8 of
8
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
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
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 3 (3 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.
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 3 (0 self)
 Add to MetaCart
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
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 2 (0 self)
 Add to MetaCart
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.
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
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
Pacific Symposium on Biocomputing 15:456464(2010) 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
 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.
The Synthesis and Analysis of Stochastic Switching Circuits
, 2011
"... Stochastic switching circuits are relay circuits that consist of stochastic switches called pswitches. The study of stochastic switching circuits has widespread applications in many fields of computer science, neuroscience, and biochemistry. In this paper, we discuss several properties of stochastic ..."
Abstract
 Add to MetaCart
Stochastic switching circuits are relay circuits that consist of stochastic switches called pswitches. The study of stochastic switching circuits has widespread applications in many fields of computer science, neuroscience, and biochemistry. In this paper, we discuss several properties of stochastic switching circuits, including robustness, expressibility, and probability approximation. First, we study the effect caused by introducing an error of size ϵ to each pswitch in a stochastic circuit. We analyze two constructions–simple seriesparallel and general seriesparallel circuits–and prove that simple seriesparallel circuits are robust to small error perturbations, while general seriesparallel circuits are not. Specifically, the total error introduced by perturbations of size less than ϵ is bounded by a constant multiple of ϵ in a simple seriesparallel circuit, independent of the size of the circuit. Next, we study the expressibility of stochastic switching circuits: Given an integer q and a pswitch set S = { 1 2,}, can we synthesize any q q rational probability with denominator qn (for arbitrary n) with a simple seriesparallel stochastic switching circuit? We generalize previous results and prove that when q is a multiple of 2 or 3, the answer is yes. We also show that when q is a prime number larger than 3, the answer is no. Probability approximation is studied for a general case of an arbitrary q−1