Download presentation
Presentation is loading. Please wait.
1
Notes on temperature programming
Days 26 and 27 of Comp Sci 480
2
So long aTAM! Done talking about the abstract Tile Assembly Model (aTAM) Start talking about variations (generalizations) of the aTAM First up: Multiple temperature model…
3
Multiple temperatures
In the aTAM, assembly occurs in one phase (with respect to one temperature value) Is there any benefit in allowing the temperature to fluctuate? Basic idea: experimenter can turn the temperature up and down as the self-assembly experiment proceeds
4
The multiple temperature model
Multiple temperature tile assembly model Generalization of aTAM Temperature programming model Introduced by Aggarwal, Goldwasser, Kao and Schweller in 2004 Self-assembly takes place in phases: In the first phase, self-assembly proceeds as it does in the aTAM until a τ0-stable assembly is reached. In phase two, tiles attach if they can do so with strength τ1; also, if there is ever a way to separate an assembly by breaking total strength less less than τ1, then all of the tiles on the side of the cut not containing the seed are removed. When a τ1-stable assembly is reached, the second phase is complete. This process continues through the final temperature phase.
5
Example…
6
1 s 1 s 1 s 1 s R1 R0 1 STOP L1 s 1 L1 c 1 c 1 c 1 c !0 z z R0 R1 τ = ‹ 4 › 1 L1 c 1 c 1 c c !0 s 1 s R1 R0 1 L1 c 1 c 1 c !0 z z 1 z R0 R1 1 L1 c 1 c c !0 s 1 s 1 s R1 R0 1 L1 c 1 c c 1 c !0 z z R0 R1 1 L1 c 1 c c c !0 s 1 s R1 R0 1 L1 c 1 c !0 z z 1 z 1 z R0 R1 1 L1 c c !0 s 1 s 1 s 1 s R1 R0 1 4 L1 4 3 1 3 2 1 2 S 1 R0
7
1 s 1 s 1 s 1 s R1 R0 1 STOP L1 s log 10 / (log log 10 – log log log 10) ≈ 2.48 k = 2 < 2.48 We built a thin rectangle using O(log N) tile types (could reduce this using optimal encoding) The thin rectangle lower bound for the aTAM says we need Ω(N1/k/k) = Ω(N1/2) O(log N) is much smaller than Ω(N1/2)… as N gets really big!! Two temperatures are better than one! 1 L1 c 1 c 1 c 1 c !0 z z R0 R1 τ = ‹ 4, 6 › 1 L1 c 1 c 1 c c !0 s 1 s R1 R0 1 L1 c 1 c 1 c !0 z z 1 z R0 R1 Observation: At the end, we have a 10x2 rectangle N = 10 k = 2 Is this a thin rectangle? … 1 L1 c 1 c c !0 s 1 s 1 s R1 R0 1 L1 c 1 c c 1 c !0 z z R0 R1 1 L1 c 1 c c c !0 s 1 s R1 R0 1 L1 c 1 c !0 z z 1 z 1 z R0 R1 1 L1 c c !0 s 1 s 1 s 1 s R1 R0 1 4 L1 4 3 1 3 2 1 2 S 1 R0
8
Two temperatures More temperatures… ?
The previous example can be generalized With just two temperature phases, tile complexity for thin rectangles can be reduced aTAM: O(N1/k + k) Two temperatures: O(log N / log log N) Basic idea: build a thick rectangle using optimal encoding, and then melt away some tiles to make the rectangle thin Proven by Aggarwal, et. al., in 2004~2005 Details omitted More temperatures… ?
9
The input problem Problem: how to provide “input” to a self-assembly system Solution: Hard-code seed row to self-assemble in order For most assembly systems, this was the dominant source of tile complexity Expensive to do this (because it’s expensive to create unique tile types out of DNA) Another solution: encode input as carefully chosen sequence of temperature changes Then we can have a universal tile set that can build any shape depending on the temperature changes
10
Encode input via temperature sequence: very high-level approach
11
w =
12
w = 1 temp
13
w = 1 temp 1
14
w = 1 temp 1
15
w = 1 1 1 . . . . . . temp 1 1 1 1
16
. . . 1 . . . temp 1 1 1 1
17
. . . 1 . . . temp 1 1 1 1
18
. . . 1 . . . temp The shape of the final assembly depends on the sequence of temperature changes 1 1 1 1
19
New measure of complexity
Before: tile complexity Now: tile complexity and temperature complexity How many times do we change the temperature during the experiment in order to get what we want? Once? O(size of the final shape) ? O(log of the size of the final shape) ?
20
Example: encode a single bit…
21
Announcement Thursday (11/7) office hours: 1pm – 3pm
22
The bit-flip gadget The tile set… τ = ‹ 2 › 1 z z a a
(thick bonds are strength 5) τ = ‹ 2 › 1 1 z 1 z 1 z g z g z g g g g g g g g g g g g g g a g g a g g
23
The bit-flip gadget τ = ‹ 2, 5 › 1 1 z z a a 1 1 z z 1 z 1 z g g g g g
1 1 1 1 z z 1 z 1 z g z g z g g g g g g g g g g g g g g a g g a g g
24
The bit-flip gadget τ = ‹ 2 › τ = ‹ 2, 5 › 1 1 z z z a a a 1 z 1 1 z 1
1 1 1 z 1 1 z 1 z 1 z g z g z g z g g g g g g g g g g g g g g g g g g g g g g a g g a g g a g g
25
Squares We will use a modified bit-flip gadget to prove the following: There is a unique tile set T such that for all N, there is a temperature sequence ‹ τi › that uniquely assembles an NxN square Proven by Kao and Schweller in 2006 The size of T is constant, i.e., it does not depend on N A universal square-building tile set
26
Modified bit-flip gadget (1)
Chain bit-flip gadgets together 1 means “keep going”, 0 means “stop” At the end, we have a 8x2m rectangle, on stop of which we build a square Have to be careful with this step!
27
Thick lines are strength 7 bonds
τ = ‹ 3 › Thick lines are strength 7 bonds 1 z g z g g g g g g g g s g g
28
τ = ‹ 3, 7 › 1 1 1 z z g z g g g g g g g g s g g
29
τ = ‹ 3, 7, 3 › 1 z z s a 1 1 z 1 z g g g g g g g g g g g g g g g g g
1 1 1 z 1 z g z g z g g g g g g g g g g g g g g g g s g g a g g
30
τ = ‹ 3, 7, 3, 7 › 1 1 z z s a 1 1 z 1 1 z z g g g g g g g g g g g g g
1 1 1 1 z 1 1 z z g z g z g g g g g g g g g g g g g g g g s g g a g g
31
τ = ‹ 3, 7, 3, 7, 3 › 1 1 z z z s a a 1 1 z 1 1 z 1 z g g g g g g g g
1 1 1 1 z 1 1 z 1 z g z g z g z g g g g g g g g g g g g g g g g g g g g g g g g s g g a g g a g g
32
τ = ‹ 3, 7, 3, 7, 3, . . ., 3 › 1 = “keep going” ‹ 3, 7, › 0 = “stop” ‹ , 3 › 1 1 1 1 1 z 1 1 z 1 1 z 1 z g z g z g z g z g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g s g g a g g a g g a g g
33
The rest of the tile types
+ + A + A + B + 1 + 2 + 3 + 4 + 5 + 6 + 7 + A + B B 1 1 2 2 3 3 4 4 5 5 6 6 7 7 A A B B - - - -
34
The final stage τ = ‹ 3, 7, 3, 7, 3, . . ., 3 › 1 1 1 1 1 1 1 z 1 1 z 1 1 z 1 1 z 1 1 z 1 z
35
The final stage τ = ‹ 3, 7, 3, 7, 3, . . ., 3, 2 › + A + + A B 1 2 3 4
- 1 + 1 2 + 2 3 + 3 4 + 4 5 + 5 6 + 6 7 + 7 A + A B + B - - 1 1 1 1 1 1 1 z 1 1 z 1 1 z 1 1 z 1 1 z 1 z
36
The end result N = 16 N = 16 + + + + + A + + + A B + + A B - + + A B -
1 2 3 4 5 6 7 A B - - - - - - 1 1 1 1 1 1 1 S N = 16
37
Discussion Complexities: Only works for large enough values of N
Tile complexity: O(1) Temperature complexity: O(N) Only works for large enough values of N Only works for even values of N How to make it work for ALL values of N? Future homework!!! For an arbitrary (even) N, what is the temperature sequence? τ = ‹ τi ›, where τi = 3 if i is even and 7 if i is odd for all i < N - 1, τN-1 = 2 Can we do better than O(N) temperature complexity?
38
Modified bit-flip gadget (2)
Previous modified bit-flip gadget encoded two things: keep going OR not Bit-flip gadget really needs to encode four things: Encode either a 0 or a 1 Encode keep going or stop Need to make another “modified bit-flip gadget”…
39
The tile set 0' e b 0' e 1 e 1’ 0' z1 u 1' z1 u Thick lines are strength 9, thin lines are strength 1 (add up number of lines to get total glue strength) We can use this tile set to build an 11xm rectangle via a carefully chosen sequence of temperatures NOTE: The glues 0, 1, b, u, v and hi are not used directly to self-assemble the modified bit-flip gadget (they will be used when this tile set is extended to build squares) g z1 g hi g g hi Y a f X hi f x g r g hi f X' hi z2 Y' y hi z2 s x r a x r s z2 h hi y s h hi h h hi h h v hi h h hi
40
Modified bit-flip gadget example…
41
τ = ‹ 4 › 0' s z1 0' e b 0' e 1’ z1 u g g hi g g hi g r g hi f x r y s
0' e τ = ‹ 4 › 1’ 0' z1 u g z1 g hi g g hi g r g hi f s x r y s h h h h hi
42
1 τ = ‹ 4, 9 › 1' 0' s z1 0' e b 0' e e 1’ z1 u z1 u g g hi g g hi g r
0' e 1 e τ = ‹ 4, 9 › 1’ 1' z1 u 0' z1 u g z1 g hi g g hi g r g hi f s x r y s h h h h hi
43
1 τ = ‹ 4, 9, 3 › 1' s X X' z1 z2 0' e b e 1’ z1 u g g hi g g hi g r g
f s x r X hi f x y s X' hi z2 h z2 h hi h h hi h h hi h hi h v hi
44
1 τ = ‹ 4, 9, 3, 7 › 1' s Y a X Y' X' z1 z2 0' e b e 0' e b 1’ z1 u 1’
g z1 g hi g g g hi g g r g hi f g r s x r Y a f a x r s X hi f x y s Y' y hi z2 X' hi z2 y s h z2 h hi h h h hi h h h hi h h hi h v hi h hi
45
0' e b 1 e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g g hi g g hi g r g hi f g r g hi f s x r Y a f a x r s y s Y' y hi z2 y s h z2 h hi h h h hi h h h hi h h hi h v hi h hi
46
0' e b 1 e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3 › 1’ 1' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g g hi g g hi g r g hi f g r g hi f s x r Y a f a x r s X hi f x y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi
47
0' e b 1 e 0' e b 0' e 0' e b τ = ‹ 4, 9, 3, 7, 4, 3, 7 › 1’ 1' z1 u 1’ 0' z1 u 1’ g z1 g hi g z1 g hi g g g hi g g hi g g r g hi f g r g hi f g r s x r Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 X' hi z2 y s h z2 h hi h z2 h hi h h h hi h h hi h h h hi h h hi h h hi h v hi h hi h v hi h hi
48
0' e b 1 e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h h h hi h h hi h h h hi h h hi h h hi h v hi h hi h v hi h hi
49
0' e b 1 e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi h hi h v hi
50
0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ g z1 g hi g z1 g hi g z1 g hi g g g hi g g hi g g hi g g r g hi f g r g hi f g r g hi f g r s x r Y a f a x r s Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 X' hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi
51
0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 0' e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 0' z1 u g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi
52
0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 0' e 1 e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4, 9 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 1' z1 u 0' z1 u g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s h z2 h hi h z2 h hi h z2 h hi h h h hi h h hi h h hi h h h hi h h hi h h hi h h hi h v hi h hi h v hi h hi h v hi h hi
53
Temperature sequence broken up into groups:
0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 1 e τ = ‹ 4, 9, 3, 7, 4, 3, 7, 4, 3, 7, 4, 9, 3 › 1’ 1' z1 u 1’ 0' z1 u 1’ 0' z1 u 1’ 1' z1 u Temperature sequence broken up into groups: ‹ 4 › and ‹ 4, 9 › encode a 0 and a 1, respectively, into the top half of each gadget ‹ 3, 7 › fills in the bottom half of each gadget… ‹ 3, 7 › means keep going, ‹ 3 › stops the growth of the rectangle Number in binary is represented along the north glues of the resulting rectangle (bits are separated by b’s) g z1 g hi g z1 g hi g z1 g hi g z1 g hi g g hi g g hi g g hi g g hi g r g hi f g r g hi f g r g hi f g r g hi f s x r Y a f a x r s Y a f a x r s Y a f a x r s X hi f x y s Y' y hi z2 y s Y' y hi z2 y s Y' y hi z2 y s X' hi z2 h z2 h hi h z2 h hi h z2 h hi h z2 h hi h h hi h h hi h h hi h h hi h h hi h h hi h h hi h h hi h hi h v hi h hi h v hi h hi h v hi h hi h v hi
54
Modified bit-flip gadget complexities
Tile complexity for modified bit-flip gadget: O(1) Temperature complexity for specifying an m-bit binary string: O(m)
55
Build a square We can use the modified bit-flip gadget to build an 11xm rectangle with an arbitrary binary value encoded along its north glues We can use this value to build a square We proceed just like we did for the “log N square construction”, except instead of a seed row, we have a seed rectangle Same basic counter tiles Same basic filler tiles
56
The extended tile set…
57
Start the binary counter
1 e hi $ 1' z1 u Start the binary counter hi z1 g hi hi u g hi Diagonal tiles (left of seed rectangle) g hi f b hi a b hi B lo b lo Upper and lower filler tiles X hi f x Hi hi Lo lo hi hi lo lo B hi X' hi z2 hi lo hi B hi z2 h hi A hi B lo lo Diagonal tiles (below seed rectangle) h hi a' lo v b h hi - lo b A' lo B h v hi Start a stair-step (A-B) sequence to fill in the diagonal of the square
58
Modified binary counter
1 c c b 1 c c b c !0 s s b 1 s R1 R0 hi The modified binary counter tile types can be inferred from this assembly Not shown: c b 1 c c b 1 c !0 z z b z 1 z b z R0 R1 hi c b 1 c c b c !0 s s b 1 s s b 1 s R1 R0 hi c b 1 c c b c c b 1 c !0 z z b z R0 R1 hi c b 1 c c b c c b c !0 s s b 1 $ s R1 + hi $ $ c R0 0' e b 1 e 0' e b 0' e 0' e b 0' e 0' e b 1 e + hi 1' z1 u + hi u
59
High-level overview
60
Not drawn to scale 1 1 1 1 1 1 1 Hi Hi b a b a Lo Lo Lo Lo 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 + + Not drawn to scale S Hi Hi Hi b a b a Lo a' Lo Lo Hi Hi B A' - Lo Hi B A Lo Lo B A Lo Lo B A B A B A B A B A Lo B A Lo Lo B A Lo Lo Lo B A B A B A A
61
Complexities Tile complexity: O(1) Temperature complexity: O(log N)
62
Lower bound aTAM tile complexity for NxN squares: O(log N / log log N) O(1) temperature complexity Multiple temperature model: O(1), with O(log N) temperature complexity Can we achieve O(1) tile complexity with O(log N / log log N) temperature complexity? NO! Proven by Kao and Schweller in 2006
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.