720 likes | 855 Views
Randomized Self-Assembly for Approximate Shapes. 35 th International Colloquium on Automata, Languages and Programming July 8, 2008. Robert Schweller University of Texas – Pan American In collaboration with Ming-Yang Kao Northwestern University. Outline. Assembly Model
E N D
Randomized Self-Assembly for Approximate Shapes 35th International Colloquium on Automata, Languages and Programming July 8, 2008 • Robert SchwellerUniversity of Texas – Pan American • In collaboration with • Ming-Yang KaoNorthwestern University
Outline • Assembly Model • Basic Constructions • Probabilistic Assembly Model • Main Result
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T = Glue Function: Tile Set: Temperature: Seed Tile:
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
Tile Assembly Model (Rothemund, Winfree, Adleman) G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2 T =
How efficiently can you build an n x n square? Tile Complexity: 2n n x s
How efficiently can you build an n x n square? -Use log n tile types to seed counter: 0 0 0 0 s log n
How efficiently can you build an n x n square? -Use log n tile types capable of Binary counting: -Use 8 additional tile types capable of binary counting: 0 0 0 0 s log n
How efficiently can you build an n x n square? -Use log n tile types capable of Binary counting: -Use 8 additional tile types capable of binary counting: 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 s log n
How efficiently can you build an n x n square? -Use log n tile types capable of Binary counting: -Use 8 additional tile types capable of binary counting: 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 s log n
How efficiently can you build an n x n square? -Use log n tile types capable of Binary counting: -Use 8 additional tile types capable of binary counting: 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 s 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
How efficiently can you build an n x n square? 1 1 1 1 Tile Complexity: O(log n) 1 1 1 0 1 1 0 1 (Rothemund, Winfree 2000) 1 1 0 0 1 0 1 1 1 0 1 0 n – log n With optimal counter: Tile Complexity: O(log n / loglog n) 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 x 0 1 0 0 (Adleman, Cheng, Goel, Huang 2001) 0 0 1 1 0 0 1 0 0 0 0 1 Meets lower bound: W(log n / loglog n) 0 0 0 0 s 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 log n 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 (Rothemund, Winfree 2000) 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Outline • Assembly Model • Basic Constructions • Probabilistic Assembly Model • Main Result
Probabilistic Assembly Model S a b c (Becker, Remila, Rapaport) Assign Relative Concentrations: %5 %5 x d %5 %60 %5 %20
Probabilistic Assembly Model S S x a b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S x a b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S x a a b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S x a a b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 x d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S S x a a b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 x d d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S S x a a b b c (Becker, Remila, Rapaport) Tileset = d %5 %5 %5 %60 x d d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S S x a a b b c c (Becker, Remila, Rapaport) Tileset = d Two Terminal Shapes Produced %5 %5 %5 %60 x d d %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S S S S x d a a b b c (Becker, Remila, Rapaport) Tileset = d .60/.85 = %70.6 .20/.85 = %23.5 %5 %5 .05/.85 = %5.9 %5 %60 %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2
Probabilistic Assembly Model S S S S S S S S S x x d d d d d a a a a b b b b c c (Becker, Remila, Rapaport) Tileset = d %23.5 %70.6 %5.9 %5 %5 %5 %60 %20 %5 G(y) = 2 G(g) = 2 G(r) = 2 G(p) = 1 G(w) = 1 t = 2 %75 %25
Generic Tileset for Approximate Squares n (1+e)n (1-e)n
Generic Tileset for Approximate Squares (e , d) – Approximate Square Assembly Given: - e , d < 0 - integer n Design: A probabilistic tile system that will assemble an n’ x n’ square with: (1-e)n < n’ < (1+e)n With probability at least: 1 - d n (1+e)n (1- e)n
High Level Idea -Build random structure: -Dimensions are random -Internal pattern is random
High Level Idea 10110110 -Build random structure: -Dimensions are random -Internal pattern is random -Incorporate arithmetic tiles to extract a binary number from the random pattern
Finish off Square Output n approximation Binary Counter 10110110 n Binary Counter n
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S
Line Estimation of n S X S