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

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.
New Mexico Computer Science For All Designing and Running Simulations Maureen Psaila-Dombrowski.
Introduction to Training and Learning in Neural Networks n CS/PY 399 Lab Presentation # 4 n February 1, 2001 n Mount Union College.
Multiscale Stochastic Simulation Algorithm with Stochastic Partial Equilibrium Assumption for Chemically Reacting Systems Linda Petzold and Yang Cao University.
02/01/11CMPUT 671 Lecture 11 CMPUT 671 Hard Problems Winter 2002 Joseph Culberson Home Page.
Marc Riedel Synthesizing Stochasticity in Biochemical Systems Electrical & Computer Engineering Jehoshua (Shuki) Bruck Caltech joint work with Brian Fett.
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.
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.
The Goldreich-Levin Theorem: List-decoding the Hadamard code
Review of Probability and Random Processes
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
The Fundamentals: Algorithms, the Integers & Matrices.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Relationships Between Structures “→” ≝ “Can be defined in terms of” Programs Groups Proofs Trees Complex numbers Operators Propositions Graphs Real.
Computation Model and Complexity Class. 2 An algorithmic process that uses the result of a random draw to make an approximated decision has the ability.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
Quantum Computing MAS 725 Hartmut Klauck NTU
Chapter Algorithms 3.2 The Growth of Functions 3.3 Complexity of Algorithms 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
CONTINUOUS RANDOM VARIABLES
ELE 523E COMPUTATIONAL NANOELECTRONICS
Biochemical Reactions: how types of molecules combine. Playing by the Rules + + 2a2a b c.
Sayed Ahmad Salehi Marc D. Riedel Keshab K. Parhi University of Minnesota, USA Markov Chain Computations using Molecular Reactions 1.
Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov.
The Beauty and Joy of Computing Lecture #7 Algorithmic Complexity “Data scientists at Yahoo are using prediction markets – along with polls, sentiment.
1 Review of Probability and Random Processes. 2 Importance of Random Processes Random variables and processes talk about quantities and signals which.
CSC321: Neural Networks Lecture 1: What are neural networks? Geoffrey Hinton
Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.
What is Discrete Math?. “Discrete mathematics is the study of mathematical structures that are fundamentally discrete rather than continuous.” mathematicalstructuresdiscrete.
1 Deterministic Function Computation with Chemical Reaction Networks David Doty (joint work with Ho-Lin Chen and David Soloveichik) University of British.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Primbs, MS&E345 1 Measure Theory in a Lecture. Primbs, MS&E345 2 Perspective  -Algebras Measurable Functions Measure and Integration Radon-Nikodym Theorem.
Introduction toData structures and Algorithms
CSE15 Discrete Mathematics 03/06/17
Computational Complexity Theory
Algorithms for Big Data: Streaming and Sublinear Time Algorithms
OPERATING SYSTEMS CS 3502 Fall 2017
Stochastic Streams: Sample Complexity vs. Space Complexity
Math a Discrete Random Variables
New Characterizations in Turnstile Streams with Applications
Analytics and OR DP- summary.
CONTINUOUS RANDOM VARIABLES
CSE 105 theory of computation
Enough Mathematical Appetizers!
ASU 101: The ASU Experience Computer Science Perspective
RAJALAKSHMI ENGINEERING COLLEGE
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
ELE 523E COMPUTATIONAL NANOELECTRONICS
Applied Discrete Mathematics Week 6: Computation
Discrete Math for CS CMPSC 360 LECTURE 43 Last time: Variance
Enough Mathematical Appetizers!
CS21 Decidability and Tractability
Analysis of Algorithms
CSE 105 theory of computation
Example: Verification
Enough Mathematical Appetizers!
23rd International Meeting on DNA and Molecular Programming
More NP-Complete Problems
Further Topics on Random Variables: 1
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.
CSE 105 theory of computation
Presentation transcript:

1 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

2 The programming language of chemical kinetics Use the language of coupled chemical reactions prescriptively as a “programming language” for engineering new systems (rather than descriptively as a modeling language for existing systems) These gloves came free with my toilet brush!

3 Cells are smart: controlled by signaling and regulatory networks source: David Rogers, Vanderbilt University Human neutrophil chasing a bacterium through red blood cells Want to understand principles of chemical computation Engineer embedded controllers for biochemical systems, “wet robots”, smart drugs, etc.

4 Chemical Reaction Networks (CRN) syntax: we use only stochastic CRNs in this talk

5 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)

6 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

7 Objections?

8 What is not captured?

9 Are CRNs an “implementable” programming language? ● “I don't believe that every crazy CRN you write down actually describes real chemicals!” ● Response to objection: Soloveichik, Seelig, Winfree [PNAS 2010] found a physical implementation (high-accuracy approximation) of any CRN, using nucleic-acid strand displacement cascades

10 Deterministic Function Computation with CRNs

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

12 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

13 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

14 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 )

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

16 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

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

18 What if we allow error? ● Any function computable by an algorithm is computable by a randomized CRN with arbitrarily small positive probability of error. – [Soloveichik, Cook, Winfree, Bruck, Natural Computing 2008] – [Angluin, Aspnes, Eisenstat, Distributed Computing 2006] ● Moral: disallowing error hurts chemical algorithms much more than it hurts conventional algorithms algorithmically computable randomized CRNs function's computational complexity deterministic algorithms randomized algorithms finite-state computable randomized finite-state algorithms deterministic finite-state algorithms polynomial-time computable randomized poly-time (BPP) algorithms deterministic poly-time (P) algorithms exponential-time computable deterministic CRNs semilinear

19 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)

20 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})

21 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.

22 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

23 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 This is really slow!

24 How fast can semilinear functions be computed? Theorem: Every semilinear function f can be computed by a CRN on input x in expected time O(log 5 ||x||). ||x|| = Σ i x(i) i.e., in time O(n 5 ), where n is the number of bits needed to write x in binary Proof: MATH.

25

26

27 Acknowledgments Thank you! Ho-Lin Chen David Soloveichik Niranjan Srinivas Damien Woods