complexities for generalized models of self-assembly
DESCRIPTION
Complexities for Generalized Models of Self-Assembly. Gagan Aggarwal Stanford University Michael H. Goldwasser St. Louis University Ming-Yang Kao Northwestern University Robert T. Schweller Northwestern University. Some results were obtained independantly by Cheng, Espanes 2003. - PowerPoint PPT PresentationTRANSCRIPT
Complexities for Generalized Models of Self-Assembly
Gagan Aggarwal Stanford University
Michael H. Goldwasser St. Louis University
Ming-Yang Kao Northwestern University
Robert T. Schweller Northwestern University
Some results were obtained independantly by Cheng, Espanes 2003
},...,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
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S
S a
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a
c
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a
c
d
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a b
c
d
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a b
c
d
x
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a b
c
d
x x
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a b
c
d
x x
x
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
S a b
c
d
x x
x x
How a tile system self assembles
x dc
baST = G(y,y) = 2G(g,g) = 2G(r, r) = 2G(b,b) = 2G(p,p) = 1G(w,w) = 1
t = 2
New Models• Multiple Temperature Model
– temperature may go up and down
• Flexible Glue Model– Remove the restriction that G(x, y) = 0 for x!=y
• Multiple Tile Model– tiles may cluster together before being added
• Unique Shape Model– unique shape vs. unique supertile
New Models• Multiple Temperature Model
– temperature may go up and down
• Flexible Glue Model– Remove the restriction that G(x, y) = 0 for x!=y
• Multiple Tile Model– tiles may cluster together before being added
• Unique Shape Model– unique shape vs. unique supertile
New Models• Multiple Temperature Model
– temperature may go up and down
• Flexible Glue Model– Remove the restriction that G(x, y) = 0 for x!=y
• Multiple Tile Model– tiles may cluster together before being added
• Unique Shape Model– unique shape vs. unique supertile
New Models• Multiple Temperature Model
– temperature may go up and down
• Flexible Glue Model– Remove the restriction that G(x, y) = 0 for x!=y
• Multiple Tile Model– tiles may cluster together before being added
• Unique Shape Model– unique shape vs. unique supertile
Focus of Talk• Multiple Temperature Model
– Adjust temperature during assembly
• Flexible Glue Model– Remove the restriction that G(x, y) = 0 for x!=y
Goal: Reduce Tile Complexity
Our Tile Complexity Results
Multiple temperature model:
k x N rectangles: )loglog
log(
N
N
beats standard model: )(/1
k
N k
Flexible Glue:
N x N squares: )log( N
beats standard model: )loglog
log(
N
N (Adleman, Cheng,
Goel, Huang STOC 2001)
(our paper)
(our paper)
(our paper)
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
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
)N( /1 kkO Tile Complexity:
N
k
S
C1 C2 C3
0
g g p
Build a 4 x 256 rectangle: t = 2
C0
g
S3
S2 0
0
S
S1
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
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
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
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
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
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
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
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
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
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…
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
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
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
)N( /1 kkO Tile Complexity:
N
k
2-temperature model
3
3
3
1
t = 4
k
N
j
k
N
j
2-temperature model
t = 4 6
k
N
j
2-temperature model
k
N
)( /1 jNjO )loglog
log(
N
NO
)loglog
log(
N
NKolmogorov Complexity (Rothemund,
Winfree STOC 2000)
Beats Standard Model )(/1
k
N k
k
N
(our paper)
(our paper)
Assembly of N x N Squares
Assembly of N x N Squares
kN - k
N - k
k
Assembly of N x N Squares
kN - k
N - k
X
Y
k
)loglog
log(
N
N
Complexity:
(Adleman, Cheng,Goel, Huang STOC 2001)
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)
N x N Square --- Flexible Glue Model
log N
N – log N
seed row
N x N Square --- Flexible Glue Model
log N
N – log N
seed row
)(log)(
2
log
/1
/1
NONkO
N
Nk
k
k
Complexity:
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
. . . 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
. . . 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:
4 53
555
21b4
5
5
w5
p5
G(b4, p5) = 1G(b4, w5) = 0
N x N Square --- Flexible Glue Model
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
• 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
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
2 x log N block
N – log N
log N
N – log N
N – log Nlog N
log N
N – log N
N – log N
X
Y
log N
log N
)log( N
Complexity:
Shape Verification
Unique Shape 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 (our paper)
Multiple Temperature: NP-hard (our paper)
Multiple Tile: Co-NPC (our paper)
x1
* *
x2
x3
* T T T T
ok
ok
ok
okok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
1
1
SAT
x1
* *
x2
x3
* T T F F
ok
ok
ok
c2ok
ok
c2c1
c2
c2
c3 *
*
*
*
c10
0
1
Satisfied Not Satisfied
(LaBean and Lagoudakis, 1999)
Unique-Shape Model
* *
x1
x2
x3
c1 c2 c3
*
*
*
*
*
* *
x1
x2
x3
c1 c2 c3
*
*
*
*
*
Satisfied Not Satisfied
**
Multiple Temperature Model
* *
x1
x2
x3
c1 c2 c3
*
*
0
1
c1
ok
c2
c2
1
T
ok
T
ok
ok
ok
T
ok
T
*
*
*
SAT
*
*
*
* *
x1
x2
x3
c1 c2 c3
*
*
0
1
c1
ok
c2
c2
0
T
ok
T
ok
ok
c2
F
ok
F
*
*
*
NO
*
*
*
Satisfied Not Satisfied
**
Multiple Temperature Model
Satisfied Not Satisfied
Multiple Temperature Model
* *
x1
x2
x3
c1 c2 c3
*
*
0
1
c1
ok
c2
c2
1
T
ok
T
ok
ok
ok
T
ok
T
*
*
*
SAT
*
*
*
*
* *
x1
x2
x3
c1 c2 c3
*
*
0
1
c1
ok
c2
c2
0
T
ok
T
ok
ok
c2
F
ok
F
*
*
*
NO
*
*
*
*
Satisfied Not Satisfied
Multiple Temperature Model
*
x1
x2
x3
*
*
*
*
*
*
x1
x2
x3
*
*
*
*
*
Our Tile Complexity Results
Multiple temperature model:
k x N rectangles: )loglog
log(
N
N
beats standard model: )(/1
k
N k
Flexible Glue:
N x N squares: )log( N
beats standard model: )loglog
log(
N
N (Adleman, Cheng,
Goel, Huang STOC 2001)
(our paper)
(our paper)
(our paper)
Unique Shape Problem Results
Standard P
Flexible Glue P
Multiple Temperature NP-hard
Unique Shape Co-NPC
Multiple Tile Co-NPC
(Adleman, Cheng, Goel, Huang, Kempe,Espanes, Rothemund, STOC 2002)
(our paper)
(our paper)
(our paper)
Further Research
• time complexity– multiple temperature– multiple tile
• more than 2 temperatures– raising/lowering temperature many times– monotonically increasing temperatures