Download presentation
Presentation is loading. Please wait.
Published byKelley Andrews Modified over 5 years ago
1
Complexities for the Design of Self-Assembly Systems
May 3, 2006 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University
2
Outline Background, Motivation Model Temperature Programming
Flexible Glue Self-Assembly Shape Verification Future Work
3
Molecular Building Blocks
T G C G A C G C
4
Molecular Building Blocks
[John Reif’s Group, Duke University]
5
DNA Scaffolding [Sung Ha Park, Constantin Pistol, Sang Jung Ahn, John H. Reif, Alvin R. Lebeck, Chris Dwyer, and Thomas H. LaBean, 2006]
6
Simulation of Cellular Automata
Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004) 340nm
7
Outline Background, Motivation Model Temperature Programming
Shape Verification Flexible Glue Self-Assembly Future Work
8
Tile Model of Self-Assembly
(Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile
9
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
10
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
11
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
12
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
13
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
14
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
15
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
16
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
17
How a tile system self assembles
G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
18
Each Shape Requires a Distinct Tile Set
19
Programmable, General Purpose Tile Set?
20
Programmable, General Purpose Tile Set?
. . .
21
Outline Background, Motivation Model Temperature Programming
Flexible Glue Self-Assembly Shape Verification Future Work
22
Multiple Temperature Model
- temperature may go up and down
23
Multiple Temperature Model
- temperature may go up and down t < t1 , t2 , ... , tr-1 , tr >
24
Multiple Temperature Model
- temperature may go up and down t < t1 , t2 , ... , tr-1 , tr > Tile Complexity: Number of Tiles Temperature Complexity: Number of Temperatures
25
Building k x n Rectangles
k-digit, base n(1/k) counter: k n
26
Building k x n Rectangles
k-digit, base n(1/k) counter: k If N is the kth power of some integer, then you choose a base that is big enough and then seed the counter to an appropriate value. Note that for k<<N, N^1/k dominates. n Tile Complexity:
27
two temperatures t = 4 3 1 3 3 n
28
two temperatures t = n
29
two temperatures Tile Complexity: t = n
30
two temperatures Tile Complexity: n Kolmogorov Complexity
(Rothemund, Winfree STOC 2000) Beats Standard Model
31
Programmable, General Purpose Tile Set?
. . .
32
High Level Approach Given: n log n
33
High Level Approach Given: n log n 1 temp
34
High Level Approach Given: n log n 1 temp 1
35
High Level Approach Given: n log n 1 temp 1
36
High Level Approach Given: n 1011001 log n 1 1 1 . . . . . . temp 1 1
1 1 . . . . . . temp 1 1 1 1
37
High Level Approach . . . 1 . . . temp 1 1 1 1
38
High Level Approach . . . 1 . . . temp 1 1 1 1
39
High Level Approach . . . 1 . . . temp 1 1 1 1
40
Assembly of n x n Squares
N - k k
41
Assembly of n x n Squares
n - k k
42
Assembly of n x n Squares
n - k k
43
Assembly of n x n Squares
n - k Complexity: k
44
Assembly of n x n Squares
n – log n Complexity: log n
45
Assembly of n x n Squares
n – log n Complexity: seed row log n
46
Encoding a Single Bit 1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g
47
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
48
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
49
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
50
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
51
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
52
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 1 z Z g g g g g g g g a g g a
53
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 1 z Z g g g g g g g g a g g a
54
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z z Z g g g g g g g g
1 1 0’ 1’ z z 1 z Z g g g g g g g g a g g a
55
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z z Z g g g g g g
1 1 0’ 1’ z z 1 0’ z z Z g g g g g g g g a g g a
56
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
57
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
58
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
59
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
60
Encoding a Single Bit t = < 2 > 1 0’ 1’ z z 0’ z Z g g Z g g g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
61
Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ z z 0’ z Z g g Z g g
1 1 0’ 1’ z z 1 0’ z Z g g Z g g g g g g a g g a
62
Encoding a Single Bit t = < 2, 5 > x 1 0’ 1’ z z 0’ z Z g g Z g
1 1 0’ 1’ z z 1 x 0’ z Z g g Z g g g g g g a g g a
63
Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 0’ z z z Z g g Z g g
1 1 0’ 1’ 0’ z z 1 1 z Z g g Z g g g g g g a g g a
64
Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 1’ z z z z Z g g Z g
1 1 0’ 1’ 1’ z z 1 1 z z Z g g Z g g g g g g a g g a
65
Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ z z 1’ z Z g g Z g g
1 1 0’ 1’ z z 1 1’ z Z g g Z g g g g g g a g g a
66
Encoding a Single Bit t = < 2, 5 > 1 0’ 1’ 1 z z 1’ z Z g g Z g
1 1 0’ 1’ 1 z z 1 1’ z Z g g Z g g g g g g a g g a
67
Encoding a Single Bit t = < 2, 5 > t = < 2 > 1 0’ 1’ 1 z z
1 1 0’ 1’ 1 z z 1 0’ 1’ z Z g g Z Z g g g g g g a g g a a
68
Goal:
69
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > a s b
70
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s b
71
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s X b
72
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a s Y b
73
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y b b
74
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y b b
75
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a s Y X b b
76
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a a s Y Y b b b
77
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 a a a s Y Y b b b
78
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a s Y Y b b b
79
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a s Y Y X b b b
80
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y b b b b
81
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y b b b b
82
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a s Y Y Y X b b b b
83
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y b b b b b
84
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y b b b b b
85
Goal: temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 > 1 1 a a a a a s Y Y Y Y X b b b b b
88
Assembly of n x n Squares
n – log n log n
89
Assembly of n x n Squares
O(log n)
90
Assembly of n x n Squares
O(log n)
91
Results O(1) n x n squares O(log n) O(1) tile complexity
temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1)
92
Results O(1) n x n squares O(log n) O(1) ? < ? < log n
tile complexity temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1) Smooth Trade off? ? < ? < log n
93
Results O(1) n x n squares O(log n) O(1) ? < ? < log n
tile complexity temperature complexity Temperature Programming O(1) O(log n) (Adleman, Cheng, Goel, Huang STOC 2001) O(1) Smooth Trade off? ? < ? < log n For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously
94
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(|S|) Temperature Complexity Multiple temperature model raising and lowering temperature multiple times monotonically increasing temperatures Time complexity versus tile complexity multiple tile model and time complexity
95
Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work
96
Only identical glues attract
G(y,y) = 2 G(g,g) = 2 G(r,r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
97
Only identical glues attract
G(y,y) = 2 G(g,g) = 2 G(r,r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T = We don’t have: G(p,b) = 1
98
Flexible Glue Model Substantial Reduction in Tile Complexity
Remove the restriction that G(x, y) = 0 for x!=y Substantial Reduction in Tile Complexity Design of Flexible glues
99
n x n Squares --- Flexible Glue Model
Kolmogorov lower bounds: Standard (Rothemund, Winfree STOC 2000) Flexible Standard Glue Function Flexible Glue Function a b c d e f a b c d e f a b c d e f a b c d e f
100
Assembly of n x n Squares
n – log n Complexity: seed row log n
101
n x n Square --- Flexible Glue Model
goal: - seed binary counter to a given value - 1 1 1 1 1 1 1 1 1 1 1 All the complexity is coming from that damn seed row! 2 log n
102
n x n Square --- Flexible Glue Model
5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 1 2 3 4 5 1 2 3 4 5 All the complexity is coming from that damn seed row!
103
n x n Square --- Flexible Glue Model
key idea: 5 | | | | | | | | | | | | | 5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 1 2 3 4 5 1 2 3 4 5 All the complexity is coming from that damn seed row!
104
n x n Square --- Flexible Glue Model
G(b4, p5) = 1 G(b4, w5) = 0 5 p5 5 5 5 5 w5 b4 1 2 3 4 5
105
n x n Square --- Flexible Glue Model
5 given B = … encode B into glue function p5 b4 4 p0 p1 p2 p3 p4 p5 b b b b b b B = …
106
n x n Square --- Flexible Glue Model
build block Complexity:
108
Assembly of n x n Squares
n – log n 2 x log n block log n
109
Assembly of n x n Squares
Complexity: O(log n)
110
Assembly of n x n Squares
Tile Complexity for n x n squares Flexible Glue: (Adleman, Cheng, Goel, Huang STOC 2001) Standard:
111
Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Reduced Tile Complexity Glue Design Shape Verification Future Work
112
Glue Design ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG GACTC
CTGAG
113
Glue Design- Standard ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG
GACTC CTGAG
114
Glue Design- Standard ACGGT TGCCA GGGAT CCCTA GTTGG CAACC CGTAC GCATG
GACTC CTGAG
115
Glue Design- Standard ACGGT
Design n strings such that each pair of strings has Hamming distance at least . GGGAT GTTGG CGTAC GACTC
116
Flexible Glue Design
117
Flexible Glue Design
118
Flexible Glue Design
119
Flexible Glue Design if (u,v) G, HD((u), (v)) ≤
Input: - Graph G(V,E) - separation parameter Output: A -labeling: A labeling :V→{0,1}* such that for some , , - , if (u,v) G, HD((u), (v)) ≤ if (u,v) G, HD((u), (v)) Minimize label length
120
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
121
Graph Decomposition Strategy: - Decompose graph - Label each Subgraph
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Strategy: - Decompose graph - Label each Subgraph - Concatenate labels
122
Graph Decomposition Strategy: - Decompose graph - Label each Subgraph
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Strategy: - Decompose graph - Label each Subgraph - Concatenate labels
123
Graph Decomposition Need Exact -labeling:
Each pair of non-adjacent nodes have exactly the same Hamming distance. Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
124
Exact -labeling for Matchings
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
125
Exact -labeling for Matchings
Hadamard Code (n, ) Example: n=8, =4 Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Hamming Distance: Exactly Word Length: O(n + )
126
Exact -labeling for Matchings
Hadamard Code (n, ) Example: n=8, =4 Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Hamming Distance: Exactly Word Length: O(n + )
127
Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
128
Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
129
Matching Decomposition
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Length per Matching: O(n + ) Number of Matchings: O(D) Label Length: O(Dn + D)
130
Tough Example Label Length: O(Dn + D) Length per Matching: O(n + )
Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems Length per Matching: O(n + ) Number of Matchings: O(D) Label Length: O(Dn + D)
131
Star Graphs length O(n) exact -labeling
Star Graph: All edges are adjacent to the same vertex - Non-trivial application of the Hadamard Code yields: length O(n) exact -labeling Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
132
Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
133
Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
134
Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
135
Star Destroyer 1. Decompose graph into “large” stars:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star 2. Decompose remaining graph into matchings: - O(n+) length per matching Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
136
Star Destroyer Star Destoyer yields length:
Algorithm Star Destroyer 1. Decompose graph into “large” stars: - O(n) length per star 2. Decompose remaining graph into matchings: - O(n+) length per matching Generalization over the standard coding theory problem where we want the hamming distance between all nodes to be large Relationship with graph labeling problems
137
Flexible Word Design Results
Word Length Matching Algorithm General Graphs Star Destoyer Other Work -Trees, Lines and Rings -Distance Labeling -Application to applying DNA computing to digital signal processing
138
Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work
139
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
140
Shape Verification: Unique-Shape Model
*
141
Shape Verification: Unique-Shape Model
* x3 x2 x1 *
142
Shape Verification: Unique-Shape Model
* x3 x2 x1 * * c1 c2 c3 *
143
* 1 x3 x2 x1 * * c1 c2 c3 * Shape Verification: Unique-Shape Model x x
x x2 x x1 x * * c1 c2 c3 *
144
Shape Verification: Unique-Shape Model
* x3 1 x2 1 x1 * * c1 c2 c3 *
145
Shape Verification: Unique-Shape Model
* x3 1 x2 1 x1 c1 * * c1 c2 c3 *
146
Shape Verification: Unique-Shape Model
* x3 1 x2 1 ok x1 c1 * * c1 c2 c3 *
147
Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok x1 c1 * * c1 c2 c3 *
148
Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok x1 c1 c2 * * c1 c2 c3 *
149
Shape Verification: Unique-Shape Model
* x3 1 ok x2 1 ok c2 x1 c1 c2 * * c1 c2 c3 *
150
Shape Verification: Unique-Shape Model
* x3 1 ok ok x2 1 ok c2 x1 c1 c2 * * c1 c2 c3 *
151
* x3 1 ok ok x2 1 ok c2 x1 c1 c2 ok * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * x3 1 ok ok x2 1 ok c2 x1 c1 c2 ok * * c1 c2 c3 *
152
* x3 1 ok ok ok x2 1 ok c2 ok x1 c1 c2 ok * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * x3 1 ok ok ok x2 1 ok c2 ok x1 c1 c2 ok * * c1 c2 c3 *
153
* * x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
154
* * T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
155
* * T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
156
* * T T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Unique-Shape Model * * T T T x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
157
Satisfied * * T T T SAT x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok *
Shape Verification: Unique-Shape Model * * T T T SAT x3 1 ok ok ok * x2 1 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)
158
Satisfied * * T T T SAT * * x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2
Shape Verification: Unique-Shape Model * * T T T SAT * * x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)
159
Satisfied * * T T T SAT * * T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2
Shape Verification: Unique-Shape Model * * T T T SAT * * T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)
160
Satisfied * * T T T SAT * * T F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok
Shape Verification: Unique-Shape Model * * T T T SAT * * T F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied (LaBean and Lagoudakis, 1999)
161
Not Satisfied Satisfied * * T T T SAT * * T F F x3 1 ok ok ok * x3 ok
Shape Verification: Unique-Shape Model * * T T T SAT * * T F F x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied (LaBean and Lagoudakis, 1999)
162
* T T T T * T T F T x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1
Shape Verification: Multiple Temperature Model * T T T T SAT * T T F T NO x3 1 ok ok ok * x3 ok c2 ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied
163
* T T T T * T T T T x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2
Shape Verification: Multiple Temperature Model * T T T T SAT * T T T T NO x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied
164
* T T T T * T T T T x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2
Shape Verification: Multiple Temperature Model * T T T T SAT * T T T T NO x3 1 ok ok ok * x3 1 ok ok ok * x2 1 ok c2 ok * x2 1 ok c2 ok * x1 c1 c2 ok * x1 c1 c2 ok * * * c1 c2 c3 * * * c1 c2 c3 * Satisfied Not Satisfied
165
* * x3 x3 x2 x2 x1 x1 * * Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model * * x3 x3 x2 x2 x1 x1 * * Satisfied Not Satisfied
166
* * T F F x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
Shape Verification: Multiple Temperature Model * * T F F NO x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * * * c1 c2 c3 *
167
Shape Verification: Multiple Temperature Model
* * T F F NO * x3 ok c2 ok * x2 ok c2 ok * x1 c1 c2 ok * 1 * * c1 c2 c3 * *
168
Shape Verification: Multiple Temperature Model
* * T F F NO * F F F NO x3 ok c2 ok * c1 c2 ok * x2 ok c2 ok * c1 c2 ok * x1 c1 c2 ok * 1 c1 c2 ok * * * c1 c2 c3 * * c1 c2 c3 *
169
... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
170
... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
171
... Shape Verification: Multiple Temperature Model * * T F F * F F F *
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
172
... ... Shape Verification: Multiple Temperature Model * * T F F * F F
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * * * T T T SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
173
Not Satisfiable Satisfiable
Shape Verification: Multiple Temperature Model * x3 Not Satisfiable x2 x1 * * x3 Satisfiable x2 x1 *
174
Shape Verification: Multiple Temperature Model
Input Shape:
175
Input Shape: Shape Verification: Multiple Temperature Model ... * * T
NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * x2 ok c2 ok * c1 c2 ok * 1 ... * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
176
Input Shape: Co-NP-hard Equivalent to Co-SAT
Shape Verification: Multiple Temperature Model Input Shape: * * T F F NO * F F F NO * NO * T T F NO x3 ok c2 ok * c1 c2 ok * * 1 ok ok c3 * x2 ok c2 ok * c1 c2 ok * 1 ... * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * Co-NP-hard Equivalent to Co-SAT
177
Shape Verification: Multiple Temperature Model
Input Shape:
178
Input Shape: Shape Verification: Multiple Temperature Model ... * * T
SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 *
179
Input Shape: Equivalent to SAT NP-hard
Shape Verification: Multiple Temperature Model Input Shape: * * T T T SAT * F F F NO * NO * T T F NO x3 ok ok ok * c1 c2 ok * * 1 ok ok c3 * ... x2 ok c2 ok * c1 c2 ok * 1 * 1 ok c2 c3 * x1 c1 c2 ok * 1 c1 c2 ok * * 1 c1 c2 c3 * * * c1 c2 c3 * * c1 c2 c3 * * * * c1 c2 c3 * Equivalent to SAT NP-hard
180
Shape Verification Results
Standard P Flexible Glue P Multiple Temperature NP-hard Co-NP-hard Unique Shape Co-NPC Multiple Tile NP-hard (Adleman, Cheng, Goel, Huang, Kempe, Espanes, Rothemund, STOC 2002)
181
Outline Background, Motivation Model and Basics
Temperature Programming Flexible Glue Self-Assembly Shape Verification Future Work
182
Shape Replication
183
Shape Replication drop temperature
184
Shape Replication drop temperature
185
Shape Replication drop temperature raise temperature
186
Shape Replication drop temperature raise temperature drop temperature
187
Shape Replication
188
Shape Replication
189
Shape Replication raise temperature
190
Shape Replication raise temperature drop temperature
191
Assembly takes place in stages, each stage with a different tile set
Staged Assembly Assembly takes place in stages, each stage with a different tile set Large drops in Tile Complexity Filter-Free Staged Assembly Can only add tiles, never remove Still, large drops in Complexity
192
Future Work Lab Work Experimental tests for Temperature Programming
Flexible Glue Design
193
Thanks for Listening Questions?
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.