Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

TE Sessions Supported by: Basic Concepts of Programming November 3, 2012.
New Mexico Computer Science For All Designing and Running Simulations Maureen Psaila-Dombrowski.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Yi Wu (CMU) Joint work with Parikshit Gopalan (MSR SVC) Ryan O’Donnell (CMU) David Zuckerman (UT Austin) Pseudorandom Generators for Halfspaces TexPoint.
The Paradox of Chemical Reaction Networks : Robustness in the face of total uncertainty By David Angeli: Imperial College, London University of Florence,
Algorithmic and Economic Aspects of Networks Nicole Immorlica.
Phillip Senum University of Minnesota. Motivation Much effort has been spent developing techniques for analyzing existing chemical systems. Comparatively.
Computability and Complexity 19-1 Computability and Complexity Andrei Bulatov Non-Deterministic Space.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Classification of Simulation Models
An Algorithm for Polytope Decomposition and Exact Computation of Multiple Integrals.
CSE115/ENGR160 Discrete Mathematics 02/24/11 Ming-Hsuan Yang UC Merced 1.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 8 May 4, 2005
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Computability (Chapter 2) ICS 535 Design and Implementation.
Chapter 11: Limitations of Algorithmic Power
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
So far in this chapter you have looked at several types of sequences and compared linear and exponential growth patterns in situations, tables, and graphs. 
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Continuous Random Variables and Probability Distributions
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
Chapter 10 Introduction to Simulation Modeling Monte Carlo Simulation.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
© Ronaldo Menezes, Florida Tech Fundamentals of Algorithmic Problem Solving  Algorithms are not answers to problems  They are specific instructions for.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Control Structures II Repetition (Loops). Why Is Repetition Needed? How can you solve the following problem: What is the sum of all the numbers from 1.
Probability Refresher COMP5416 Advanced Network Technologies.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
CONTINUOUS RANDOM VARIABLES
4.3 More Discrete Probability Distributions NOTES Coach Bridges.
Biochemical Reactions: how types of molecules combine. Playing by the Rules + + 2a2a b c.
Discrete Optimization Lecture 6 – Part 2 M. Pawan Kumar
Discrete Optimization Lecture 4 M. Pawan Kumar
Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov.
23 February Recursion and Logarithms CSE 2011 Winter 2011.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
NP ⊆ PCP(n 3, 1) Theory of Computation. NP ⊆ PCP(n 3,1) What is that? NP ⊆ PCP(n 3,1) What is that?
2-6 Special Functions Objectives Students will be able to: 1) identify and graph step, constant, and identity functions 2) Identify and graph absolute.
Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.
Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng.
Analysis of Systems of Chemical Equations with Decision Diagrams A Decision DiagramThe Goddess Durga.
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
1 Proving Properties of Recursive Functions and Data Structures CS 270 Math Foundations of CS Jeremy Johnson.
1 Deterministic Function Computation with Chemical Reaction Networks Ho-Lin Chen 1, David Doty 2, David Soloveichik 3 1 National Taiwan University 2 Caltech.
1 Deterministic Function Computation with Chemical Reaction Networks David Doty (joint work with Ho-Lin Chen and David Soloveichik) University of British.
CSE15 Discrete Mathematics 03/06/17
CS 461 – Oct. 26 TM practice Arithmetic on a TM TM variants (handout)
Computational Complexity Theory
CONTINUOUS RANDOM VARIABLES
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
CSE 105 theory of computation
Example: Verification
23rd International Meeting on DNA and Molecular Programming
Random Variables A random variable is a rule that assigns exactly one value to each point in a sample space for an experiment. A random variable can be.
Special Functions Constant Step Absolute Value Piece Wise Identity.
CSE 105 theory of computation
Presentation transcript:

Computing with Chemical Reaction Networks Nikhil Gopalkrishnan

(1) (2) (3)

Turing-universal computation using molecular counts Fast and reliable Small number of distinct molecular species Probability of error can be made arbitrarily small (> 0) by increasing molecular counts

Minsky’s register machine (RM) Finite state machine with a fixed number of registers Each register can store a non-negative integer Inc(i,r,j) : Increment register r and move from state i to j Dec(I,r,j,k): Decrement register r if r > 0 and move from state i to j; else move to state k

Simulation of RM by stochastic CRN

Corrected Simulation

Simulation of Boolean circuits using stochastic CRNs

10 Deterministic Function Computation with Chemical Reaction Networks Ho-Lin Chen 1, David Doty 2, David Soloveichik 3 1 National Taiwan University 2 Caltech 3 UCSF

11 Discrete (Stochastic) CRN Model ● Finite set of species {X, Y, Z, …} ● A state is a nonnegative integer vector c indicating the count (number of molecules) of each species: write counts as # c X, # c Y, … ● Finite set of reactions: e.g. X → W + Y + Z A + B → C ● (in our paper, all rate constants are 1, and all reactions are unimolecular or bimolecular)

