440 likes | 586 Views
Notes on the two-handed assembly model (2HAM). Days 38 and 39 of Comp Sci 480. Two hands. Two-handed assembly model (2HAM) Mmmmmmm… ham! First introduced back in 2004 by Aggarwal, et. al. A.k.a., q-tile assembly model A.k.a., hierarchical self-assembly model
E N D
Notes on the two-handed assembly model (2HAM) Days 38 and 39 of Comp Sci 480
Two hands • Two-handed assembly model (2HAM) • Mmmmmmm… ham! • First introduced back in 2004 by Aggarwal, et. al. • A.k.a., q-tile assembly model • A.k.a., hierarchical self-assembly model • A.k.a., “Polyomino” assembly model • Seedless assembly model • No seed tile is ever specified • Models the physical reality (?) that two growing assemblies can bump into each other and bind • How likely is this to happen in “real life”? • Larger assemblies get “floppy” and are even more unlikely to bind
Model definition • No seed tile • Every tile is the seed tile • Tiles NEED NOT bind one at a time, but entire assemblies can combine in pairs • Producible assemblies (a.k.a., supertiles) are defined recursively: • Singleton tiles are producible assemblies • A producible assembly may be obtained by translating two producible assemblies such that the sum of the binding strengths along adjacent edges is at least the temperature
A key difference • In the aTAM, producible assemblies had to contain the seed • I.e., singleton tiles were NOT considered producible • In the 2HAM, singleton tiles are producible • There is no seed tile
2HAM example What do these tiles do? Temperature = 2
Assembly tree… aTAM = assembly sequences 2HAM = assembly trees
Unique production • A 2HAM tile set T is said to uniquely produce a supertile A if every supertile produced by T, say B, can grow into A • B T A • The previous example uniquely produces the assembly A, consisting of the 4x2 rectangle
A generalization • The 2HAM is a generalization of the aTAM • Thus, it should be more “powerful” than the aTAM • Recall that tile complexities were reduced for certain classes of shapes in temperature programming and tile concentration programming • Let’s see some examples of tile complexities for some different classes of shapes in the 2HAM…
0 1 N-1 1 1 2 N-1 Lines • What is the tile complexity of uniquely building a 1xN line in the 2HAM? • Upper bound: N • Here’s the tile set (temperature 1) • Works in the aTAM too with “0” as the seed tile N unique tile types
Lines (lower bound) • What is the minimum number of tile types required to uniquely build a 1xN line in the 2HAM? • N • Why? • Suppose N-1 tile types could do it… At least two locations must share the same tile type (pigeonhole principle) Since this subassembly is producible, we can use it to build an infinite line (a contradiction) Terminal assembly: N tiles
Squares • Fact: the minimum number of tile types required to build an NxN square in the 2HAM is Ω(log N / log log N) • Just like the aTAM • Can use an advanced “information-theoretic” argument to prove this fact • Is it possible to uniquely produce an NxN square in the 2HAM using O (log N / log log N) unique tile types? • Just like the aTAM?
1 1 1 1 R1 R1 R1 R1 s s s s A hi hi hi R0 R0 R0+ R0 1 1 1 1 1 1 c c c z z z 0 0 0 R0 R0 R0 !0 !0 !0 z z z hi hi hi R1 R1 R1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 B 1 A a A A B A A B a b 0 A b B 0 A B 0 a B a 1 A A A A a A a A 0 A R0+ 0 0 0 0 !0 !0 !0 1 1 1 0 1 1 1 1 0 1 c c c c c c c c c c c c c c c c c c c c hi 3 A a 1 a A hi A hi A a hi hi hi hi hi 2 A A A lo lo A 2 3 1 lo lo A a lo A lo lo lo A lo lo A lo A a c c c s s s s s z s s s s z s s 1 0 1 1 1 1 1 1 0 1 A a A A A a A A a 0 0 0 1 1 1 1 1 0 R0 z A R1+ 1 R1+ 3 lo This works in the aTAM (not obvious but TEDIOUS to verify) Does this work in the 2HAM? Yes! (basically can’t do any better than this in either the 2HAM or aTAM) Hi Hi Hi Hi Hi Hi Hi Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo hi hi hi hi hi hi hi hi hi hi hi hi hi hi lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo lo Not shown:
2HAM optimal encoding • Can reduce the tile complexity of the previous (2HAM) square tile set • Use optimal encoding scheme • It works in the 2HAM just like it works in the aTAM • Get O(log N / log log N) tile complexity
Separation • So far we have NOT seen any examples of how the 2HAM can be used to reduce tile complexities for lines and squares • Pretty much every example we’ve seen that works in the aTAM also works in the 2HAM (unmodified) • • Perhaps we should look at other classes of shapes and try to see a “separation” between the aTAM and the 2HAM • I.e., with respect to tile complexities
At the end of last class • At the end of last class last time, I asked: does the Sierpinski triangle strictly self-assemble in the 2HAM (it doesn’t in the aTAM) • Not in the 2HAM either • Assume T is a 2HAM tile set that uniquely builds S • T is finite • S is infinite • Horizontal bars in S get longer and longer • Eventually, T must place a duplicate tile type in some horizontal bar • This portion of the bar must be held together “without cooperation”
Scaled Sierpinski triangle • Does the scaled Sierpinski triangle strictly self-assemble in the 2HAM? • Open question • Guess: probably not • Somebody should prove this!
A loop of size N is the following shape: What is the tile complexity of loops in the aTAM/2HAM? Trivial tile complexity for aTAM and 2HAM: 2N+2 (unique tile type for every point in the loop) Loops N The origin
X X 5 5 N-1 5 5 N-1 2 3 2 1 i 4 1 3 4 i+1 2 5 3 4 5 4 3 2 4 i 1 3 2 4 3 2 1 S S 1 1 A A 0 0 1 1 A A A A 0 0 0 0 aTAM Loops at temperature 2 1 ≤ i ≤ N-2 ??? Tile complexity = N + 3 This DOES work in the 2HAM! Temperature = 2
C C B B 5 N-1 C C C C B B B B N-1 5 X X X X X 3 i 2 4 1 4 2 5 3 i+1 1 i 2 4 3 S S A A 0 0 1 1 A A A A 0 0 0 0 aTAM loops at temperature 1 1 ≤ i ≤ N-2 ??? Tile complexity = N + 5 Does this work in the 2HAM? NO! Temperature = 1
A fact • FACT: The number of tile types required to uniquely build a loop of size N at temperature 1 in the 2HAM is ≥2N + 2 • We will not prove this fact • Thus: “aTAM > 2HAM”, when it comes to building loops of size N • “aTAM > 2HAM” ≈ aTAM is more powerful than the 2HAM at temperature 1 • NOT in an asymptotic sense • Both models can build loops with O(N) tile types at either temperature 1 or 2
Loops: summary • At temperature 2, loops cannot be used to show separation between the aTAM and 2HAM • aTAM tile complexity = N + 3 ≥ 2HAM tile complexity • At temperature 1, loops definitely cannot be used to show separation • The aTAM wins! • • Of course, loops don’t give us an “asymptotic” separation between the aTAM and 2HAM • We need to find a class of shapes whose self-assembly exploits the two-handed, non-local binding capabilities of the 2HAM • Is there such a shape? • Yes…
Staircases • Staircases are examples of shapes that can be assembled drastically more (tile) efficiently in the 2HAM than in the aTAM • Basic idea: • Define a staircase (of size N) • Prove that a staircase of size N can be built with very low tile complexity in the 2HAM • Prove that a staircase of size N requires a high tile complexity in order to be built by any aTAM system
A staircase is a sequence of steps Set the width of a step to be N N = 3 in this example Each step has a height between 1+2 and 2N+2 There are 2N steps (8 in this example) Put an NxN square right below each step Connect each step to its neighbors at two points (two points per neighbor step) The end result is a staircase (of size N) Staircase definition
Building staircases in the aTAM • Fact: If T is any tile set that uniquely self-assembles a staircase of size N, then |T| = Ω(N) • We will not prove this (too many details) • Dr. Furcy can tell you about a tile set T that uniquely builds a staircase of size N, with |T| = O(N2) • Ask him about this during his office hours
Building staircases in the 2HAM • Goal: uniquely build a staircase of size N with asymptotically fewer than N unique tile types • Actually, don’t care about building staircases for arbitrary N • Just infinitely many values of N • Solution: Turing machines! • Super high-level, basic idea: • Assemble each stair step in isolation • Have two stair steps combine if they are the right size
A question • Assume: 2N - 1 unique tile types are required to uniquely produce an NxN square in the aTAM, at temperature 1, but the seed has to be placed at the origin • This is conjectured to be true, but has not been verified yet • What is the tile complexity of uniquely building an NxN square, at temperature 1, in the 2HAM? • Upper bound? • Lower bound?
An answer • Assume a 2HAM tile set T uniquely builds an NxN square with 2N-2 tile types • Since the temperature is 1, there is a one-tile-at-a-time assembly sequence in T, starting from any point in the square, namely the origin, and fills in the square • T would do the exact same thing in the aTAM (at temperature 1) • This contradicts the assumption from the previous slide.
Simulate a special “Busy Beaver” Turing machine on the empty string input Busy beaver Turing machines run for a long time, but in this example, the TM halts immediately Let T = the number of transitions the Turing machine takes to halt on input empty string Tiles non-deterministically attach to the top row of the Turing machine simulation 0/1 possible at each location, marking left and right locations (this defines the value x) Count up from the guessed value (x in this example) to the next highest power of two minus one Grow a “cap” row C R1 1 1 1 R1 R1 s s R0 R0 1 1 L1 L1 1 c c 0 R0 L1 L1 B s z L1 R1 0 R0 c R$ 1 L1 0 R$ c D L1 R? 1 1 c z 1 L1 lo lo lo 0 0 lo 0 lo lo 0 !0 B hi A R R R c R R R c L # q0_ q0_ L? c lo ? lo lo # # R 0 !0 1 1 lo c s s s 0 1 _ L? _ R? Lh Rh A # qh ? hi lo # R Lh Rh lo q0_ Build one stair step... 2N - x x N = 2*T + 1
_ L? _ R? R hi lo _ _ _ _ L L L L L L L hi hi hi hi 0 0 0 _ 0 0 0 _ > > > > > > > > qh 1 0 ? 0 0 _ _ _ _ _ ? 0 0 _ 0 q2 q1 h > > h > h > R R R 0 R$ _ _ 1 q2_ q21 q1_ _ _ _ _ 0 0 _ _ _ 0 ? ? _ ? ? _ ? _ ? ? q1_ q21 q2_ R R R D < < < q2 q1 q2 h L L h L L h h h h < h h h h h < < h h R? 1 _ _ 0 0 _ L _ L 0 0 _ L 0 L q2 R _ _ _ R R R Rq3_ R R R _ Rq3_ lo lo lo hi lo lo lo lo 1 0 lo 0 lo lo lo 1 hi hi lo 0 hi lo hi hi lo lo lo lo 0 lo 1 lo lo 0 1 lo hi hi lo hi lo lo lo lo 1 lo 0 hi hi hi hi 1 lo lo 0 lo 1 lo 1 lo hi lo 0 lo 0 lo hi hi 0 lo lo lo lo lo lo Rq3 B B B B B hi hi hi hi hi lo # # # # # q0_ q0_ lo lo lo lo lo lo ? lo hi ? hi hi hi hi lo lo lo hi lo hi ? lo ? hi lo ? lo lo ? lo lo ? lo ? ? lo # # # # # # lo A A A A A # # # # # 1 1 # # # # # L Rq3 lo lo lo lo lo q0_ 1 L1 A L? Can anybody see a problem with this?
_ L? _ R? R hi lo _ _ _ _ L L L L L L L L L L L L hi hi hi hi 0 0 0 _ _ 0 0 0 > > > > > > > > 1 0 qh 0 0 ? _ _ _ ? _ _ 0 0 0 _ h q1 q2 > h > > h > R R R 0 R$ _ _ 1 q2_ q21 q1_ _ _ _ _ _ 0 _ 0 _ 0 _ ? _ ? ? ? ? ? ? _ q2_ q1_ q21 R R R D < < < q1 q2 q2 L h h h L h L L h h h h h h h h < < h < R? _ 1 _ 0 0 _ 0 L _ L 0 L _ 0 L q2 R _ _ _ R R R Rq3_ R R R R R R _ Rq3_ lo lo lo hi lo lo lo lo 1 1 lo 0 0 0 hi 1 lo 0 1 lo hi lo 0 hi lo hi lo lo hi lo lo hi lo lo lo hi lo lo lo lo lo lo 0 lo hi lo hi hi hi lo hi lo lo hi hi 0 hi lo lo lo 0 lo 0 lo lo 1 1 lo lo 1 lo 1 lo 0 lo Rq3 R B B B B B hi hi hi hi hi R R L R L L R R R R L L R L R R R R R R R R R L R R L L R L L R R L R R R L L R R R R R R L R R R R R R R L lo L L L L L # # # # # q0_ q0_ hi ? lo ? ? hi hi lo ? lo lo ? lo lo lo ? lo ? hi lo lo hi ? lo lo lo lo hi hi ? lo lo hi lo lo lo # # # # # # R lo A A A A A # # # # # 1 1 # # # # # R R R R R L Rq3 lo lo lo lo lo q0_ 1 L1 A L? More steps for the Turing machine means wider steps Wider steps means more steps in the staircase! NOTE: The same Turing machine is simulated in every step, so every step is the same width
C C R1 1 1 R1 1 1 1 R1 R1 R1 s s s R0 R0 R0 1 1 1 L1 L1 L1 1 1 c c c 0 0 R0 R0 L1 B L1 B L1 s s z z L1 L1 R1 R1 C C B B 0 R0 c R$ 1 1 L1 L1 0 R$ c c D L1 L1 R? 1 R1 1 1 1 1 s c c 0 z z !0 1 R$ R$ 1 1 L1 L1 lo 0 lo lo lo 0 lo lo lo 0 lo lo lo lo 0 lo !0 !0 D D A B B hi hi A A c R R R R R R c R R R R R R ? R? L L # # q0_ q0_ q0_ q0_ L? L? lo lo lo lo ? lo c lo # # # # R R 0 0 !0 !0 1 1 1 1 lo lo c c s s s s s s 0 0 1 1 _ _ L? L? _ _ R? R? Lh Lh Rh Rh A A # # qh qh ? ? hi hi lo lo # # R R Lh Lh Rh Rh lo lo q0_ q0_ Together at last…
C C 1 R1 R1 1 1 1 1 R1 R1 R1 s s s R0 R0 R0 1 1 1 L1 L1 L1 1 1 c c c 0 0 R0 R0 B L1 B L1 L1 s s z z L1 L1 R1 R1 C B 0 R0 c R$ 1 1 L1 L1 0 R$ c c D L1 L1 R? 1 R1 1 1 1 1 s c c z 0 z !0 1 R$ R$ 1 1 L1 L1 lo lo lo lo lo 0 0 lo lo 0 0 lo lo lo lo lo !0 !0 D D A B B hi hi A A R R R R R c R R R R c R R R ? R? L L # # q0_ q0_ q0_ q0_ L? L? lo c lo lo lo lo lo ? # # # # R R 0 0 !0 !0 1 1 1 1 lo lo c c s s s s s s 0 0 1 1 _ _ L? L? _ _ R? R? Lh Lh Rh Rh A A # # qh qh ? ? hi hi lo lo # # R R Lh Lh Rh Rh lo lo q0_ q0_ Together at last…
Tile complexity • Let M be any Turing machine that runs for T steps when given the empty string as input • Assume M has k states and a constant number of input/tape alphabet symbols • 2HAM tile complexity for building a staircase of size 2T + 1: O(k) • Can’t use this procedure to assemble staircases of any size • But can always assemble arbitrarily large staircases with a number of unique tile types asymptotically less than the width of a stair step
Busy beaver separation • Let M be the following (“busy beaver”) Turing machine: • Running time of M on empty string as input: T = 47176870 steps(Thanks: http://en.wikipedia.org/wiki/Busy_beaver) • Let N = 2T + 1 • Desired size of staircase: N • aTAM: at least c* 47176870 unique tile types needed, for some constant c • 2HAM: < 100 unique tile types needed
The 2HAM is better • Why is the 2HAM so much better at building staircases (of size N) than the aTAM? • One possible answer: cooperation in the 2HAM does not need to be local, like it always is in the aTAM • Geometry of assemblies can be used to hinder/help assembly
Is the 2HAM better? • Is the 2HAM really better than the aTAM? • Can the 2HAM literally do anything that the aTAM can do? • Example: take an aTAM tile set T and pretend it’s a 2HAM tile set • Does T produce exactly the same assemblies in the 2HAM as it does in the aTAM? • Intuitively: an assembly sequence in the aTAM can be carried out by the 2HAM…
B B B 3 3 3 4 4 4 B B B 2 2 2 B B B 3 3 3 A A A 1 1 1 2 2 2 ?? ?? ?? C C C C C C B B B 4 4 4 S S A A 1 1 aTAM as 2HAM example It’s clear that this tile set produces one assembly… … in the aTAM! What about in the 2HAM? Temperature τ = 1
B B B B B B B 3 3 4 4 B B B B B B B 2 2 B B B B B B B 3 3 A A A A A A A 1 1 2 2 ?? ?? C C C C B B 4 4 S A 1 aTAM as 2HAM example “aTAM as 2HAM” does not automatically work. In the 2HAM: cannot (easily) enforce sequential tile additions Temperature τ = 1
Simulation • Fact: the 2HAM can “simulate” the aTAM • “simulate” specifies that single tiles in an aTAM tile set must be treated as producible assemblies • That is, for each aTAM system T, there is a 2HAM system S satisfying the following: • Every assembly tree of S represents one assembly sequence of T (OR just a single tile type of T) • Every assembly sequence of T is represented by one assembly tree of S • Key detail: the producible assemblies of S are scaled up versions of producible assemblies of T • The scale factor is 5!
The basic idea • Start with an aTAM tile system as input • Represent each aTAM tile type as a 5 x 5 supertile • Bricks: 3 x 3 supertiles that map to aTAM tiles • Mortar: 1 x 3 (or 3 x 1) supertiles and singleton tiles that hold bricks together • Simulate dynamics and production (not connectivity) • Too many details! S
Simulation: generalizations • Any aTAM system at temperature 1 or 2 can be simulated by a 2HAM system at temperature 2 • Any aTAM system at temperature 3 can be simulated by a 2HAM system at temperature 3 • Any aTAM system at temperature ≥ 4 can be simulated by a 2HAM system at temperature 4
Verification • Verifying unique production in the aTAM (in 3D) can be done by an efficient algorithm • O(“size of the assembly”2) • Verifying unique production in the 2HAM (in 3D) probably cannot be done by any efficient algorithm • Very complicated, but very COOL, proof of this! • The complexity of verifying unique production in the 2HAM in 2D is not known and currently under investigation • Verifying producibility in the 2HAM can be done by an efficient algorithm • Doty (2013): O(|A|*log2|A|)
Summary 2HAM = Ω(aTAM)