may 3, 2006
DESCRIPTION
Complexities for the Design of Self-Assembly Systems. May 3, 2006. Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/. Outline. Background, Motivation Model - PowerPoint PPT PresentationTRANSCRIPT
1
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]
http://www.cs.northwestern.edu/~schwellerr/
May 3, 2006
Complexities for the Design of Self-Assembly Systems
2
Outline
• Background, Motivation
• Model
• Temperature Programming
• Flexible Glue Self-Assembly
• Shape Verification
• Future Work
3
A C
G C
T G C G
Molecular Building Blocks
4
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
[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
Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004)
340nm
Simulation of Cellular Automata
7
Outline
• Background, Motivation
• Model
• Temperature Programming
• Shape Verification
• Flexible Glue Self-Assembly
• Future Work
8
},...,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
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
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
Multiple Temperature Model
- temperature may go up and down
23
Multiple Temperature Model
Multiple Temperature Model
- temperature may go up and down
},,,{ sTGtt
< t1 , t2 , ... , tr-1 , tr >
24
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
25
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
26
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
27
two temperatures
3
3
3
1
t = 4
k
N
j
k
N
j
n
28
t = 4 6
k
N
j
two temperatures
n
29
)nO(j 1/j
)n loglog
n logO(k
N
j
n
Tile Complexity:
two temperaturest = 4 6
30
)nO(j 1/j
)n loglog
n logO(
)n loglog
n logΩ(Kolmogorov Complexity (Rothemund,
Winfree STOC 2000)
Beats Standard Model )k
nΩ(
1/k
k
N
j
n
Tile Complexity:
two temperaturest = 4 6
31
Programmable, General Purpose Tile Set?
. . .
32
Given: n 1011001
log n
High Level Approach
33
Given: n 1011001
log nte
mp
High Level Approach
1
34
Given: n 1011001
log nte
mp
High Level Approach
1
1
35
Given: n 1011001
log nte
mp
High Level Approach
1 0
1 0
36
Given: n 1011001
log nte
mp
High Level Approach
1 0 1 1 . . .
. . .
0
1 0 1 1 0 10
37
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
38
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
39
tem
pHigh Level Approach
0 1. . .
. . .
1 0 1 1 0 10
0
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
k
)( /1 knkO
Complexity:
44
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
45
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
seed row
46
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
47
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 >
48
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 >
49
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 >
50
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 >
51
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 >
52
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
53
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
54
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
55
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
56
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
57
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
58
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
59
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
60
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
61
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
62
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
63
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
64
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
65
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’
66
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
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, 5 >
Z
1’
1
a
Z
t = < 2 >
0
0’
68
Goal: 1 0 1 0 0
69
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 >
70
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 >
71
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 >
72
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 >
73
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
74
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
75
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
76
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
77
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
78
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
79
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
80
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
81
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
82
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
83
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
84
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
85
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
86
1 1 0 0 1 0 0 0 1 1 1 0 1 1
87
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
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
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
92
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
93
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
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(1) Tile Complexity– O(|S|) Temperature Complexity
95
Outline
• Background, Motivation
• Model and Basics
• Temperature Programming
• Flexible Glue Self-Assembly
• Shape Verification
• Future Work
96
S a b
c
d
x x
x x
Only identical glues attract
x dc
baST = G(y,y) = 2G(g,g) = 2G(r,r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
97
S a b
c
d
x x
x x
Only identical glues attract
x dc
baST = G(y,y) = 2G(g,g) = 2G(r,r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
We don’t have:G(p,b) = 1
98
Flexible Glue Model
Remove the restriction that G(x, y) = 0 for x!=y
• Substantial Reduction in Tile Complexity
• Design of Flexible glues
yx
99
n x n Squares --- Flexible Glue Model
a b c d e fa 1 0 2 0 0 1b 0 0 1 0 1 0c 0 0 3 0 1 1d 2 2 2 2 0 1e 0 0 0 1 2 1f 1 1 2 2 1 1
a b c d e fa 1 - - - - -b - 0 - - - -c - - 3 - - -d - - - 2 - -e - - - - 2 -f - - - - - 1
Standard Glue Function Flexible Glue Function
Kolmogorov lower bounds:
)loglog
log(
n
n
)log( n
Standard
Flexible
(Rothemund, Winfree STOC 2000)
100
Assembly of n x n Squares
n – log n
log n)(log)(
2
log
/1
/1
nOnkO
n
nk
k
k
Complexity:
seed row
101
n x n Square --- Flexible Glue Model
goal: - seed binary counter to a given value
-
2
log n
0 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1 1
)log( nO
102
. . . 3 3 3 4 4 4 4 4 4 5 5 5 53 4 5 0 1 2 3 4 5 0 1 2 3 4 5
5
n x n Square --- Flexible Glue Model
103
. . . 3 3 3 4 4 4 4 4 4 5 5 5 53 4 5 0 1 2 3 4 5 0 1 2 3 4 5
0 0 1 1 0 1 1 0 0 1 1 1 0 | | | | | | | | | | | | |
5
5
n x n Square --- Flexible Glue Model
key idea:
104
4 53
555
21b4
5
5
w5
p5
G(b4, p5) = 1G(b4, w5) = 0
n x n Square --- Flexible Glue Model
105
p0 p1 p2 p3 p4 p5b0 0 1 1 0 1 1b1 1 1 0 1 0 1b2 0 1 0 1 1 1b3 0 0 1 0 1 0b4 0 0 0 0 0 1b5 1 1 1 1 1 0
• given B = 011011 110101 010111 …
• encode B into glue function
B = 011011 110101 010111 …
n x n Square --- Flexible Glue Model
4b4
5p5
106
• Complexity: )log( nO
0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1
nlog2• build block
n x n Square --- Flexible Glue Model
107
0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 00 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 10 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0
108
Assembly of n x n Squares
n – log n
log n
2 x log n block
109
Assembly of n x n Squares
O(log n)
)log( N
Complexity:
110
)n loglog
n log( (Adleman, Cheng,
Goel, Huang STOC 2001)
Tile Complexity for n x n squares
)n log(Flexible Glue:
Standard:
Assembly of n x n Squares
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
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
113
Glue Design- Standard
ACGGT TGCCA
GGGAT
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
114
Glue Design- Standard
ACGGT TGCCA
GGGAT
GTTGG
CGTAC
GACTC
CCCTA
CAACC
GCATG
CTGAG
115
Glue Design- Standard
ACGGT
GGGAT
GTTGG
CGTAC
GACTC
Design n strings such that each pair of strings has Hamming distance
at least .
116
Flexible Glue Design
117
Flexible Glue Design
118
Flexible Glue Design
119
Flexible Glue Design
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
121
Graph Decomposition
Strategy:- Decompose graph- Label each Subgraph- Concatenate labels
122
Graph Decomposition
Strategy:- Decompose graph- Label each Subgraph- Concatenate labels
123
Graph Decomposition
Need Exact -labeling:Each pair of non-adjacent nodes haveexactly the same Hamming distance.
124
Exact -labeling for Matchings
125
Exact -labeling for Matchings
00000001111000001111011001100101011101001101101011001101
Hamming Distance:
Exactly
Word Length: O(n + )
Hadamard Code (n, )
Example: n=8, =4
126
Exact -labeling for Matchings
Hadamard Code (n, )
Example: n=8, =4
00000001111000001111011001100101011101001101101011001101
Hamming Distance:
Exactly
Word Length: O(n + )
127
Matching Decomposition
128
Matching Decomposition
129
Matching Decomposition
Length per Matching: O(n + )Number of Matchings: O(D)
Label Length: O(Dn + D)
130
Tough Example
Length per Matching: O(n + )Number of Matchings: O(D)
Label Length: O(Dn + D)
131
Star Graphs
Star Graph: All edges are adjacent to the same vertex
- Non-trivial application of the Hadamard Code yields:
length O(n) exact -labeling
132
Star Destroyer
Algorithm Star Destroyer
1. Decompose graph into “large” stars:
- O(n) length per star
133
Star Destroyer
Algorithm Star Destroyer
1. Decompose graph into “large” stars:
- O(n) length per star
134
Star Destroyer
Algorithm Star Destroyer
1. Decompose graph into “large” stars:
- O(n) length per star
135
Star Destroyer
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
136
Star Destroyer
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
Star Destoyer yields length:
22 γmnnγm
137
Star Destoyer )γmnnγmO( 22
Matching Algorithm
) DγDn O(
Word Length
Flexible Word Design Results
General Graphs
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
)(
)(
)(
321
321
321
xxx
xxx
xxx
141
*
x1
x2
x3
*
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
142
*
x1
x2
x3
*
* c2c1 c3 *
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
143
*
x1
x2
x3
*
* c2c1 c3 *
x
x
x
1
0
x
x
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
144
*
x1
x2
x3
*
* c2c1 c3 *
0
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
145
*
x1
x2
x3
*
* c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
146
*
x1
x2
x3
*
*
ok
c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
147
*
x1
x2
x3
*
*
ok
ok
c2c1 c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
148
*
x1
x2
x3
*
*
ok
ok
c2c1
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
149
*
x1
x2
x3
*
*
ok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
150
*
x1
x2
x3
*
*
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
151
*
x1
x2
x3
*
*
ok
okok
ok
c2c1
c2
c2
c3 *
c10
1
1
)(
)(
)(
321
321
321
xxx
xxx
xxx
Shape Verification: Unique-Shape Model
152
*
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
153
*
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
154
*
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
155
*
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
156
*
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
157
*
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
158
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
159
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
160
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
161
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
162
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
163
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
164
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
165
*
x3
x2
x1
*
*
x3
x2
x1
*
Satisfied Not Satisfied
Shape Verification: Multiple Temperature Model
166
*
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
167
*
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
168
*
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
169
*
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
170
*
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
171
*
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
172
*
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
173
*
x1
x2
x3
*
*
x1
x2
x3
*
Satisfiable
Not Satisfiable
Shape Verification: Multiple Temperature Model
174
Input Shape:
Shape Verification: Multiple Temperature Model
175
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
176
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
177
Input Shape:
Shape Verification: Multiple Temperature Model
178
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
179
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
180
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)
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
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 . . .
188
Shape Replication
8 9765 4 3 2 1
10 11
12
13 14
1515
15
15
189
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
190
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
191
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
• Lab Work– Experimental tests for Temperature
Programming– Flexible Glue Design
Future Work
193
Thanks for Listening
Questions?
Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]
http://www.cs.northwestern.edu/~schwellerr/