Reducing Tile Complexity for Self-Assembly Through Temperature Programming Midwest Theory Day, December 10, 2006 Based on paper to appear in SODA 2006 by Ming-Yang Kao Northwestern University Robert Schweller 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
t = 4 6 two temperatures
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 = 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
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)
Single Tile set, can build ALL n x n squares –O(1) tile complexity –O(log n) temperature complexity For any n x n square –O(log n / loglog n) –O(1) temperature complexity Is there a smooth tradeoff? –NO: For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously. Results ( Adleman, Cheng, Goel, Huang STOC 2001 )
Single Tile set, can build ALL n x n squares –O(1) tile complexity –O(log n) temperature complexity For any n x n square –O(log n / loglog n) –O(1) temperature complexity Is there a smooth tradeoff? –NO: For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously. Results ( Adleman, Cheng, Goel, Huang STOC 2001 )
Single Tile set, can build ALL n x n squares –O(1) tile complexity –O(log n) temperature complexity For any n x n square –O(log n / loglog n) –O(1) temperature complexity Is there a smooth tradeoff? –NO: For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously. Results ( Adleman, Cheng, Goel, Huang STOC 2001 )
Single Tile set, can build ALL n x n squares –O(1) tile complexity –O(log n) temperature complexity For any n x n square –O(log n / loglog n) –O(1) temperature complexity Is there a smooth tradeoff? –NO: For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously. Results ( Adleman, Cheng, Goel, Huang STOC 2001 )
Thanks for Listening Questions? 4 th year Graduate Student Electrical Engineering and Computer Science Department Northwestern University Advisor: Ming-Yang Kao