620 likes | 725 Views
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.
E N D
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
Tile Model of Self-Assembly (Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
How a tile system self assembles 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 =
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: (our paper) k x N rectangles: beats standard model: (our paper) Flexible Glue: N x N squares: (our paper) (Adleman, Cheng, Goel, Huang STOC 2001) beats standard model:
Building k x N Rectangles k-digit, base N(1/k) counter: k N
Building k x N Rectangles k-digit, base N(1/k) counter: k N Tile Complexity:
Build a 4 x 256 rectangle: t = 2 S3 0 S2 0 S1 0 S g g g p C0 C1 C2 C3 S
Build a 4 x 256 rectangle: t = 2 S3 0 g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 0 S3 0 S2 0 0 S1 g g p S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 S2 0 0 S1 0 0 p S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 S2 0 0 g g S1 0 0 0 1 S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 0 0 S2 0 0 0 0 S1 0 0 0 1 p S C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 S g g g p 2 3 C0 C1 C2 C3 S3 0 0 0 0 0 0 S2 0 0 0 0 0 0 S1 0 0 0 1 1 1 p S C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 p S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R … S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 … S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R 0 0 S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 P 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 P 3 3 P R 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Building k x N Rectangles k-digit, base N(1/k) counter: k N Tile Complexity:
2-temperature model t= 4 3 1 3 3
2-temperature model t = 4 6
2-temperature model (our paper) Kolmogorov Complexity (Rothemund, Winfree STOC 2000) Beats Standard Model (our paper)
Assembly of N x N Squares N - k k N - k k
Assembly of N x N Squares Complexity: N - k X (Adleman, Cheng, Goel, Huang STOC 2001) k N - k Y k
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 1 - - - - - b - 0 - - - - c - - 3 - - - d - - - 2 - - e - - - - 2 - f - - - - - 1 a b c d e f a 1 0 2 0 0 1 b 0 0 1 0 1 0 c 0 0 3 0 1 1 d 2 2 2 2 0 1 e 0 0 0 1 2 1 f 1 1 2 2 1 1
N x N Square --- Flexible Glue Model N – log N seed row log N
N x N Square --- Flexible Glue Model N – log N Complexity: seed row log N
N x N Square --- Flexible Glue Model goal: - seed binary counter to a given value - 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 2 log N
N x N Square --- Flexible Glue Model 5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
N x N Square --- Flexible Glue Model key idea: 5 0 0 1 1 0 1 1 0 0 1 1 1 0 | | | | | | | | | | | | | 5 3 3 3 4 4 4 4 4 4 5 5 5 5 . . . 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
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
N x N Square --- Flexible Glue Model 5 • given B = 011011 110101 010111 … • encode B into glue function p5 b4 4 p0 p1 p2 p3 p4 p5 b0 0 1 1 0 1 1 b1 1 1 0 1 0 1 b2 0 1 0 1 1 1 b3 0 0 1 0 1 0 b4 0 0 0 0 0 1 b5 1 1 1 1 1 0 B = 011011 110101 010111 …
N x N Square --- Flexible Glue Model • build block • Complexity: 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
0 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 0 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 1 0 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 0 0 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 1 0 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 0 0 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 1 0 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 0 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 1 1 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 1 0 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
N – log N 2 x log N block log N