590 likes | 725 Views
Notes for temperature 1 self-assembly. Days 15, 16, 17 and 18 of Comp Sci 480. What is temperature 1 self-assembly?. We have already seen examples of temperature 1 self-assembly Sometimes called “non-cooperative self-assembly” Same aTAM rules apply Never mind the temperature (it’s always 1)
E N D
Notes for temperature 1 self-assembly Days 15, 16, 17 and 18 of Comp Sci 480
What is temperature 1 self-assembly? • We have already seen examples of temperature 1 self-assembly • Sometimes called “non-cooperative self-assembly” • Same aTAM rules apply • Never mind the temperature (it’s always 1) • If tiles abut with matching glue labels (and positive strength), then they bind
Why study temperature 1? • Theoretically: not much is known about “the power” of temperature 1 self-assembly • What kind of things can be uniquely assembled at temperature 1? • What are the tile complexities? • Temperature 1 is easily implemented in the lab (so I’ve been told…) • Can assemble things with low error rates
Full squares (review) • Assumptions: • Every tile binds with all of its neighbors (full-connectivity) • Tile set must uniquely produce an assembly • In this situation, N2 unique tile types are sufficient and necessary… • Proven by Rothemund and Winfree in 2000 • Proof idea (three easy steps)… Full-connectivity assumption gives us this connected path of tiles, i.e., we can get from A to B… This is an NxN square… If |T| < N2, then there must be two locations (A and B) that get the same tile type… Then we can “pump” the segment from A to B infinitely many times, which contradicts the “unique assembly” assumption 1 2 3
B A No glue mismatches • Assume that your tile set cannot have glue mismatches in the growing (uniquely produced) assembly • What is a glue mismatch? • Example… • Strengths OR labels do not match • Locally deterministic tile sets can have mismatches • Tile sets with glue mismatches may still uniquely produce an assembly • In this situation, 2N – 1 unique tile types are necessary to build an NxN square • Proven by Manuch, et. al., in 2010 • Not as “easy” to prove as you might think • Possible project idea: review/present this proof in class X D X C 2 D 2 C 1 B S A 1
In general • No assumptions about connectivity or glue mismatches • Just assume the final assembly is uniquely produced • 2N – 1 tile types are sufficient • Proven by Rothemund and Winfree in 2000 • “Comb” construction… • Conjecture: • 2N – 1 tile types are necessary • No “real” progress on this problem since 2010 • Previous arguments about glue mismatches and full-connectivity do not apply • Very important open problem • One example of difficulty of “lower bound” proofs in self-assembly 1 2 3 4 A B B A C B A B C A C C
Infinite assemblies at temperature 1 • What kinds of infinite shapes can we build at temperature 1? • Let’s see…
S S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A line – boring!
S A slanted “comb” Still not very interesting!
Other examples? • Can you think of an example of a temperature 1 tile set that uniquely produces an “interesting” infinite assembly • I.e., one that doesn’t just repeat stuff over and over • I can’t think of any…
It *seems* like infinite assemblies that are uniquely produced at temperature 1 are “simple” Can’t prove this “Simple” ≈ infinitely repeating, periodic segments of tiles Why? Infinite assemblies contain long paths of tiles Long paths of tiles must contain repetitions (consequence of Pigeonhole Principle) I.e., sub-paths of tiles that begin and end with the same tile type are (can be) “pumped” indefinitely Formalize this notion of “simplicity”… An observation
Pumpability definition • We say that a temperature 1 tile set T, that uniquely produces an infinite assembly A, is “pumpable” if… …there exists a constant c, such that, for every path π of connected tiles in A of length at least c, there is a sub-path of π that begins and ends with the same tile type that can be repeated indefinitely • Note: The infinitely repeated sub-path is a sub-assembly of A • Note: The constant c depends on the tile set! • That is, it can/should be different for each tile set
Pumpability example Assume the tile set that produces this assembly is pumpable… S A S A S S The above is a finite portion of an infinite, uniquely produced assembly Suppose c = 8 (for the sake of example)
Warm-up examples • Prove/disprove: every pumpable tile set is locally deterministic • Prove/disprove: every locally deterministic tile set is pumpable
S S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A line Is this tile set pumpable? YES What is the pumpability constant c? c=3 c=2 ??? YES
S A slanted “comb” Is this tile set pumpable? YES What is the pumpability constant c? c=9 c=8 ??? NO
S B B B B Repeated sub-paths • Important: NOT every sub-path along a VERY long path that begins and ends with the same tile type can be pumped… • Look at the sub-paths that start at the seed and end at a B tile • Examples of arbitrarily long paths, with sub-paths that begin/end with the same tile type, but those sub-paths cannot be pumped because they get blocked by earlier portions of the path
Conjecture: every temperature 1 tile system that uniquely produces an infinite assembly is pumpable Formalized/conjectured by Doty, et. al., in 2009 Currently still open… An offensive problem! Most researchers believe it’s true Has been called the “most important problem in theoretical tile self-assembly” Pumpability conjecture
Consider any temperature 1 tile set Suppose some tile types are “black” and others “non-black” The set of points that receive “black” tiles in T is (sort of) a regular language I.e., only very simple, easy to analyze sets of points can be uniquely assembled at temperature 1 Consequence: arbitrary Turing machines cannot be simulated at temperature 1 in any tile set that uniquely produces an assembly NO fractal patterns either! Consequences of pumpability
What now? • Temperature 1 probably can’t be used to uniquely produce “interesting” shapes and patterns • Or uniquely self-assemble finite shapes efficiently • Should we just give up and go home?
What about 3D temperature 1 self-assembly? For 3D temperature 1 self-assembly, we allow two 2D planes (z = 0 and z = 1) This is all we need in order to do interesting stuff! Same aTAM rules apply, except instead of 2D unit squares, we have 3D (unit) cubes… i.e., 1x1x1 cubes with labels and strengths on all 6 sides (Just barely) 3D self-assembly
3D self-assembly example Glue labels are implicitly defined (otherwise, too many details) Very important: we construct our 3D tile set so that when a tile binds, it does so deterministically (no other tile can bind in that location on that side)
It is possible to uniquely produce an NxN square at temperature 1 in 3D with tile complexity of O(log N) Proven by Cook, et. al. in 2011 Full construction has too many details for us to cover in class Instead, we will study an “easier” problem, which is central to uniquely building NxN squares in 3D at temperature 1… …Self-assemble a binary counter at temperature 1, i.e., uniquely produce a Nxk rectangle using O(k) unique tile types Squares
Goal: uniquely produce a Nxk (k columns, N rows) rectangle using O(k) unique tile types Some tiles (cubes) will be placed in the z=1 plane of the Nxk rectangle We will implement a kind of zig-zag counter Strategy: build a 3D tile temperature 1 tile set that “simulates” the behavior of the 2D temperature 2 zig-zag counter tile set Key properties: 3D simulation will have a scale factor “blow up” You’ll see what I mean… Use non-determinism to guess bit values encoded using geometry, NOT glue labels (very clever technique in self-assembly) 3D counter
01 01 00 00 12 12 S ! The seed row Bits are encoded in the geometry of the path “Bumps” in the z = 1 plane encode 1 “Bumps” in the z = 0 plane encode 0 Every bit knows its own position in the counter (underlined digit)… …very important!
Increment right to left 12 10 10 12 $ N N 1 1 0 1 01 N N 0 01 1 1 1 1 0 1 0 1 1 12 12 00 01 01 00 S ! The green tiles “guess” what the next bit is (always guesses correctly thanks to geometry of previous portion of path) Increment rows encode bit values in bumps shifted one tile to the left… … very important! The next (copy) row will shift them back one tile to the right. 00 01 01 00
Copy left to right 10 12 12 10 10 12 12 10 $ 1 N 1 N 1 1 1 0 1 01 1 0 01 N N 1 1 0 0 01 01 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 ! 12 12 01 00 01 01 00 01 S 1 1 1 0 1 1 1 ! Current value of counter (101) encoded in bump pattern along top row of assembly… (the value of the previous encoded value – plus one!)
The macro blocks…(these will implicitly define the tile set)
The seed row (even start value) 0i 0i 1i 1i S ! Simulated tile types: bk-1 bk-1k-1 b1 b11 0 00 k-1 1 0 0 NOTE: For odd start values, change the north glue on the bit k-1 tile type to strength 2 and the north glue on the bit 0 tile type to strength 1. For each i = 0, 1, …, k-1, if bi is 0, create the following macro block: The macro block for i initiates the macro block for i-1 For each i = 0, 1, …, k-1, if bi is 1, create the following macro block: A special tile type binds to macro block for bit 0 to start the counter The seed initiates the macro block for bit k-1
10 10 10 10 00 C N 0 1 1 0 00 N C 1 0 1 0 1 0 1 0 00 00 00 00 0 0 ! ! Increment bit 0 0 00 1 10 c n 10 00
1k-1 1k-1 $ $ 0k-1 0k-1 0k-1 0 1 N N 1 0k-1 0 0 1 0 1 0 1k-1 1k-1 0k-1 0k-1 0 Increment bit k-1, no carry 1 1k-1 0 0k-1 n n 1k-1 0k-1
1k-1 1k-1 0k-1 $ stop stop stop stop 1 0k-1 C stop stop stop C 1 stop 1 stop 1 stop stop 1k-1 1k-1 0k-1 0k-1 stop Increment bit k-1, yes carry 0 STOP 0 1k-1 c c 1k-1 0k-1
N N 1 0 0i N N N N 1 0 0i 1 1 1 0 1 0 1i 1i 1i 1i 0i 0i 0 1 Increment bits i=1,…,k-2, no carry 0 0i 1 1i n n n n 0i 1i
C 0i N 0i 1 0 C C N C 1 0 1 1 0 1 0 0 1 1i 1i 1i 1i 0i 0i 0 0 Increment bits i=1,…,k-2, yes carry 1 1i 0 0i n c c c 0i 1i
0k-1 0k-1 1k-1 1k-1 1k-1 1k-1 1 $ $ 0k-1 0 0 1 0k-1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 Copy bit k-1 1 1k-1 0 0k-1 1k-1 0k-1
00 00 10 10 10 10 0 0 00 1 0 1 0 0 00 0 1 1 0 0 0 1 ! ! 0 1 1 1 0 1 0 0 0 Copy bit 0 1 10 0 00 10 00
1i 1i 1i 1i 0i 1 0 0 01 0 1 0 0i 01 0 1 0 1 0i 0i 1 0 Copy bits i=1,…,k-2 0 0i 1 1i 0i 1i
Correctness • The 3D temperature 1 counter self-assembles exactly like the 2D temperature 2 zig-zag counter • Technically: The 2D temperature 2 zig-zag counter has a unique assembly sequence • How many assembly sequences does the 3D temperature 1 binary counter have? • Many! • Since each macro block is something like 4x5 or 4x4 tiles, we actually assemble a rectangle with dimensions O(N) x O(k), where the hidden constant is ≤ 5 in each case • Scale factor blow-up (a.k.a., “resolution loss”) • Can still be used to build an NxN square exactly • Just more details to consider!
Tile complexity • Each macro block is a path of tiles of constant length (i.e., there exists a constant c such that no macro block path is greater than c) • There are nine groups of macro blocks • Each group has O(k) macro blocks (at most two macro blocks per bit position) • Overall tile complexity of 3D counter: O(k)
Better tile complexity? • Currently: O(log N) • Can we achieve O(log N / log log N)? • Can we implement the optimal encoding scheme in 3D at temperature 1? • Just have to make the optimal encoding scheme zig-zag • Seems feasible • Not obvious how to implement optimal encoding scheme in 3D at temperature 1 • Open problem
3D Turing machine simulation • Can simulate a Turing machine at temperature 1 in 3D (with just two planes)… • Simulate a “zig-zag” 2D temperature 2 Turing machine simulation tile set • More complicated than the previous construction for NxN squares
In general • Can simulate any 2D temperature 2 “zig-zag” tile set at temperature 1 in 3D • Proven by Cook, et. al., in 2011 • Includes efficient self-assembly of NxN squares, Turing machine simulations, etc. • 2D temperature 2 3D temperature 1 results in a O(1) scale factor blow-up • Tile complexity: O(|T|*log |G|), where T is the 2D temperature 2 tile set and G is the set of all strength 1 glue labels in T • Special case for NxN squares: O(|T|) • 3D temperature 1 can do anything that 2D “zig-zag” temperature 2 can do
Temperature 1 self-assembly with a single negative glue • What if every glue strength was restricted to be either be strength 0 or 1 and there could be a single glue of strength -1? • The temperature is 1 • “Restricted glue Tile Assembly Model” (rgTAM) • Slight generalization of temperature 1 self-assembly • What is the “expressiveness” of this model?
Restricted glue self-assembly • Same rules as temperature 1, but exactly one glue is allowed – but not required – to be negative • If no negative glue on any tiles, then pretty much the same as temperature 1 • Not formally proven • Key: A tile that has the negative glue on any side must bind on at least two sides • This is reminiscent of temperature 2 (cooperative-binding) self-assembly…
S Restricted glue model example The red square is the unique negative glue allowed by the model… It is present on two of the tile types in this example S S S
Some tile complexities • How efficiently can we assemble NxN squares in the restricted glue model? • Choose NOT to use the unique negative glue: “comb” construction: 2N-1 • Choose to USE the negative glue: O(log N)