960 likes | 1.1k 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
Outline • Importance of DNA Self-Assembly • Synthesis of Nanostructures • DNA Computing • Tile Self-Assembly • DNA Word Design
TILE G C A T C G C G T A G C
TILE G C A T C G C G T A G C
Molecular-scale pattern for a RAM memory with demultiplexed addressing (Winfree, 2003)
DNA Computers + Output! Computer Program Input
DNA Computers + Output! Computer Program Input Program
DNA Computers + Output! Computer Program Input + Input Program
DNA Computers + Output! Computer Program Input + Output! Input Program
Outline • Importance of DNA Self-Assembly • Tile Self-Assembly (Generalized Models) • Tile Complexity • Shape Verification • Error Resistance • DNA Word Design
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 • 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