Download presentation
Presentation is loading. Please wait.
Published byAlison Ford Modified over 9 years ago
1
1 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.eduschwellerr@cs.northwestern.edu http://www.cs.northwestern.edu/~schwellerr/ April 4, 2007 Programmable Self-Assembly: How to Harness (Enslave) DNA
2
2 A C G C T G C G Molecular Building Blocks
3
3 [Reif’s Group, Duke University]
4
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
5 Self-Assembly for Circuit Patterns [Cook, Rothemund, and Winfree, 2003]
6
6 More Examples of DNA Tiles [Winfree ’ s Group, Cal Tech]
7
7 2D Self-Assembly for Turing Machines [Winfree, Yang, and Seeman, 1998]
8
8 Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004) 340nm Simulation of Cellular Automata
9
9 Example of 3D Self-Assembly [Shaw, University of Southern California]
10
10 3D DNA Cube [Seeman, New York University]
11
11 3D DNA Truncated Octahedron [Seeman, New York University]
12
12 Clonable DNA Octahedron [Shih, Quispe, Joyce, 2004]
13
13 Outline Background, Motivation Model Temperature Programming Probabilistic Programming
14
14 Tile Model of Self-Assembly (Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile
15
15 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
16
16 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
17
17 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
18
18 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
19
19 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
20
20 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
21
21 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
22
22 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
23
23 How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
24
24 Each Shape Requires a Distinct Tile Set
25
25 Programmable, General Purpose Tile Set?
26
26 Programmable, General Purpose Tile Set?...
27
27 Outline Background, Motivation Model Temperature Programming Probabilistic Programming
28
28 Multiple Temperature Model - temperature may go up and down
29
29 Multiple Temperature Model - temperature may go up and down t
30
30 Multiple Temperature Model - temperature may go up and down t Tile Complexity:Number of Tiles Temperature Complexity:Number of Temperatures
31
31 Building k x n Rectangles k-digit, base n (1/k) counter: k n
32
32 Building k x n Rectangles k-digit, base n (1/k) counter: Tile Complexity: n k
33
33 S C1C1 C2C2 C3C3 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g S3S3 S2S2 0 0 S S1S1
34
34 S C1C1 C2C2 C3C3 0123 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g S3S3 S2S2 0 0 00 g g SC1C1 C2C2 C3C3 S1S1 S2S2 S3S3 S1S1 0 0 0 0 ggp
35
35 S C1C1 C2C2 C3C3 0123 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g gg S3S3 S2S2 0 0 1 00 g g pr 0 SC1C1 C2C2 C3C3 S1S1 00 S2S2 S3S3 00 00 01 S1S1 p
36
36 S C1C1 C2C2 C3C3 0123 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g gg S3S3 S2S2 0 0 1 00 g g pr 0 SC1C1 C2C2 C3C3 S1S1 0001 S2S2 S3S3 00 00 01 S1S1 gg
37
37 S C1C1 C2C2 C3C3 0123 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g gg S3S3 S2S2 0 0 1 00 g g pr 0 SC1C1 C2C2 C3C3 S1S1 0001 S2S2 S3S3 00 00 01 S1S1 C0C0 C1C1 C2C2 C3C3 00 00 p
38
38 S C1C1 C2C2 C3C3 0123 0 ggp Build a 4 x 256 rectangle: t = 2 C0C0 g gg S3S3 S2S2 0 0 1 00 g g pr 0 SC1C1 C2C2 C3C3 S1S1 0001 S2S2 S3S3 00 00 01 S1S1 C0C0 C1C1 C2C2 C3C3 00 00 p 11 00 00 12 23
39
39 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 01 S1S1 p
40
40 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 01 S1S1
41
41 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P 01 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 01 S1S1
42
42 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P 01 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 01 S1S1 R
43
43 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P 01 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 01 S1S1 R C0C0 C1C1 C2C2 …
44
44 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 SC0C0 C1C1 C2C2 C3C3 S1S1 0001 C1C1 C2C2 C3C3 1122331223 S2S2 S3S3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P 01 R … 00 11 0000 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 01 S1S1
45
45 S C1C1 C2C2 C3C3 0123 0 ggp 12 P p 3 Build a 4 x 256 rectangle: t = 2 C0C0 g gg R 0 p r r S3S3 S2S2 0 0 1 23 00 g g pr 0 01 223P P P 33 33 33 33 33 212 33 33 33 33 1101 33 33 33 33 00 33 33 32 RP 333 2 3 3 2 3 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 C0C0 C1C1 C2C2 C3C3 S1S1
46
46 Building k x n Rectangles k-digit, base n (1/k) counter: Tile Complexity: n k
47
47 two temperatures 3 3 3 1 t = 4 n
48
48 t = 4 6 two temperatures n
49
49 n Tile Complexity: two temperatures t = 4 6 j = log n / (log log n – log log log n)
50
50 two temperatures 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]
51
51 Programmable, General Purpose Tile Set?...
52
52 Given: n 1011001 log n High Level Approach
53
53 Given: n 1011001 log n temp High Level Approach 1
54
54 Given: n 1011001 log n temp High Level Approach 1 1
55
55 Given: n 1011001 log n temp High Level Approach 10 10
56
56 Given: n 1011001 log n temp High Level Approach 1011... 0 1011010
57
57 temp High Level Approach 01... 1011010 0
58
58 temp High Level Approach 01... 1011010 0
59
59 temp High Level Approach 01... 1011010 0
60
60 Assembly of n x n Squares N - k k
61
61 Assembly of n x n Squares n - k k
62
62 Assembly of n x n Squares n - k k
63
63 Assembly of n x n Squares n - k k Complexity:
64
64 Assembly of n x n Squares n – log n log n Complexity:
65
65 Assembly of n x n Squares n – log n log n Complexity: seed row
66
66 Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1
67
67 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t =
68
68 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t =
69
69 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t =
70
70 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t =
71
71 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t =
72
72 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 1
73
73 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 1
74
74 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0
75
75 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ z
76
76 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
77
77 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
78
78 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
79
79 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
80
80 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
81
81 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z
82
82 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z x
83
83 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = 0 0’ Z 1
84
84 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = Z 1 1’ z
85
85 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = Z 1’
86
86 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = Z 1’ 1
87
87 a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1 t = Z 1’ 1 a Z t = 0 0’
88
88 Goal: 1 0 1 0 0
89
89 a 0 s Goal: 1 0 1 0 0 b temp:
90
90 a 1 s b Goal: 1 0 1 0 0 temp:
91
91 a 1 s Goal: 1 0 1 0 0 b X temp:
92
92 a 1 s Goal: 1 0 1 0 0 b Y temp:
93
93 a 1 s Goal: 1 0 1 0 0 b Y temp: a b
94
94 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0
95
95 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 X
96
96 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b
97
97 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 0
98
98 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1
99
99 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 X
100
100 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b
101
101 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b 0
102
102 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b 0 X
103
103 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b 0 Y a b
104
104 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b 0 Y a b 0
105
105 a 1 s Goal: 1 0 1 0 0 b Y temp: a b 0 Y a b 1 Y a b 0 Y a b 0 X
106
106 1 1 0 0 1 0 0 0 1 1 1 0 1 1
107
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
108 Assembly of n x n Squares n – log n log n
109
109 Assembly of n x n Squares O(log n)
110
110 Assembly of n x n Squares O(log n)
111
111 Results tile complexitytemperature complexity O(1) O(log n) O(1) ( Adleman, Cheng, Goel, Huang STOC 2001 ) n x n squares Temperature Programming
112
112 Results tile complexitytemperature complexity O(1) O(log n) O(1) ( Adleman, Cheng, Goel, Huang STOC 2001 ) ? < log n Smooth Trade off? ? < n x n squares Temperature Programming
113
113 Results tile complexitytemperature complexity O(1) O(log n) O(1) ( Adleman, Cheng, Goel, Huang STOC 2001 ) ? < log n Smooth Trade off? ? < 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 Temperature Programming
114
114 General Shapes? General Scaled Shapes [Soloveichik, Winfree 2004] –O(K s * ) Tile complexity, single temperature Combined with Temperature Programming: –O(1) Tile Complexity –O(K s ) Temperature Complexity General, Constant Scaled Shapes? –O(1) Tile Complexity –O(|S|) Temperature Complexity
115
115 Outline Background, Motivation Model Temperature Programming Probabilistic Programming
116
116 a S Assign Relative Concentrations: Probabilistic Assembly Model bc x d %5 %60 %20 %5
117
117 Probabilistic Assembly Model S a S Tileset = bcx d G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2 %5 %60 %20
118
118 Probabilistic Assembly Model S d a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
119
119 Probabilistic Assembly Model a S d a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
120
120 Probabilistic Assembly Model a S x d a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
121
121 Probabilistic Assembly Model a S x d S d a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
122
122 Probabilistic Assembly Model a S b x d S d a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
123
123 Probabilistic Assembly Model a S bc x d S d Two Terminal Shapes Produced a S Tileset = bcx d %5 %60 %20 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
124
124 a S Tileset = Probabilistic Assembly Model bcx d %5 %60 %20 SS d SS ba.20/.85 = %23.5.60/.85 = %70.6.05/.85 = %5.9 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
125
125 a S Tileset = Probabilistic Assembly Model bcx d %5 %60 %20 SS d SS d a S d b S ba S d a S d bcx %23.5 %70.6 %5.9 %75%25 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
126
126 Generic Tileset for all Squares
127
127 Generic Tileset for Approximate Squares n (1-e)n (1+e)n
128
128 Generic Tileset for Approximate Squares n (1-e)n (1+e)n (e, d) – Approximate Square Assembly Given: - e, d < 0 - integer n Design: A probabilistic tile system that will assemble an n’ x n’ square with: (1-e)n < n’ < (1+e)n With probability at least: 1 - d
129
129 X S Line Estimation of n
130
130 X S S Line Estimation of n
131
131 X S S Line Estimation of n
132
132 X S S Line Estimation of n
133
133 X S S Line Estimation of n
134
134 X S S Line Estimation of n
135
135 X S S Line Estimation of n
136
136 X S S Line Estimation of n
137
137 X S S Line Estimation of n
138
138 X S S Line Estimation of n
139
139 X S S Line Estimation of n
140
140 X S XS Line Estimation of n
141
141 X S XS % c % c/n % c(n-1)/n Line Estimation of n
142
142 X S XS % c % c/n % c(n-1)/n Line Estimation of n E[ Length ] = n Length has Geometric distribution with p = 1/n
143
143 X S XS % c % c/n % c(n-1)/n Line Estimation of n [Becker, Rapaport Remila, 2006] E[ Length ] = n
144
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
145 X S Improved Estimation of n: Binomial Distribution SX
146
146 X S % c % c/L % c(L+1)(n-1)/Ln Improved Estimation of n: Binomial Distribution % c(L+1)/Ln SX Probability of placing a red tile given either a red or green tile is placed: 1/n
147
147 X S % c % c/L % c(L+1)(n-1)/Ln Improved Estimation of n: Binomial Distribution % c(L+1)/Ln SX 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
148 X S % c % c/L % c(L+1)(n-1)/Ln Improved Estimation of n: Binomial Distribution % c(L+1)/Ln SX 1 00 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0 Binary CounterLength: 10000 Reds: 100 1 0 1 1 0 0 0 1 0 0 1 0 1 0
149
149 X S % c % c/L % c(L+1)(n-1)/Ln Improved Estimation of n: Binomial Distribution % c(L+1)/Ln SX 1 00 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0010 0 1 0 1 0 0 Length: 10000 Reds: 100 Compute Length / Reds: 100 Division tiles Estimate for n
150
150 Problem: Estimation Line too Long SX Length >> n : Too long for an n x n square… Chernoff Bounds only yield high accuracy for Length >> n
151
151 S Multiple lines = HEIGHT: Determined by Geometric Distribution WIDTH: Determined by Geometric Distribution Solution: Estimation Frame Phase 1: Build dimensions of frame.
152
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
153 S 0 1 0 1 1 Sum Reds 0 1 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
154 S 0 1 0 1 1 Sum Reds 0 1 111 Sum Subtotals 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
155 S 0 1 0 1 1 Sum Reds 0 1 111 Sum Subtotals Divide: Length / Reds 1 0 0 1 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 OUTPUT Estimation
156
156 HEIGHT WIDTH Solution: Estimation Frame With high probability: HEIGHT > n Chernoff Bounds imply: Estimation is accurate with high probability: (1-epsilon)n’ < n < (1+ epsilon) n’
157
157 10110110 Finish off Square Output n approximation
158
158 Binary Counter 10110110 n n Finish off Square Output n approximation
159
159 We have a fixed size O(1) tileset that: -For any given e, d - n > C( e, d ) We can assign percentages such that: With probability at least 1- d, a size n’ x n’ square is assembled with ( 1- e )n < n’ < ( 1+ e )n Binary Counter 10110110 n n Result:
160
160 Probabilistic Results Generic size O(1) tileset that builds (e, d)- 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
161 Thanks for Listening Questions? Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: schwellerr@cs.northwestern.eduschwellerr@cs.northwestern.edu http://www.cs.northwestern.edu/~schwellerr/
162
162 Outline Background, Motivation Model Temperature Programming Probabilistic Programming Staged Assembly Overview of Additonal Work Future Work
163
163 Staged Assembly Assembly occurs in a sequence of stages, and assemblies can be separated into separate bins
164
164 Staged Assembly Assembly occurs in a sequence of stages, and assemblies can be separated into separate bins
165
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
166 Staged Assembly Assembly occurs in a sequence of stages, and assemblies can be separated into separate bins Bins = Space Complexity Stages = Time Complexity Bin Complexity: 4 Stage Complexity: 3
167
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 DemaineMIT Martin DemaineMIT Sandor FeketeTU-BS Diane SouvaineTufts Mashood IshaqueTufts Eynat RafalinGoogle
168
168 1 a 0 A 11 aAaA bBbBbB 1110 0 1 Staged Assembly Fixed size particle set: aA d D d D d D 0 1 0 0 0 1 01000 c C 1 c C 1 c C 0 0 00 Macro Tile 1 Macro Tile 2 Large Alphabet of Macro Glues: Large Macro Tileset:
169
169 Staged Assembly Fixed size particle set: Large Alphabet of Macro Glues: Complex Shapes: 1 a 0 A 11 aAaA bBbBbB 1110 0 1 aA d D d D d D 0 1 0 0 0 1 01000 c C 1 c C 1 c C 0 0 00 Macro Tile 1 Macro Tile 2 Large Macro Tileset:
170
170 Laboratory Assembly Fixed size particle set: Large Alphabet of Macro Glues: Complex Shapes: Large Macro Tileset: AG C T 1 a 0 A 11 aAaA bBbBbB 1110 0 1 aA d D d D d D 0 1 0 0 0 1 01000 c C 1 c C 1 c C 0 0 00 Macro Tile 1 Macro Tile 2
171
171 Outline Background, Motivation Model Temperature Programming Probabilistic Programming Staged Assembly Overview of Additonal Work –DNA Strand Design –Shape Verification Future Work
172
172 Glue Design ACGGTTGCCA GGGAT GTTGG CGTAC GACTC CCCTA CAACC GCATG CTGAG
173
173 Glue Design- Standard ACGGTTGCCA GGGAT GTTGG CGTAC GACTC CCCTA CAACC GCATG CTGAG
174
174 Glue Design- Standard ACGGTTGCCA GGGAT GTTGG CGTAC GACTC CCCTA CAACC GCATG CTGAG
175
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, Schweller ICALP 2006]
176
176 Flexible Glue Design
177
177 Flexible Glue Design
178
178 Flexible Glue Design Tile Complexity for n x n squares [ Adleman, Cheng, Goel, Huang ] Flexible Glue: Standard: [Aggarwal, Kao, Goldwasser, Schweller, SODA 2004] Our paper on Flexible Codeword Design: [Kao, Sanghi, Schweller, ISAAC 2006]
179
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
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
181 * Shape Verification: Unique-Shape Model
182
182 * x1x1 x2x2 x3x3 * Shape Verification: Unique-Shape Model
183
183 * x1x1 x2x2 x3x3 * *c2c2 c1c1 c3c3 * Shape Verification: Unique-Shape Model
184
184 * x1x1 x2x2 x3x3 * *c2c2 c1c1 c3c3 * x x x 1 0 x x Shape Verification: Unique-Shape Model
185
185 * x1x1 x2x2 x3x3 * *c2c2 c1c1 c3c3 * 0 1 1 Shape Verification: Unique-Shape Model
186
186 * x1x1 x2x2 x3x3 * *c2c2 c1c1 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
187
187 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
188
188 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
189
189 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
190
190 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
191
191 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
192
192 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
193
193 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 Shape Verification: Unique-Shape Model
194
194 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 * * * * Shape Verification: Unique-Shape Model
195
195 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 * * * *T Shape Verification: Unique-Shape Model
196
196 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 * * * *TT Shape Verification: Unique-Shape Model
197
197 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 * * * *TTT Shape Verification: Unique-Shape Model
198
198 * x1x1 x2x2 x3x3 * * ok c2c2 c1c1 c2c2 c2c2 c3c3 * c1c1 0 1 1 * * * *TTTSAT Satisfied (LaBean and Lagoudakis, 1999) Shape Verification: Unique-Shape Model
199
199 x1x1 ** x2x2 x3x3 **TTT ok c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 1 1 SAT x1x1 ** x2x2 x3x3 ** ok c2c2 c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 0 1 Satisfied (LaBean and Lagoudakis, 1999) Shape Verification: Unique-Shape Model
200
200 x1x1 ** x2x2 x3x3 **TTT ok c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 1 1 SAT x1x1 ** x2x2 x3x3 **T ok c2c2 c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 0 1 Satisfied (LaBean and Lagoudakis, 1999) Shape Verification: Unique-Shape Model
201
201 x1x1 ** x2x2 x3x3 **TTT ok c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 1 1 SAT x1x1 ** x2x2 x3x3 **TF ok c2c2 c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 0 1 Satisfied (LaBean and Lagoudakis, 1999) Shape Verification: Unique-Shape Model
202
202 x1x1 ** x2x2 x3x3 **TTT ok c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 1 1 SAT x1x1 ** x2x2 x3x3 **TFF ok c2c2 c2c2 c1c1 c2c2 c2c2 c3c3 * * * * c1c1 0 0 1 Satisfied Not Satisfied (LaBean and Lagoudakis, 1999) Shape Verification: Unique-Shape Model
203
203 TT ok c2c2 SAT * * T ok *T x3x3 x2x2 x1x1 1 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * TF c2c2 c2c2 NO * * T ok *T x3x3 x2x2 x1x1 0 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * Satisfied Not Satisfied Shape Verification: Multiple Temperature Model
204
204 TT ok c2c2 SAT * * T ok *T x3x3 x2x2 x1x1 1 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * TT c2c2 NO * * T ok *T x3x3 x2x2 x1x1 1 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * Satisfied Not Satisfied Shape Verification: Multiple Temperature Model
205
205 TT ok c2c2 SAT * * T ok *T x3x3 x2x2 x1x1 1 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * TT c2c2 NO * * T ok *T x3x3 x2x2 x1x1 1 1 0 c1c1 c1c1 ** c2c2 *c2c2 c3c3 * Satisfied Not Satisfied Shape Verification: Multiple Temperature Model
206
206 * x3x3 x2x2 x1x1 * * x3x3 x2x2 x1x1 * Satisfied Not Satisfied Shape Verification: Multiple Temperature Model
207
207 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * *c1c1 c2c2 c3c3 * FFT NO * Shape Verification: Multiple Temperature Model
208
208 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 *c1c1 c2c2 c3c3 ** FFT NO ** Shape Verification: Multiple Temperature Model
209
209 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 *** FFT NO **FFF Shape Verification: Multiple Temperature Model
210
210 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... Shape Verification: Multiple Temperature Model
211
211 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... Shape Verification: Multiple Temperature Model
212
212 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... Shape Verification: Multiple Temperature Model
213
213 * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 TTT SAT **FFF NO * *FTT... Shape Verification: Multiple Temperature Model
214
214 * x1x1 x2x2 x3x3 * * x1x1 x2x2 x3x3 * Satisfiable Not Satisfiable Shape Verification: Multiple Temperature Model
215
215 Input Shape: Shape Verification: Multiple Temperature Model
216
216 Input Shape: * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... Shape Verification: Multiple Temperature Model
217
217 Input Shape: * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 FFT NO **FFF * *FTT... Equivalent to Co-SAT Co-NP-hard Shape Verification: Multiple Temperature Model
218
218 Input Shape: Shape Verification: Multiple Temperature Model
219
219 Input Shape: * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 TTT SAT **FFF NO * *FTT... Shape Verification: Multiple Temperature Model
220
220 Input Shape: Equivalent to SATNP-hard * x1x1 x2x2 x3x3 * 0 0 0 c1c1 ok c2c2 c2c2 * * * 1 0 0 c1c1 c1c1 c1c1 c2c2 c2c2 c2c2 * * * 0 1 0 *c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 **** * * * 1 1 1 ** c1c1 c2c2 c2c2 * * * c1c1 c2c2 c3c3 * c3c3 c3c3 c3c3 TTT SAT **FFF NO * *FTT... Shape Verification: Multiple Temperature Model
221
221 Shape Verification Results StandardP Flexible GlueP Multiple Temperature NP-hard Co-NP-hard Unique ShapeCo-NPC Multiple Tile NP-hard Co-NP-hard (Adleman, Cheng, Goel, Huang, Kempe, Espanes, Rothemund, STOC 2002)
222
222 Outline Background, Motivation Model Temperature Programming Probabilistic Programming Overview of Additonal Work Future Work
223
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
224 Shape Replication
225
225 Shape Replication drop temperature
226
226 Shape Replication drop temperature
227
227 Shape Replication drop temperature raise temperature
228
228 Shape Replication drop temperature raise temperature drop temperature
229
229 Shape Replication
230
230 Shape Replication
231
231 Shape Replication raise temperature
232
232 Shape Replication raise temperature drop temperature
233
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.