![Page 1: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/1.jpg)
Models of Distributed Computing in Molecular
Programming
Nicholas Schiefer
![Page 2: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/2.jpg)
This is a survey, with some informal statements.
Stop me at any time.
![Page 3: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/3.jpg)
Perspective on molecular programming
Prelude
![Page 4: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/4.jpg)
Molecular programming is…
computing with moleculeswhat do we mean by “computing”?
what kinds of problems can we solve?
what are “molecules”?
how do they interact with each other?
![Page 5: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/5.jpg)
Three perspectivesNatural scientist
How does computation occur in the physical/biological world?
[Wikimedia]
![Page 6: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/6.jpg)
Three perspectivesEngineer
How can use computational power in nanotechnology?
[Douglas/Wyss Institute]
![Page 7: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/7.jpg)
Three perspectivesComputer scientist
How can I compute using extremely simple systems?
![Page 8: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/8.jpg)
Three perspectivesNatural scientist
How does computation occur in the physical/biological world?
EngineerHow can use computational power in nanotechnology?
Computer scientistHow can I compute using extremely simple systems?
![Page 9: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/9.jpg)
Control concentrations
Two things biology does…Build things
Dynamic molecular programming
Structural molecular programming
Chemical Reaction Networks
Tile Assembly Model
[Splettstoesser ]
![Page 10: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/10.jpg)
Chemical Reaction Networks
Part I
![Page 11: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/11.jpg)
Chemical Reaction Networks
[Brynildsen]
chemical species
![Page 12: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/12.jpg)
Chemical Reaction Networks
A+B ! C
X + Y ! Z +W
A,B,C,W,X, Y, Z,
Finite* set of species
Finite* set of reactions
*usually
Well-mixed reaction vessel
![Page 13: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/13.jpg)
CRN Dynamics
?
time t time (t + ε)
![Page 14: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/14.jpg)
CRN Dynamics
“Mass action” regimeConcentrations
Described by ODE
“Kinetic” regimeCounts
State is a continuous time Markov chain (“Gillespie dynamics”)
Equivalent to population protocols
A+Bk�! C
[A], [B], [C] 2 R+
d[A]
dt= �k[A][B]
d[B]
dt= �k[A][B]
d[C]
dt= k[A][B]
#(A),#(B),#(C) 2 Z+
![Page 15: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/15.jpg)
CRN Dynamics“Mass action” regime “Kinetic” regime
[Britannica]
vs.
Kinetic model approaches mass action model as counts grow towards infinity.
![Page 16: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/16.jpg)
Mass action CRNs
Key ideasProof due to [Berleant 2014], much older proof via Michaelis-Menten enzyme kinetics
For each variable , have species and that “cancel quickly”
Linear terms are easy
Theorem. Any polynomial ODE can be approximated arbitrarilywell by a mass action CRN.
x X+ X�
X+ +X� fast��! ;
![Page 17: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/17.jpg)
Mass action CRNs
Key ideasTo implement quadratic terms, use multiple reactants:
Use special reactants to break higher degree terms into several parts
Theorem. Any polynomial ODE can be approximated arbitrarilywell by a mass action CRN.
X +X ! Yd[Y ]
dt= [X]2
d[X]
dt= �[X]2
![Page 18: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/18.jpg)
Mass action CRNsTheorem. Any polynomial ODE can be approximated arbitrarilywell by a mass action CRN.
![Page 19: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/19.jpg)
Kinetic CRNsStable leader election
![Page 20: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/20.jpg)
Kinetic CRNsStable leader election
solves leader election in expected time (equivalently pairwise interactions) A+A ! A+B O(n)
O(n2)
![Page 21: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/21.jpg)
Kinetic CRNsStable leader election
Intuition: No matter what, there is always a “bottleneck” somewhere, where two low concentration species need to find each other to know who will be the leader.
Theorem. Stable leader election requires ⌦(n2) pairwise interactions.
[Doty and Soloveichik, 2015]
![Page 22: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/22.jpg)
Extensions of kinetic CRNsStable leader election
Allowing a super-constant number of CRN species gives better protocols [Alistairh and Gelashvili, 2015], [Alistarh, Aspnes, Eisenstat, Gelashvili, Rivest, 2017], etc.
Can have substantial impact on descriptive complexity in some applications
![Page 23: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/23.jpg)
Implementing CRNsDNA as a substrate for molecular engineering
Very predictable secondary structure due to Watson-Crick complementarity
Easy to filter out garbage because of pi-stacking
Cheap and easy to synthesize
[Kyrolov]
![Page 24: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/24.jpg)
Implementing CRNsToehold-mediated branch migration
[Soloveichik, Seelig, and Winfree , 2010]
![Page 25: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/25.jpg)
Implementing CRNsDNA strand displacement circuits
[Soloveichik, Seelig, and Winfree , 2010]
![Page 26: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/26.jpg)
Implementing CRNsDifficulty of design is related to # of species!
[Qian and Winfree, 2011]
![Page 27: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/27.jpg)
Tile Assembly Models
Part II
![Page 28: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/28.jpg)
Abstract Tile Assembly Model
finite set of tiles
b
c
b
Ta
bd
c
glues
assembly
T B C
[Winfree, 1998]
temperature
![Page 29: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/29.jpg)
Computation with Tiles
00110110
001101A1A
00110B1B1
0011B0B01
0011AA001
0011A1A01
001A1A001
[adapted from a classic construction for Wang tiles; Winfree, 1996]
hard-coded seed tiles specify input
each row represents a single Turing machine operation
position and state of head is recorded
head moves left/right
copy tape from row to row
![Page 30: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/30.jpg)
Temperature in the aTAMAll of our proofs rely on temperature 2
Allows “cooperative binding”, i.e. merging of information
The aTAM at temperature 1 is believed to be very weak…
Possibly the biggest open problem in the field!
![Page 31: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/31.jpg)
Finite Shape Construction
Always possible with N tile types!
![Page 32: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/32.jpg)
Constructing squares
Proof idea:Build a “binary counter” using tile types
Theorem. An aTAM program with O(log n) tile types can
construct an n⇥ n square.
[Rothemund and Winfree, 2000]
[image due to Patitz, 2014]
O(1)
![Page 33: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/33.jpg)
Constructing squares
Proof idea:Encode binary counter input in tile types.
Fill in gaps with filler tile types
Theorem. An aTAM program with O(log n) tile types can
construct an n⇥ n square.
[Rothemund and Winfree, 2000]
[image due to Patitz, 2014]
O(log n)
O(1)
![Page 34: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/34.jpg)
Tile Assembly ModelDouble-crossover motif
[Fu and Seeman, 1993][Winfree, 1998]
sticky end
![Page 35: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/35.jpg)
Tile Assembly Model
[Evans, 2014][Rothemund, Papadakis, Winfree, 2004]
![Page 36: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/36.jpg)
Constructing squaresTheorem. An aTAM program with O(log n) tile types can
construct an n⇥ n square.
[Rothemund and Winfree, 2000]
Theorem. There is an aTAM program with O⇣
lognlog logn
⌘
tile types can construct a n⇥ n square.
[Adleman, Cheng, Goel, and Huang, 2001]
Better input encoding!
![Page 37: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/37.jpg)
Optimal encoding of binary strings
n bit binary string to encode with tiles
0L
0L
0
$
+
0
0
0101
101$
R
R
101
R
R
101
01
R
R
01
1
101
01
R
R
0
0
0
0
1
1
1
1
0L
0L
11R
R
100
01
100
0
00
0
11
1
11
1
00L
0
11
1
0101
R
R
0101
+
0101
0101+
10
+
+
10
0L
0L
1
10
110
R
R
0101
R
R
0101
+
0101
0101+
110
+
+
110
0L
110
0110L
R
1
0101
12
+
23
0110L
3
1
1
1
0
10
R
R
each seed encodes
O✓
log n
log log n
◆
[image due to Patitz, 2014]
![Page 38: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/38.jpg)
Optimal encoding of binary strings
n bit binary string to encode with tiles
0L
0L
0
$
+
0
0
0101
101$
R
R
101
R
R
101
01
R
R
01
1
101
01
R
R
0
0
0
0
1
1
1
1
0L
0L
11R
R
100
01
100
0
00
0
11
1
11
1
00L
0
11
1
0101
R
R
0101
+
0101
0101+
10
+
+
10
0L
0L
1
10
110
R
R
0101
R
R
0101
+
0101
0101+
110
+
+
110
0L
110
0110L
R
1
0101
12
+
23
0110L
3
1
1
1
0
10
R
R
O✓
n
log n
◆
seed tiles
O✓
n
log n
◆
unpacking tiles
Information-theoretic optimum!
[image due to Patitz, 2014]
![Page 39: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/39.jpg)
Finite Shape ConstructionKolmogorov complexity
KU (S) =size of the smallest program for that
outputsUS
![Page 40: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/40.jpg)
Shape Construction in the aTAM
Theorem. For any shape S, there is an aTAM tile
set T that constructs S at some scale such that
|T | 2 ⇥
✓KU (S)
logKU (S)
◆
[Soloveichik and Winfree, 2007]optimal input encoding
scale 2
![Page 41: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/41.jpg)
Shape Construction in the aTAM
Theorem. For any shape S, there is an aTAM tile
set T that constructs S at some scale such that
|T | 2 ⇥
✓KU (S)
logKU (S)
◆
[Soloveichik and Winfree, 2007]optimal input encoding
00110110
001101A1A
00110B1B1
0011B0B01
0011AA001
0011A1A01
001A1A001
large scale!
![Page 42: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/42.jpg)
But wait, there’s more!aTAM is extremely well studied
aTAM is intrinsically universal [Doty, Lutz, Patitz, Schweller, Summers, Woods, 2012]
classification of shapes by difficulty [Aggarwal†, Cheng, Goldwasser, Kao, Moisset de Espanes, Schweller, 2005]
![Page 43: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/43.jpg)
But wait, there’s more!Dozens of variants
2-handed tile assembly model hierarchical tile assembly model kinetic tile assembly model polyomino tile assembly model flipping tile assembly model xTAM has been studied for many, many x
“One tile to rule them all” in non-square tile systems [Demaine, Demaine, Fekete, Patitz, Schweller, Winslow, Woods, 2012]
![Page 44: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/44.jpg)
Locality: friend and foeCRNs Tile assembly model
A
B CD
Non-local ☺
No geometry ☹Local ☹
Geometry ☺
XY
![Page 45: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/45.jpg)
In nature…
StructureDynamics
![Page 46: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/46.jpg)
Hybrid models of molecular programming
Part III
![Page 47: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/47.jpg)
CRN Control of Tile Self-Assembly
[Zhang, et al. 2013]
![Page 48: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/48.jpg)
CRN Control of Tile Self-Assembly
[Zhang, et al. 2013]
Experiment
![Page 49: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/49.jpg)
CRN Control of Tile Self-Assembly
?Theory
![Page 50: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/50.jpg)
CRN Control of Tile Self-Assembly
Theory“A theoretical framework is
needed to characterize what molecular behaviors can or
cannot be achieved by integrated DNA tile and strand-
displacement systems….”
[D. Y. Zhang, R. F. Hariadi, H. M. T. Choi, and E. Winfree, “Integrating DNA strand-displacement circuitry with DNA tile self-assembly,” Nat Commun, vol. 4, Jun. 2013.]
![Page 51: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/51.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Program includes:A,B,C,X, Y, Z, . . .
finite set of signals
Ta
bd
cAA
initial state
A C D+
C+
+
B+
A B+
A B+
Dx
yw
z
Ca
bd
c
Dx
yw
z
Bl
mo
n
Bl
mo
n
Bl
mo
n
A C D+
C+
+
+
A+
A+
Dx
yw
z
Ca
bd
c
Dx
yw
z
b
c
b
b
c
b
A X*+
T*+
+
+Ta
bd
c
Ta
bd
c
Xa
bd
c
Xseed
a
bd
c
finite set of reactions
tile assembly reactions
finite set of tiles
T B C
[S and Winfree 2015]
![Page 52: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/52.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Normal CRN reactions
A C D+B+
![Page 53: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/53.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Creating tiles
C + D
x
w
z
yA B+
D
x
w
z
yC
a
d
c
b+A B+
![Page 54: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/54.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Deleting tiles
B
l
o
n
mA C D++
![Page 55: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/55.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Relabelling tiles
C +
D
x
w
z
y
D
x
w
z
y
B
l
o
n
m
B
l
o
n
m
+
A+
A+ C
a
d
c
b
![Page 56: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/56.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Activating/deactivating tiles
X
a
d
c
b X
a
d
c
bA X*++ seed
“inactive” tile “active” seed assembly
Variable # of assemblies!
![Page 57: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/57.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
removal strand
Tile attachment/detachment
Feedback from structure!
b
c
b
b
c
b
T*++Ta
bd
c
Ta
bd
c
![Page 58: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/58.jpg)
Example
A B C
CD
A B++ +BC C+ D
A B++ +BC C+ D
![Page 59: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/59.jpg)
K⌧CT(P ) = |S|+ |T |+ |R|+ |I|
Program Complexity
number of signalsnumber of tilesnumber of reactionssize of initial state
⌘ |S|+ |T |+ |R|+X
z2(S[T )
log(I(z) + 1)
![Page 60: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/60.jpg)
Building skinny shapes[pattern designed by Kevin Li, software by S]
binary counter
Time
CRN
spe
cies
Cur
rent
ass
embl
y
![Page 61: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/61.jpg)
Turing MachinesTheorem. The CRN-TAM is Turing-universal attemperature ⌧ = 2.
Proof. The aTAM is Turing-universal at temperature ⌧ = 2.
(Simulation of computation histories)
Requires space! ⌦(s⇥ t)
(Probably) requires temp. 2!
![Page 62: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/62.jpg)
CRN
Stack MachinesPush operation
X1 Y1S 1X
stack encoded as linear assemblyfinite state encoded in the CRNX⇤
X
Theorem. Turing machines , multi-stack machines.
![Page 63: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/63.jpg)
CRN
Stack MachinesPop operation
X1 Y1S 1 X
X⇤
X
Theorem. Turing machines , multi-stack machines.
![Page 64: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/64.jpg)
Stack MachinesTheorem. Turing machines , multi-stack machines.
Theorem. The CRN-TAM is Turing universal at all
temperatures ⌧ � 1 using O(1) space in one dimension.
Only space!⇥(s) Temperature 1!
![Page 65: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/65.jpg)
Finite Shape Construction
![Page 66: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/66.jpg)
Shape Construction in the aTAM
Theorem. For any shape S, there is an aTAM tile
set T that constructs S at some scale such that
|T | 2 ⇥
✓KU (S)
logKU (S)
◆
[Soloveichik and Winfree, 2007]conversion from “bits” to “tiles”
scale 2
![Page 67: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/67.jpg)
Shape Construction in the aTAM
Theorem. For any shape S, there is an aTAM tile
set T that constructs S at some scale such that
|T | 2 ⇥
✓KU (S)
logKU (S)
◆
[Soloveichik and Winfree, 2007]
Huge scale = huge shapes!
![Page 68: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/68.jpg)
Shape Construction in the CRN-TAM
CRN-TAM complexity
size of the smallest CRN-TAM program that constructs S
K⌧CT(S) =
![Page 69: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/69.jpg)
Shape Construction in the CRN-TAM
K⌧CT(scale2(S)) 2 ⇥
✓KU (S)
logKU (S)
◆
Theorem. For any shape S, the CRN-TAM complexity
of S at scale 2 and any temperature ⌧ � 1 is:
same conversion from “bits” to “CRN-TAM complexity”
Constant scale! Temperature 1!
[S and Winfree, 2015]
![Page 70: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/70.jpg)
Shape Construction in the CRN-TAM
01001000010000101010101000101011
Universal Turing Machine
program outputting S
Start
End
![Page 71: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/71.jpg)
Theorem. A binary string of length n can be encoded
in a (temperature 1) CRN-TAM program with
complexity ⇥(n/ log n).
Shape Construction in the CRN-TAM
Program componentsUniversal Turing machine (constant complexity) Path tiles (constant complexity) Depth-first search (constant complexity) Universal Turing machine program ( bits)KU (S)
[S and Winfree, 2015]
![Page 72: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/72.jpg)
Shape Construction in the CRN-TAM
K⌧CT(scale2(S)) 2 ⇥
✓KU (S)
logKU (S)
◆
Theorem. For any shape S, the CRN-TAM complexity
of S at scale 2 and any temperature ⌧ � 1 is:
Theorem. A binary string of length n can be encoded
in a (temperature 1) CRN-TAM program with
complexity ⇥(n/ log n).
![Page 73: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/73.jpg)
Parallelism in the CRN-TAM
Previous constructions were carefully engineered
to avoid parallelism!
![Page 74: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/74.jpg)
X1 Y1S 1
CRNX1 Y1S 1
X
A problem with stack machines…
Shared state = limited parallelism!
?
same tile species
![Page 75: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/75.jpg)
[S and Winfree, 2016]
A problem with stack machines…
Definition. A CRN-TAM program that decides a
language is scalable if it still works with arbitrarily
many copies in the same reaction vessel.
Theorem. Every scalable CRN-TAM program uses
⌦(t(n)) space to simulate a Turing machine that takes
time t(n).
“Stack machines” are not scalable!
![Page 76: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/76.jpg)
Computation with TilesMaintaining tiles of each type⇥(V )
b
c
b
b
c
b
T*++Ta
bd
c
Ta
bd
c
b
c
b
b
c
b
T*++Ta
bd
c
Ta
bd
c
b
c
b
b
c
b
T*++Ta
bd
c
Ta
bd
c A C D+B+
![Page 77: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/77.jpg)
Time Complexity of Tile Computation
Intuitively, takes as long as the “backbone” takes to build
( time)⇥(t(n))
00110110
001101A1A
00110B1B1
0011B0B01
0011AA001
0011A1A01
001A1A001
![Page 78: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/78.jpg)
Time Complexity of Tile Computation
Seems straightforward to analyze, but…Assembly process is asynchronous,so tiles could attach in any order!
Tile consumption and re-generation could be interleaved, so tile concentrations might fluctuate!
Don’t even need the whole assembly to complete before knowing the answer (just the last piece of the “backbone”)!
Absolute chaos!
![Page 79: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/79.jpg)
Time Complexity of Tile Computation
Sentinel process
[similar to Adleman, Cheng, Goel, Huang, 2001]
1 11
treat tile attachment/regeneration as a single process
transit time has phase-type distribution (well studied)Restricting particular reactions only increases time complexity!
![Page 80: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/80.jpg)
Time Complexity of Tile Computation
Theorem. The sentinel process takes ⇥(t(n)) time.
Theorem. CRN-TAM computation with tiles takes
⇥(t(n)) time.
Same time as stacks!Scalable!
[S and Winfree, 2016]
![Page 81: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/81.jpg)
Towards Parallel Computation
A
01000111000000010001000010011010111111011111
fast combinatorial seed production
fast reporting
![Page 82: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/82.jpg)
Limits and Open QuestionsMessage routing in a well-mixed CRN
A
What parallelism can/cannot be implemented in the CRN-TAM?
![Page 83: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/83.jpg)
Three perspectivesNatural scientist
How does computation occur in the physical/biological world?
EngineerHow can use computational power in nanotechnology?
Computer scientistHow can I compute using extremely simple systems?
![Page 84: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/84.jpg)
Thanks!
![Page 85: Models of Distributed Computing in Molecular Programming · Computing in Molecular Programming Nicholas Schiefer. This is a survey, with some informal statements. Stop me at any time](https://reader030.vdocuments.us/reader030/viewer/2022041011/5ebca21d8eb60e3be90d6d31/html5/thumbnails/85.jpg)
Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM)
Tile attachment/detachment
“reversible” based on binding strength b1) Attachment only if b ≥ τ2) Detachment only if b = τ
b
c
b
b
c
b
T*++Ta
bd
c
Ta
bd
c