12 Deterministic function computation with CRNs (example 1) f(x) = 2x start with x (input amount) of X X → Z + Z z

13 Discrete (Stochastic) CRN Model System evolves via a continuous time Poisson process: reaction jpropensity ρ j ● A → …#A ● A + B → …(1/v) #A #B v = volume ● A + A → …(1/v) #A (#A – 1) / 2 ● time until next reaction is exponential random variable with rate Σ j ρ j (and expected value 1 / Σ j ρ j ) ● probability that the next reaction is j* is ρ j* / Σ j ρ j

14 Deterministic function computation with CRNs (example 2) f(x 1,x 2 ) = if x 1 > x 2 then y = 1 else y = 0 start with 1 N and input amounts of X 1,X 2 X 1 + N → Y X 2 + Y → N

15 Deterministic function computation with CRNs (example 3) f(x 1,x 2 ) = max {x 1,x 2 } start with input amounts of X 1,X 2 X 1 → Z 1 + Z X 2 → Z 2 + Z Z 1 + Z 2 → K K + Z → Ø Z

16 Deterministic function computation with CRNs (definition) ● initial state: input counts X 1, X 2, …, X k (and fixed counts of non-input species) ● output: counts of Z 1, Z 2, …, Z l ● output-stable state: all states reachable from it have same counts of Z 1, Z 2, …, Z l ● deterministic computation: a correct output-stable state “always reached in the limit t → ∞ ” (infinitely often reachable states are infinitely often reached) task: compute function z = f(x) (x ∈ ℕ k, z ∈ ℕ l )

17 Other functions? ● f(x) = x/2 ? ● f(x) = x 2 ? ● f(x 1,x 2 ) = x 1 ∙ x 2 ? ● f(x) = 2 x ?

18 Main result Theorem: Functions f: ℕ k → ℕ l deterministically computable by CRNs are precisely those with a semilinear graph. graph(f) = { (x,z) ∈ ℕ k+l | f(x)=z } A ⊆ ℕ k+l is linear if there are vectors b, u 1, …, u p so that A = { b + n 1 ∙ u 1 + … + n p ∙ u p | n 1,...,n p ∈ ℕ } A is semilinear if it is a finite union of linear sets. Intuitively, semilinear functions are “piecewise linear functions” with a finite number of pieces

19 Non-semilinear examples Others: ● f(x) = x 2 ● f(x) = 2 x

20 How do we show this? Theorem [Angluin, Aspnes, Eisenstat, PODC 2006]: The predicates decidable by CRNs are precisely the semilinear predicates. We connect computation of functions (integer output) to computation of predicates (YES/NO output)

21 Deterministic predicate computation with stochastic CRNs (definition) ● initial state: input counts X 1, X 2, …, X k (and fixed counts of non-input species) ● output:either #Y > 0 and #N = 0 (yes) or #Y = 0 and #N > 0 (no) ● output-stable state: all states reachable from it have same yes/no answer ● set decided by CRN: S yes = { x ∈ ℕ k | φ(x) = yes } task: decide predicate b = φ(x) (x ∈ ℕ k, b ∈ {yes,no})

22 Two directions to proof ● Only semilinear functions can be computed: ● f computed by CRN C ⇒ graph(f) decided by CRN D ● All semilinear functions can be computed: ● graph(f) decided by CRN D ⇒ f computed by CRN C (reminder) Theorem [Angluin, Aspnes, Eisenstat, PODC 2006]: The sets decidable by CRNs are precisely the semilinear sets.

23 f computed by CRN C ⇒ graph(f) decided by CRN D ● Want to decide, given input (x,z), is f(x) = z? ● Keep track of total number of Z's ever produced or consumed: A + B → Z + W becomes A + B → Z + W + Z P A + Z → B becomes A + Z → B + Z C ● Initial state has z copies of Z C Z P + Z C → YZ P + Y → Z P + N Y + N → Y Z C + Y → Z C + N Eventually all Z P and Z C go away (if equal) or one is left over (if unequal) If Z P or Z C are left over, change answer to NO If neither is left over, change answer to YES

24 graph(f) decided by CRN D ⇒ f computed by CRN C ● Want: given x copies of X, produce f(x) copies of Z ● If graph(f) = { (x,z) ∈ ℕ 2 | f(x) = z } is semilinear, then so is the the set F diff = { (x,z P,z C ) ∈ ℕ 3 | f(x) = z P – z C } ● So some CRN D diff decides F diff ● Start with 0 of Z, Z P, Z C, and add to D diff the reactions N →N + Z P + Z N + Z →N + Z C N only present when D diff thinks answer is NO