Reducing Tile Complexity for Self-Assembly Through Temperature Programming Symposium on Discrete Algorithms SODA 2006 January 23, 2006 Robert Schweller Northwestern University In collaboration with Ming-Yang Kao Northwestern University
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 T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
How a tile system self assembles T = G(y) = 2 G(g) = 2 G(r) = 2 G(b) = 2 G(p) = 1 G(w) = 1 t = 2
Each Shape Requires a Distinct Tile Set
Programmable, General Purpose Tile Set?
...
Multiple Temperature Model - temperature may go up and down (Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)
Multiple Temperature Model - temperature may go up and down t (Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005)
Multiple Temperature Model - temperature may go up and down t (Aggarwal, Cheng, Goldwasser, Kao, Espanes, Schweller, SICOMP 2005) Tile Complexity:Number of Tiles Temperature Complexity:Number of Temperatures
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: Tile Complexity: n k
two temperatures t = 4 n
t = 4 6 two temperatures n
Programmable, General Purpose Tile Set?...
Given: n log n High Level Approach
Given: n log n temp High Level Approach 1
Given: n log n temp High Level Approach 1 1
Given: n log n temp High Level Approach 10 10
Given: n log n temp High Level Approach
temp High Level Approach
temp High Level Approach
temp High Level Approach
Assembly of n x n Squares N - k k
Assembly of n x n Squares n - k k
Assembly of n x n Squares n - k k
Assembly of n x n Squares n - k k Complexity:
Assembly of n x n Squares n – log n log n Complexity:
Assembly of n x n Squares n – log n log n Complexity: seed row
Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz 1 0 1
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t =
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t =
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t =
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t =
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t =
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 1
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 1
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z x
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = 0 0’ Z 1
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = Z 1 1’ z
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = Z 1’
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = Z 1’ 1
a Encoding a Single Bit 0 a Z g z g g g g g g g g g 01 0’1’ zz t = Z 1’ 1 a Z t = 0 0’
Goal:
a 0 s b temp:
a 1 s b Goal: temp:
a 1 s Goal: b X temp:
a 1 s Goal: b Y temp:
a 1 s Goal: b Y temp: a b
a 1 s Goal: b Y temp: a b 0
a 1 s Goal: b Y temp: a b 0 X
a 1 s Goal: b Y temp: a b 0 Y a b
a 1 s Goal: b Y temp: a b 0 Y a b 0
a 1 s Goal: b Y temp: a b 0 Y a b 1
a 1 s Goal: b Y temp: a b 0 Y a b 1 X
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b 0
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b 0 X
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b 0 Y a b
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b 0 Y a b 0
a 1 s Goal: b Y temp: a b 0 Y a b 1 Y a b 0 Y a b 0 X
Assembly of n x n Squares n – log n log n
Assembly of n x n Squares O(log n)
Assembly of n x n Squares O(log n)
Results tile complexitytemperature complexity O(1) O(log n) O(1) (our paper) ( Adleman, Cheng, Goel, Huang STOC 2001 ) n x n squares
Results tile complexitytemperature complexity O(1) O(log n) O(1) (our paper) ( Adleman, Cheng, Goel, Huang STOC 2001 ) ? < log n Smooth Trade off? ? < n x n squares
Results tile complexitytemperature complexity O(1) O(log n) O(1) (our paper) ( Adleman, Cheng, Goel, Huang STOC 2001 ) ? < log n Smooth Trade off? ? < 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
Further Research Lab Experiments Temperature Programming for more general classes of shapes Uncontrolled, Fluctuating Temperatures
Thanks for Listening Questions? Robert Schweller 4 th year Graduate Student Electrical Engineering and Computer Science Department Northwestern University Advisor: Ming-Yang Kao