models of distributed computing in molecular programming · computing in molecular programming...

85
Models of Distributed Computing in Molecular Programming Nicholas Schiefer

Upload: others

Post on 14-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[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

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

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

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

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

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

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

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

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

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

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