ECS 289: Theory of Molecular Computing
Winter 2016
Instructor
Dave Doty
doty@ucdavis.edu
Office: 3041 Kemper
Course objective
To study the fundamental abilities and limits to the engineering of automated (i.e., computational) molecular systems, in a mathematically rigorous way.
Prerequisites
ECS 120 or equivalent (familiarity with Chapters 1,3,4,7 of Introduction to the Theory of Computation by Sipser).
Prior experience with probability theory is useful; in particular, Chapters 1-4,7,8 of Probability in Computing: Randomized Algorithms and Probabilistic Analysis, by Mitzenmacher and Upfal.
Piazza
The Piazza page
for the course can be used to ask questions about the course and
homework.
Notes
lecture notes (note that these are not
comprehensive since I often take material straight from a paper)
Homework
Project
Project ideas
Lectures
Tuesday and Thursday, 3:40-5:00pm, Olson 227
Algorithmic tile self-assembly
-
Tues, Jan 5, 2016
Introduction to abstract Tile Assembly Model (aTAM)
aTAM video introduction
-
Thurs, Jan 7, 2016
ISU TAS simulator
tile complexity of assembling squares
paper: The Program-Size Complexity of Self-Assembled Squares
-
Tues, Jan 12, 2016
O(log n) tile types for assembling an n x n square
formal definition of the aTAM
-
Thurs, Jan 14, 2016
Brief introduction to Kolmogorov complexity
Ω(log n / log log n) tile types required to assemble an n x n square
-
Tues, Jan 19, 2016
O(log n / log log n) tile types suffice to assemble an n x n square
paper: Running Time and Program Size for Self-assembled Squares
-
Thurs, Jan 21, 2016
assembling scaled-up version of any finite shape from optimal number of tile types
paper: Complexity of Self-Assembled Shapes
-
Tues, Jan 26, 2016
simulation of Turing machine with a tile assembly system
-
Thurs, Jan 28, 2016
-
Tues, Feb 2, 2016
Chemical reaction networks
-
Thurs, Feb 4, 2016
Introduction to chemical reaction networks (CRNs).
Examples of stable function computation.
-
Tues, Feb 9, 2016
Formal definition of stable function computation.
Examples of stable predicate computation.
paper (functions):
Deterministic Function Computation with Chemical Reaction Networks
paper (predicates):
Computation in Networks of Passively Mobile Finite-State Sensors
-
Thurs, Feb 11, 2016
Formal definition of stable predicate computation.
Definition of semilinear sets and functions, claim that only they can be stably computed.
paper:
Stably Computable Predicates are Semilinear
-
Tues, Feb 16, 2016
Formal definition discrete chemical kinetic model (Gillespie model).
paper:
Exact stochastic simulation of coupled chemical reactions
-
Thurs, Feb 18, 2016
Derivation of expected completion times for some simple CRNs.
-
Tues, Feb 23, 2016
Register machines.
Simulation of register machines by CRNs with a large probability of error.
-
Thurs, Feb 25, 2016
Turing-universality: simulation of register machines by CRNs with a small probability of error.
paper:
Computation with Finite Stochastic Chemical Reaction Networks
paper:
Fast Computation by Population Protocols With a Leader
DNA strand displacement
-
Tues, Mar 1, 2016
Introduction to DNA strand displacement.
Visual DSD
(simulation tool)
papers (first is experimental, remainder are theoretical):
-
Thurs, Mar 3, 2016
DNA strand displacement experiments.
experimental papers:
Experimental algorithmic self-assembly with DNA tiles
-
Tues, Mar 1, 2016
Introduction to DNA origami.
Introduction to single-stranded tiles, copying, proofreading.
-
Thurs, Mar 3, 2016
Plan for next experiment. Layered circuit model. Universal tiles to implement any 6-row circuit.