1 robert schweller electrical engineering and computer science department northwestern university...
TRANSCRIPT
1
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]
http://www.cs.northwestern.edu/~schwellerr/
April 4, 2007
Programmable Self-Assembly: How to Harness (Enslave) DNA
2
A C
G C
T G C G
Molecular Building Blocks
3
Molecular Building Blocks
A T A G CT A T C G
T G A T C G G AA C T A G C C T
A C T A G C C TA C T A G C C T
C T A G C C G TG A T C G G C A
G C T T G A C CC G A A C T G G
A G
A T
C G
A C
T C
T A G
C T
G
T A C
C G
C A
TA
T G
G C
G T A
T G
A A T
A G
CA
C T
T A T
C G
A C
T A G
C C
TA
C T A
G C
C T
A T A G CT A T C G
A T A G CT A T C G
G T A C AC A T G T
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
C G G T C
T T C C A
G A
C A G
T T A
G T
[Reif’s Group, Duke University]
4
DNA Scaffolding
[Sung Ha Park, Constantin Pistol, Sang Jung Ahn, John H. Reif, Alvin R. Lebeck, Chris Dwyer, and Thomas H. LaBean, 2006]
5
Self-Assembly for Circuit Patterns
[Cook, Rothemund, and Winfree, 2003]
6
More Examples of DNA Tiles
[Winfree’s Group, Cal Tech]
7
2D Self-Assembly for Turing Machines
[Winfree, Yang, and Seeman, 1998]
8
Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004)
340nm
Simulation of Cellular Automata
9
Example of 3D Self-Assembly[Shaw, University of Southern California]
10
3D DNA Cube
[Seeman, New York University]
11
3D DNA Truncated Octahedron
[Seeman, New York University]
12
Clonable DNA Octahedron
[Shih, Quispe, Joyce, 2004]
13
Outline
• Background, Motivation
• Model
• Temperature Programming
• Probabilistic Programming
14
},...,1,0{: tG
},,,{ sTGt
Tile Model of Self-Assembly(Rothemund, Winfree STOC 2000)
Tile System:
t : temperature, positive integer
G: glue function
T: tileset , , ... { }r
r
w
g
p
y yb
r
b
r
b,
s: seed tile
15
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
S
16
S a
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
17
S a
c
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
18
S a
c
d
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
19
S a b
c
d
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
20
S a b
c
d
x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
21
S a b
c
d
x x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
22
S a b
c
d
x x
x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
23
S a b
c
d
x x
x x
How a tile system self assembles
x dc
baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1
t = 2
24
Each Shape Requires a Distinct Tile Set
25
Programmable, General Purpose Tile Set?
26
Programmable, General Purpose Tile Set?
. . .
27
Outline
• Background, Motivation
• Model
• Temperature Programming
• Probabilistic Programming
28
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
29
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
},,,{ sTGtt
< t1 , t2 , ... , tr-1 , tr >
30
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
},,,{ sTGtt
< t1 , t2 , ... , tr-1 , tr >
Tile Complexity: Number of Tiles
Temperature Complexity: Number of Temperatures
31
Building k x n Rectangles
k-digit, base n(1/k) counter:0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
k
n
32
Building k x n Rectangles
k-digit, base n(1/k) counter:0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
)( /1 knkO Tile Complexity:
n
k
33
S
C1 C2 C3
0
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
S3
S2 0
0
S
S1
34
S
C1 C2 C3
0 1 2 30
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
S3
S2 0
0
0 0
g
g
S C1 C2 C3
S1
S2
S3
S1
00
0
0g g p
35
S
C1 C2 C3
0 1 2 30
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
g g
S3
S2 0
0 1
0 0
g
g
p r0
S C1 C2 C3
S1 0 0
S2
S3
0 0
0 0
0 1
S1
p
36
S
C1 C2 C3
0 1 2 30
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
g g
S3
S2 0
0 1
0 0
g
g
p r0
S C1 C2 C3
S1 0 0 0 1
S2
S3
0 0
0 0
0 1
S1
g g
37
S
C1 C2 C3
0 1 2 30
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
g g
S3
S2 0
0 1
0 0
g
g
p r0
S C1 C2 C3
S1 0 0 0 1
S2
S3
0 0
0 0
0 1
S1
C0 C1 C2 C3
0 0
0 0
p
38
S
C1 C2 C3
0 1 2 30
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
g g
S3
S2 0
0 1
0 0
g
g
p r0
S C1 C2 C3
S1 0 0 0 1
S2
S3
0 0
0 0
0 1
S1
C0 C1 C2 C3
0 0
0 0
p1 1
0 0
0 0
1 2
2 3
39
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
C0 C1 C2 C3 C0 C1 C2 C3
0 1
S1
p
40
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
P
C0 C1 C2 C3 C0 C1 C2 C3
0 1
S1
41
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
P
0 1
C0 C1 C2 C3 C0 C1 C2 C3
0 1
S1
42
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
P
0 1
C0 C1 C2 C3 C0 C1 C2 C3
0 1
S1
R
43
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
P
0 1
C0 C1 C2 C3 C0 C1 C2 C3
0 1
S1
R
C0 C1 C2…
44
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r0
S C0C1 C2 C3
S1 0 0 0 1
C1 C2 C3
1 1 2 2 3 31 2 2 3
S2
S3
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
P
0 1
R…
0 0
1 1
0 0 0 0
C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2
0 1
S1
45
S
C1 C2 C3
0 1 2 30
g g p
1 2
Pp
3
Build a 4 x 256 rectangle: t = 2
C0
g
g g
R 0
p r
r
S3
S2 0
0 1
2 3
0 0
g
g
p r00 1
2 2 3 P
P
P
3 3
3 3
3 3
3 3
3 3
21 2
3 3
3 3
3 3
3 3
110 1
3 3
3 3
3 3
3 3
00
3 3
3 3
32
RP
33 3
2
3
3
2
3
C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3C0C1 C2 C3
S1
46
Building k x n Rectangles
k-digit, base n(1/k) counter:0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
0
0
0
S0
0
0
0
1 2
0
0
0
0
0
1
0
0
0
1
1
2
2
2
2
2
2
2
1
2
2
2
0
. . .k
N
)( /1 knkO Tile Complexity:
n
k
47
two temperatures
3
3
3
1
t = 4
k
N
j
k
N
j
n
48
t = 4 6
k
N
j
two temperatures
n
49
)nO(j 1/j )n loglog
n logO(
k
N
j
n
Tile Complexity:
two temperaturest = 4 6
j = log n / (log log n – log log log n)
50
two temperatures
k
N
j
n
t = 4 6
j = log n / (log log n – log log log n)
[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]
Kolmogorov Complexity[Rothemund, Winfree STOC 2000]
Standard Model
[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]
)(/1
k
N k
)loglog
log(
N
N
)( /1 jnjO )loglog
log(
n
nO
51
Programmable, General Purpose Tile Set?
. . .
52
Given: n 1011001
log n
High Level Approach
53
Given: n 1011001
log nte
mp
High Level Approach
1
54
Given: n 1011001
log nte
mp
High Level Approach
1
1
55
Given: n 1011001
log nte
mp
High Level Approach
1 0
1 0
56
Given: n 1011001
log nte
mp
High Level Approach
1 0 1 1 . . .
. . .
0
1 0 1 1 0 10
57
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
58
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
59
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
60
Assembly of n x n Squares
N - k
k
61
Assembly of n x n Squares
n - k
k
62
Assembly of n x n Squares
n - k
k
63
Assembly of n x n Squares
n - k
k
)( /1 knkO
Complexity:
64
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
65
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
seed row
66
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
67
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
68
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
69
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
70
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
71
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
72
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
1
73
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
1
74
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
75
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’z
76
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
77
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
78
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
79
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
80
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2 >
0
0’
Z
81
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
0
0’
Z
82
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
0
0’
Z
x
83
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >0
0’
Z
1
84
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1
1’
z
85
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
86
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
1
87
a
Encoding a Single Bit
0
a
Z
g
z
g
g
g
g
g
g
g
g
g
0 1
0’ 1’zz
10
1
t = < 2, 5 >
Z
1’
1
a
Z
t = < 2 >
0
0’
88
Goal: 1 0 1 0 0
89
a
0
s
Goal: 1 0 1 0 0
b
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
90
a
1
s
b
Goal: 1 0 1 0 0
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
91
a
1
s
Goal: 1 0 1 0 0
b
X
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
92
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
93
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
94
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
95
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
X
96
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
97
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
0
98
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
99
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
X
100
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
101
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
102
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
X
103
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
104
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
0
105
a
1
s
Goal: 1 0 1 0 0
b
Y
temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >
a
b
0
Y
a
b
1
Y
a
b
0
Y
a
b
0
X
106
1 1 0 0 1 0 0 0 1 1 1 0 1 1
107
1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0
108
Assembly of n x n Squares
n – log n
log n
109
Assembly of n x n Squares
O(log n)
110
Assembly of n x n Squares
O(log n)
111
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(Adleman, Cheng,Goel, Huang STOC 2001)
n x n squares
TemperatureProgramming
112
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(Adleman, Cheng,Goel, Huang STOC 2001)
? < log nSmooth Trade off? n
n
loglog
log? <
n x n squares
TemperatureProgramming
113
Results
tile complexity temperature complexity
O(1) O(log n)
O(1))loglog
log(
n
nO
(Adleman, Cheng,Goel, Huang STOC 2001)
? < log nSmooth Trade off? n
n
loglog
log? <
For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously
n x n squares
TemperatureProgramming
114
General Shapes?
• General Scaled Shapes [Soloveichik, Winfree 2004]
– O(Ks*) Tile complexity, single temperature
• Combined with Temperature Programming:– O(1) Tile Complexity– O(Ks) Temperature Complexity
• General, Constant Scaled Shapes?– O(1) Tile Complexity– O(|S|) Temperature Complexity
115
Outline
• Background, Motivation
• Model
• Temperature Programming
• Probabilistic Programming
116
aS
Assign Relative Concentrations:
Probabilistic Assembly Model
b c
xd %5
%5
%5
%60
%20
%5
117
Probabilistic Assembly Model
S
aS
Tileset =
b c
xd
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
%5 %5
%5
%5
%60
%20
118
Probabilistic Assembly Model
S
d
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
119
Probabilistic Assembly Model
aS
d
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
120
Probabilistic Assembly Model
aS
xd
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
121
Probabilistic Assembly Model
aS
xd
S
d
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
122
Probabilistic Assembly Model
aS b
xd
S
d
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
123
Probabilistic Assembly Model
aS b c
xd
S
d
Two Terminal Shapes Produced
aS
Tileset =
b c
xd
%5 %5
%5
%5
%60
%20
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
124
aS
Tileset =
Probabilistic Assembly Model
b c
xd
%5 %5
%5
%5
%60
%20
S
S
d
S S ba
.20/.85 = %23.5.60/.85 = %70.6
.05/.85 = %5.9
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
125
aS
Tileset =
Probabilistic Assembly Model
b c
xd
%5 %5
%5
%5
%60
%20
S
S
d
S
S
d
a S
d
b
S ba
S
d
a S
d
b c
x
%23.5%70.6 %5.9
%75 %25
G(y) = 2G(g) = 2G(r) = 2G(p) = 1G(w) = 1
t = 2
126
Generic Tileset for all Squares
127
Generic Tileset for Approximate Squares
n(1-n (1+n
128
Generic Tileset for Approximate Squares
n(1-n (1+n
() – Approximate Square Assembly
Given:
- , - integer n
Design:A probabilistic tile system that will assemble an n’ x n’ square with:
(1-)n < n’ < (1+)n
With probability at least:
1 -
129
X
S
Line Estimation of n
130
X
S
S
Line Estimation of n
131
X
S
S
Line Estimation of n
132
X
S
S
Line Estimation of n
133
X
S
S
Line Estimation of n
134
X
S
S
Line Estimation of n
135
X
S
S
Line Estimation of n
136
X
S
S
Line Estimation of n
137
X
S
S
Line Estimation of n
138
X
S
S
Line Estimation of n
139
X
S
S
Line Estimation of n
140
X
S
XS
Line Estimation of n
141
X
S
XS
% c
% c/n
% c(n-1)/n
Line Estimation of n
142
X
S
XS
% c
% c/n
% c(n-1)/n
Line Estimation of n
E[ Length ] = n
Length has Geometric distributionwith p = 1/n
143
X
S
XS
% c
% c/n
% c(n-1)/n
Line Estimation of n[Becker, Rapaport Remila, 2006]
E[ Length ] = n
144
X
S
XS
% c
% c/n
% c(n-1)/n
Line Estimation of n
- Assembles all n x n squares.
-Expected dimension specified by percentages.
-Geometric distribution:
Huge variance
[Becker, Rapaport Remila, 2006]
E[ Length ] = n
145
X
S
Improved Estimation of n: Binomial Distribution
S X
146
X
S % c
% c/L
% c(L+1)(n-1)/Ln
Improved Estimation of n: Binomial Distribution
% c(L+1)/Ln
S X
Probability of placing a red tile given either a red or green tile is placed:
1/n
147
X
S % c
% c/L
% c(L+1)(n-1)/Ln
Improved Estimation of n: Binomial Distribution
% c(L+1)/Ln
S X
Probability of placing a red tile given either a red or green tile is placed:
1/n
To compute estimation of n:Compute LENGTH / REDS
148
X
S % c
% c/L
% c(L+1)(n-1)/Ln
Improved Estimation of n: Binomial Distribution
% c(L+1)/Ln
S X
1 0 0 1
1 0
1 1
1 0
0 1
0 0
1 0
1 1
0 0
1 0
0 0
1 1
1 0
1 0
1 1
1 0
0 1
0 1
0 0
1 1
0 1
0 0
1 0
0 1
1 1
0 0
1 0
1 1
1 1
0 0
1 0
0 1
0 1
1 0
1 0
1 0
0 0
1 1
1 0
0 0
1 0
1 1
1 0
Binary Counter Length: 10000Reds: 100
1 0
1 0
1 0
1 1
1 0
0 0
0 0
0 1
0 0
0 0
0 0
0 1
0 0
1 0 1 0
149
X
S % c
% c/L
% c(L+1)(n-1)/Ln
Improved Estimation of n: Binomial Distribution
% c(L+1)/Ln
S X
1 0 0 1
1 0
1 1
1 0
0 1
0 0
1 0
1 1
0 0
1 0
0 0
1 1
1 0
1 0
1 1
1 0
0 1
0 1
0 0
1 1
0 1
0 0
1 0
0 1
1 1
0 0
1 0
1 1
1 1
0 0
1 0
0 1
0 1
1 0
1 0
1 0
0 0
1 1
1 0
0 0
1 0
1 1
1 01 0
1 0
1 0
1 1
1 0
0 0
0 0
0 1
0 0
0 0 1 0
0 0
0 0
0 1
0 0
1 0 1 0
0
Length: 10000Reds: 100
Compute Length / Reds: 100
Division tiles
Estimate for n
150
Problem: Estimation Line too Long
S X
Length >> n :Too long for an n x n square…
Chernoff Bounds only yield high accuracy for Length >> n
151
S
Multiple lines = HEIGHT: Determined by Geometric Distribution
WIDTH: Determined by Geometric Distribution
Solution: Estimation Frame
Phase 1: Build dimensions of frame.
152
S
Multiple lines = HEIGHT: Determined by Geometric Distribution
WIDTH: Determined by Geometric Distribution
Solution: Estimation Frame
Phase 1: Build dimensions of frame.
Phase 2:Build Sampling Lines
153
S
01
01
1
Sum Reds
Sum Reds
Sum Reds
01Sum Reds
Multiple lines = HEIGHT: Determined by Geometric Distribution
WIDTH: Determined by Geometric Distribution
Solution: Estimation Frame
Phase 1: Build dimensions of frame.
Phase 2:Build Sampling Lines
Phase 3: Sum Reds and Length for each Line
154
S
01
01
1
Sum Reds
Sum Reds
Sum Reds
01Sum Reds
1 1 1
Su
m S
ub
tota
ls
Multiple lines = HEIGHT: Determined by Geometric Distribution
WIDTH: Determined by Geometric Distribution
Solution: Estimation Frame
Phase 1: Build dimensions of frame.
Phase 2:Build Sampling Lines
Phase 3: Sum Reds and Length for each Line
Phase 4: Sum subtotals
155
S
01
01
1
Sum Reds
Sum Reds
Sum Reds
01Sum Reds
1 1 1
Su
m S
ub
tota
ls
Divide: Length / Reds
1001
Multiple lines = HEIGHT: Determined by Geometric Distribution
WIDTH: Determined by Geometric Distribution
Solution: Estimation Frame
Phase 1: Build dimensions of frame.
Phase 2:Build Sampling Lines
Phase 3: Sum Reds and Length for each Line
Phase 4: Sum subtotals
Phase 5: Compute Length to Reds ratio
OUTPUTEstimation
156
HEIGHT
WIDTH
Solution: Estimation Frame
With high probability: HEIGHT < nWIDTH < n
Frame fits within n x n square
With high probability: HEIGHT x WIDTH >> n Chernoff Bounds imply:
Estimation is accurate with high probability:(1-epsilon)n’ < n < (1+ epsilon) n’
157
10110110
Finish off SquareOutput n approximation
158
Binary Counter
Bin
ary Co
un
ter
10110110
n
n
Finish off SquareOutput n approximation
159
We have a fixed size O(1) tileset that:
-For any given - n > C( )
We can assign percentages such that:
With probability at least 1- , a size n’ x n’
square is assembled with
( 1- )n < n’ < ( 1+ )n
Binary Counter
Bin
ary Co
un
ter
10110110
n
n
Result:
160
Probabilistic Results
• Generic size O(1) tileset that builds ()-approximate squares.
• Approximation Frame has many potential applications– Encode arbitrary programs
• General shapes• Encode input of computational problems
• Extension to 3 dimensions– Approximation accuracy increases for n x n x n cubes,
possibly exact assembly of cubes with high probability
161
Thanks for Listening
Questions?
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]
http://www.cs.northwestern.edu/~schwellerr/
162
Outline
• Background, Motivation
• Model
• Temperature Programming
• Probabilistic Programming
• Staged Assembly
• Overview of Additonal Work
• Future Work
163
Staged Assembly• Assembly occurs in a sequence of stages, and
assemblies can be separated into separate bins
164
Staged Assembly• Assembly occurs in a sequence of stages, and
assemblies can be separated into separate bins
165
Staged Assembly• Assembly occurs in a sequence of stages, and
assemblies can be separated into separate bins
Bin Complexity: 4
Stage Complexity: 3
Mix pattern:
166
Staged Assembly• Assembly occurs in a sequence of stages, and
assemblies can be separated into separate bins
Bins = Space ComplexityStages = Time Complexity
Bin Complexity: 4
Stage Complexity: 3
167
Staged Assembly• Assembly occurs in a sequence of stages, and
assemblies can be separated into separate bins
Bin Complexity: 4
Stage Complexity: 3
• Results: – Use O(1) tiles to build arbitrary
shapes.– Complexity tradeoffs: Bins vs.
Stages– Close to information theoretic
optimal tradeoffs– Models laboratory and biology
• Cells act as bins
Work in collaboration with:Eric Demaine MITMartin Demaine MITSandor Fekete TU-BS
Diane Souvaine TuftsMashood Ishaque TuftsEynat Rafalin Google
168
1
a
0
A
11
a Aa A
b B b Bb B
1 1 10
0
1
Staged Assembly
Fixed size particle set:
b B b Bb B
1 1 10
c
C
1
c
C
1
c
C
0
a
0
A
1
a Aa A
d
D
d
D
d
D
0
1
1
0
b B b Bb B
10
a A a Aa A
d
D
d
D
d
D
0
1
0
0
0
1
0 1000
c
C
1
c
C
1
c
C
0
0
00
Macro Tile 1 Macro Tile 2
Large Alphabetof Macro Glues:
Large MacroTileset:
169
Staged Assembly
Fixed size particle set:
Large Alphabetof Macro Glues:
Complex Shapes:
1
a
0
A
11
a Aa A
b B b Bb B
1 1 10
0
1
b B b Bb B
1 1 10
c
C
1
c
C
1
c
C
0
a
0
A
1
a Aa A
d
D
d
D
d
D
0
1
1
0
b B b Bb B
10
a A a Aa A
d
D
d
D
d
D
0
1
0
0
0
1
0 1000
c
C
1
c
C
1
c
C
0
0
00
Macro Tile 1 Macro Tile 2Large MacroTileset:
170
Laboratory Assembly
Fixed size particle set:
Large Alphabetof Macro Glues:
Complex Shapes:
Large MacroTileset:
A G CT
A T A G CT A T C G
T G A T C G G AA C T A G C C T
A C T A G C C TA C T A G C C T
C T A G C C G TG A T C G G C A
G C T T G A C CC G A A C T G G
A G
A T
C G
A C
T C
T A G
C T
G
T A C
C G
C A
TA
T G
G C
G T A
T G
A A T
A G
CA
C T
T A T
C G
A C
T A G
C C
TA
C T A
G C
C T
A T A G CT A T C G
A T A G CT A T C G
G T A C AC A T G T
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
C G G T C
T T C C A
G A
C A G
T T A
G T
A T A G CT A T C G
T G A T C G G AA C T A G C C T
A C T A G C C TA C T A G C C T
C T A G C C G TG A T C G G C A
G C T T G A C CC G A A C T G G
A G
A T
C G
A C
T C
T A G
C T
G
T A C
C G
C A
TA
T G
G C
G T A
T G
A A T
A G
CA
C T
T A T
C G
A C
T A G
C C
TA
C T A
G C
C T
A T A G CT A T C G
A T A G CT A T C G
G T A C AC A T G T
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
A T A
G C
T A T
C G
C G G T C
T T C C A
G A
C A G
T T A
G T
1
a
0
A
11
a Aa A
b B b Bb B
1 1 10
0
1
b B b Bb B
1 1 10
c
C
1
c
C
1
c
C
0
a
0
A
1
a Aa A
d
D
d
D
d
D
0
1
1
0
b B b Bb B
10
a A a Aa A
d
D
d
D
d
D
0
1
0
0
0
1
0 1000
c
C
1
c
C
1
c
C
0
0
00
Macro Tile 1 Macro Tile 2
171
Outline
• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work
– DNA Strand Design– Shape Verification
• Future Work
172
Glue Design
ACGGT TGCCA
GGGAT
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
173
Glue Design- Standard
ACGGT TGCCA
GGGAT
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
174
Glue Design- Standard
ACGGT TGCCA
GGGAT
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
175
Glue Design- Standard
ACGGT
GGGAT
GTTGG
CGTAC
GACTC
Design n strings such that each pair of strings has Hamming distance
at least .
-Include more biologically motivated constraints.
-Lot’s of work done here, including ours:
[Kao, Sanghi, SchwellerICALP 2006]
176
Flexible Glue Design
177
Flexible Glue Design
178
Flexible Glue Design
Tile Complexity for n x n squares
)n loglog
n log(
[Adleman, Cheng, Goel, Huang]
)n log(Flexible Glue:
Standard:
[Aggarwal, Kao, Goldwasser, Schweller, SODA 2004]
Our paper on Flexible Codeword Design:[Kao, Sanghi, Schweller,ISAAC 2006]
179
Outline
• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work
– DNA Strand Design– Staged Assembly– Shape Verification
• Future Work
180
Shape Verification
Shape Verification Problem
Input: T, a tile system S, a shape
Question: Does T uniquely assemble S.
Standard: P (Adleman, Cheng, Goel, Huang, Kempe,
Flexible glue: P Espanes, Rothemund, STOC 2002)
Unique Shape: Co-NPC Multiple Temperature: NP-hard, Co-NP-hard Multiple Tile: NP-hard, Co-NP-hard
181
*
Shape Verification: Unique-Shape Model
)(
)(
)(
321
321
321
xxx
xxx
xxx
182
*
x1
x2
x3
*
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
183
*
x1
x2
x3
*
* c2c1 c3 *
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
184
*
x1
x2
x3
*
* c2c1 c3 *
x
x
x
1
0
x
x
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
185
*
x1
x2
x3
*
* c2c1 c3 *
0
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
186
*
x1
x2
x3
*
* c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
187
*
x1
x2
x3
*
*
ok
c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
188
*
x1
x2
x3
*
*
ok
ok
c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
189
*
x1
x2
x3
*
*
ok
ok
c2c1
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
190
*
x1
x2
x3
*
*
ok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
191
*
x1
x2
x3
*
*
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
192
*
x1
x2
x3
*
*
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
193
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
194
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
*
*
*
*
Shape Verification: Unique-Shape Model
195
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
*
*
*
* T
Shape Verification: Unique-Shape Model
196
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
*
*
*
* T T
Shape Verification: Unique-Shape Model
197
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
*
*
*
* T T T
Shape Verification: Unique-Shape Model
198
*
x1
x2
x3
*
*
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
*
*
*
* T T T SAT
Satisfied
(LaBean and Lagoudakis, 1999)
Shape Verification: Unique-Shape Model
199
x1
* *
x2
x3
* * T T T
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
1
1
SAT
x1
* *
x2
x3
* *
ok
ok
ok
c2ok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
0
1
Satisfied
(LaBean and Lagoudakis, 1999)
Shape Verification: Unique-Shape Model
200
x1
* *
x2
x3
* * T T T
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
1
1
SAT
x1
* *
x2
x3
* * T
ok
ok
ok
c2ok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
0
1
Satisfied
(LaBean and Lagoudakis, 1999)
Shape Verification: Unique-Shape Model
201
x1
* *
x2
x3
* * T T T
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
1
1
SAT
x1
* *
x2
x3
* * T F
ok
ok
ok
c2ok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
0
1
Satisfied
(LaBean and Lagoudakis, 1999)
Shape Verification: Unique-Shape Model
202
x1
* *
x2
x3
* * T T T
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
1
1
SAT
x1
* *
x2
x3
* * T F F
ok
ok
ok
c2ok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
0
1
Satisfied Not Satisfied
(LaBean and Lagoudakis, 1999)
Shape Verification: Unique-Shape Model
203
T T
ok ok ok
c2
SAT
*
*
T
ok
* T
x3
x2
x1
1
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
T F
ok c2 ok
c2
NO
*
*
T
ok
* T
x3
x2
x1
0
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model
204
T T
ok ok ok
c2
SAT
*
*
T
ok
* T
x3
x2
x1
1
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
T T
ok ok ok
c2
NO
*
*
T
ok
* T
x3
x2
x1
1
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model
205
T T
ok ok ok
c2
SAT
*
*
T
ok
* T
x3
x2
x1
1
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
T T
ok ok ok
c2
NO
*
*
T
ok
* T
x3
x2
x1
1
1
0
ok
c1
c1* *
c2 ok
*c2 c3
*
Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model
206
*
x3
x2
x1
*
*
x3
x2
x1
*
Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model
207
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
* c1 c2 c3 *
FFT NO*
Shape Verification: Multiple Temperature Model
208
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
* c1 c2 c3 * *
FFT NO **
Shape Verification: Multiple Temperature Model
209
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
* c1 c1c2 c2c3 c3* * *
FFT NO ** FF F NO
Shape Verification: Multiple Temperature Model
210
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
211
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
212
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
213
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
ok
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
TTT SAT ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
214
*
x1
x2
x3
*
*
x1
x2
x3
*
Satisfiable
Not Satisfiable
Shape Verification: Multiple Temperature Model
215
Input Shape:
Shape Verification: Multiple Temperature Model
216
Input Shape:
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
217
Input Shape:
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
c2
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
FFT NO ** FF F NO * NO * FTT NO
...
Equivalent to Co-SAT Co-NP-hard
Shape Verification: Multiple Temperature Model
218
Input Shape:
Shape Verification: Multiple Temperature Model
219
Input Shape:
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
ok
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
TTT SAT ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
220
Input Shape:
Equivalent to SAT NP-hard
*
x1
x2
x3
*
0
0
0
c1
ok
ok
c2
c2
ok
ok
ok
ok *
*
*
1
0
0
c1
c1
c1
c2
c2
c2
ok
ok
ok *
*
*
0
1
0
* c1 c1c2 c2c3 c3* * * *
*
*
*
1
1
1
* *
c1
ok
ok
c2
c2
ok
*
*
*
c1 c2 c3 *
c3
c3
c3
TTT SAT ** FF F NO * NO * FTT NO
...
Shape Verification: Multiple Temperature Model
221
Shape Verification Results
Standard P
Flexible Glue P Multiple Temperature NP-hard
Co-NP-hard
Unique Shape Co-NPC
Multiple Tile NP-hard Co-NP-hard
(Adleman, Cheng, Goel, Huang, Kempe,Espanes, Rothemund, STOC 2002)
222
Outline
• Background, Motivation
• Model
• Temperature Programming
• Probabilistic Programming
• Overview of Additonal Work
• Future Work
223
• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work
– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming
• Flexible Glue Design– Tighten bounds– More biological constraints
Future Work
224
Shape Replication
225
Shape Replication
drop temperature
226
Shape Replication
drop temperature
227
Shape Replication
drop temperature
raise temperature
228
Shape Replication
drop temperature
raise temperature
drop temperature
229
Shape Replication
2
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
2 2
2 2
2 2
2 2
1 . . .
230
Shape Replication
8 9765 4 3 2 1
10 11
12
13 14
1515
15
15
231
Shape Replication
8 9765 4 3 2 1
10 11
12
13 14
1515
15
15
54 3 2 1
89
10
11
7
6
15
17
16
18
19
2021
22
raise temperature
232
Shape Replication
8 9765 4 3 2 1
10 11
12
13 14
1515
15
15
54 3 2 1
89
10
11
7
6
15
17
16
18
19
2021
22
8 9765 4 3 2 1
10 11
12
13 14 15 16
17
18
19
20
21
8 9765 4 3 2 1
10 11
12
13 14
1515
15
15
raise temperature
drop temperature
233
• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work
– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming
• Flexible Glue Design– Tighten bounds– More biological constraints
Future Work