1 Deterministic Function Computation with Chemical Reaction Networks David Doty (joint work with Ho-Lin Chen and David Soloveichik) University of British.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Discrete Structures & Algorithms More about sets EECE 320 — UBC.
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.
Yi Wu (CMU) Joint work with Parikshit Gopalan (MSR SVC) Ryan O’Donnell (CMU) David Zuckerman (UT Austin) Pseudorandom Generators for Halfspaces TexPoint.
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.
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
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Distributed Coloring in Õ(  log n) Bit Rounds COST 293 GRAAL and.
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.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Derandomizing LOGSPACE Based on a paper by Russell Impagliazo, Noam Nissan and Avi Wigderson Presented by Amir Rosenfeld.
Preference Analysis Joachim Giesen and Eva Schuberth May 24, 2006.
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.
February 17, 2015Applied Discrete Mathematics Week 3: Algorithms 1 Double Summations Table 2 in 4 th Edition: Section th Edition: Section th.
Chapter 5 Algorithm Analysis 1CSCI 3333 Data Structures.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
Discrete Structures Lecture 11: Algorithms Miss, Yanyan,Ji United International College Thanks to Professor Michael Hvidsten.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Fall 2002CMSC Discrete Structures1 Enough Mathematical Appetizers! Let us look at something more interesting: Algorithms.
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.
Quantum Computing MAS 725 Hartmut Klauck NTU
1 Algorithms CS/APMA 202 Rosen section 2.1 Aaron Bloomfield.
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.
Marc D. Riedel Associate Professor, ECE University of Minnesota EE 5393: Circuits, Computation and Biology ORAND.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
Biochemical Reactions: how types of molecules combine. Playing by the Rules + + 2a2a b c.
Comparison Networks Sorting Sorting binary values Sorting arbitrary numbers Implementing symmetric functions.
Sayed Ahmad Salehi Marc D. Riedel Keshab K. Parhi University of Minnesota, USA Markov Chain Computations using Molecular Reactions 1.
Lower bounds on data stream computations Seminar in Communication Complexity By Michael Umansky Instructor: Ronitt Rubinfeld.
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.
Ch03-Algorithms 1. Algorithms What is an algorithm? An algorithm is a finite set of precise instructions for performing a computation or for solving a.
Analysis of Systems of Chemical Equations with Decision Diagrams A Decision DiagramThe Goddess Durga.
Discrete Mathematics Chapter 2 The Fundamentals : Algorithms, the Integers, and Matrices. 大葉大學 資訊工程系 黃鈴玲.
1 Deterministic Function Computation with Chemical Reaction Networks Ho-Lin Chen 1, David Doty 2, David Soloveichik 3 1 National Taiwan University 2 Caltech.
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.
CSE15 Discrete Mathematics 03/06/17
Algorithms for Big Data: Streaming and Sublinear Time Algorithms
Probabilistic Algorithms
Stochastic Streams: Sample Complexity vs. Space Complexity
New Characterizations in Turnstile Streams with Applications
Enough Mathematical Appetizers!
Computation.
Chapter 9 TURING MACHINES.
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
RAJALAKSHMI ENGINEERING COLLEGE
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
ELE 523E COMPUTATIONAL NANOELECTRONICS
Applied Discrete Mathematics Week 6: Computation
Neuro-RAM Unit in Spiking Neural Networks with Applications
Discrete Math for CS CMPSC 360 LECTURE 43 Last time: Variance
Enough Mathematical Appetizers!
CS21 Decidability and Tractability
Analysis of Algorithms
Enough Mathematical Appetizers!
23rd International Meeting on DNA and Molecular Programming
Algorithms.
Presentation transcript:

1 Deterministic Function Computation with Chemical Reaction Networks David Doty (joint work with Ho-Lin Chen and David Soloveichik) University of British Columbia September 14, 2012

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)

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

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 this talk, all rate constants are 1, and all reactions are unimolecular or bimolecular)

6 Objections?

7 What is not captured?

8 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

9 Deterministic Function Computation with CRNs

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

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

12 Deterministic function computation with CRNs (example 3) 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 4) f(x 1,x 2 ) = max {x 1,x 2 } start with input amounts of X 1,X 2 X 1 → X 1 ' + Z X 2 → X 2 ' + Z X 1 ' + X 2 ' → K K + Z → Ø Z

14 Other functions? f(x) = x 2 ? f(x 1,x 2 ) = x 1 ∙ x 2 ? f(x) = 2 x ?

15 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 “reached with probability 1 in the limit t → ∞ ” task: compute function z = f(x) (x ∈ ℕ k, z ∈ ℕ l )

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 ∈ ℕ } Intuition: linear sets are multi-dimensional “periodic” sets Semilinear functions are “piecewise linear functions” with a finite number of pieces b u1u1 u2u2 b + 3u 1 + u 2 A is semilinear if it is a finite union of linear sets.

17 Non-semilinear examples Z f(x 1,x 2 ) = x 1 ∙ x 2 f(x) = 2 x Z

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, DISC 2006] ● Lesson: 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 ● direct systematic construction to show computation of f(x) can be done in expected time O(polylog ||x||) (reminder) Theorem [Angluin, Aspnes, Eisenstat, PODC 2006]: The sets decidable by CRNs are precisely the semilinear sets.

22 monotonic production of Z P and Z C allows composition 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 CRN CCRN D

23 Computing any semilinear f X Z Alternative characterization: partial linear functions f 1 (x) = x/3 + 2 f 2 (x) = x - 2 f 3 (x) = 2 … with linear domains Deciding which domain input x is in can be done with a CRN start with 1 L 0, 2 Z L 0 + X → L 1 L 1 + X → L 2 L 2 + X → L 0 + Z

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||). i.e., in time O(n 5 ), where n is the number of bits to write x in binary Proof: Combine slow deterministic construction with O(log 5 ||x||) CRN computing f with arbitrarily small probability of error. [1,2] ● If fast CRN is correct then output stabilizes quickly ● Otherwise, slow CRN compares and corrects the output Error probability is small enough that total expected time to stabilize to correct answer remains O(log 5 ||x||). Construction on previous slide takes O(||x|| log ||x||), but... [1] Angluin, Aspnes, Eisenstat, “Fast computation by population protocols with a leader”, DISC 2006 [2] Soloveichik, Cook, Winfree, Bruck, “Computation with finite stochastic chemical reaction networks”, Natural Computing 2008 ||x|| = Σ i x(i)

25

26

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