Upload
theola
View
34
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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) - PowerPoint PPT Presentation
Citation preview
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
Self-assembly of NxN squares at temperature 1
Full squares (review)
This is an NxN square…
If |T| < N2, then there must be two locations (A and B) that get the same tile type…
Full-connectivity assumption gives us this connected path of tiles, i.e., we can get from A to B…
Then we can “pump” the segment from A to B infinitely many times, which contradicts the “unique assembly” assumption1 2 3
• 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)…
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
S 1
A
A
B
B
C
1
2
C
D
X2
D
X
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
21 3 4
A
B
C
A
B
C
A
B
C
A
B
C
Infinite assemblies…
Infinite assemblies at temperature 1
• What kinds of infinite shapes can we build at temperature 1?
• Let’s see…
A line – boring!
S 1
1111S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
A slanted “comb”
S
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…
An observation
• 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”…
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
S
A
S
A
S
Suppose c = 8 (for the sake of
example)
S
Assume the tile set that produces this assembly is pumpable…
The above is a finite portion of an infinite, uniquely produced assembly
Warm-up examples
• Prove/disprove: every pumpable tile set is locally deterministic
• Prove/disprove: every locally deterministic tile set is pumpable
A line
S 1
1111S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Is this tile set pumpable?YES
What is the pumpability constant c?c=3
c=2 ???YES
A slanted “comb”
S
Is this tile set pumpable?YES
What is the pumpability constant c?c=9
c=8 ???NO
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
S
B B B B
Pumpability conjecture
• 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”
Consequences of pumpability
• 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!
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?
No!
(Just barely) 3D self-assembly
• 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
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)
Squares
• 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
3D counter
• 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)
The seed row
S
01 01 00 00
!
12 12
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
S
01 01 00 00
!
1 1 1 1
11N
N
12 12 00 00
10 10
0101
0 0 0
0
0101
N
N1 1 1
1
12 12$
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.
1
Copy left to right
S !
1 1 1 1
11N
N
12 12 00 00
10 10
0101
0 0 0
0
0101
N
N
1
1 1 1
1
12 12$ 1
11111
1 11
12 12
01 01
000
0 0
01 01
1
111 1
1
10 10
!
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)
000
0b1
b11
1 0bk-1
bk-1k-1
k-1
For each i = 0, 1, …, k-1, if bi is 0, create the following macro block:
S
0i 0i
!
For each i = 0, 1, …, k-1, if bi is 1, create the following macro block:
1i 1i
Simulated tile types:
The seed initiates the macro block for bit k-1
The macro block for i initiates the macro block for i-1
A special tile type binds to macro block for bit 0 to start the counter
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.
00 00
!
Increment bit 0
1 1 1 1
11N
N
10 10
110
n
00
00 00
!
0 0
00C
C
10 10
000
c
10
0 0
0
0
0000
Increment bit k-1, no carry
11k-1
n
1k-1
1k-1 1k-1
1 1 1
1
1k-1 1k-1
$
00k-1
n
0k-1
0 0 0
0
$
0k-1 0k-10k-1 0k-1
0
0k-10k-1
0
N N
C
Increment bit k-1, yes carry
01k-1
c
STOP
1k-1 1k-1
stop stop stop
stopstop stopstop
stop
stopstop
stop
stop
00k-1
c
1k-1
1 1 1
1
$
0k-1 0k-10k-1 0k-1
1k-1 1k-1
C
11
Increment bits i=1,…,k-2, no carry
0 0 0
0
0i0i
N 0
N
00i
n
0i
n 11i
n
1i
n
0i0i
1 1 1
1N
N
1i 1i1
1i 1i
N N
11
Increment bits i=1,…,k-2, yes carry
1 1 1
1N
N
10i
c
1i
n 01i
c
0i
c
0 0 0
0C
C
1i 1i0
1i 1i
0 0
0i0i
CC
0i0i
Copy bit k-1
11k-1
1k-1
00k-1
0k-1
1
1k-1 1k-1$ 1
11111
1 11
1k-1 1k-1
$
00000
0 00 0
0k-1 0k-1
0k-10k-1
Copy bit 0
000
00
110
10
1
11
10 10 1
111 1
1
10 10
!
0
00
000 0
0 !
0
00
0
0
0000
0
00 00
Copy bits i=1,…,k-2
00i
0i
0
0101
000
0 0
0i 0i
0i 0i
11i
1i
0
111
1
1i 1i 1
1i 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
Something completely different…
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…
Restricted glue model example
S
SS
S
The red square is the unique negative glue allowed by the model…
It is present on two of the tile types in this example
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)
Efficient binary counter
• As with the 3D square construction, we will study an easier problem:
• Count in binary efficiently
• That is, assemble an Nxk rectangle using O(k) unique tile types
Simulate a zig-zag counter
• Just like the 3D temperature 1 binary counter, our restricted glue binary counter will simulate the 2D temperature 2 zig-zag binary counter with macro blocks
• Key differences:– Our simulation will be 2D– It will have a unique assembly sequence (unlike the 3D
counter)
• Our restricted glue binary counter will have a scale factor blow-up– Final (uniquely produced) assembly will have
dimensions O(N) x O(k)
The macro blocks
• Don’t define each macro block
• Just look at some examples of how the counter assembles
The seed row
S
12 01
12 01
00
00
In general…
1i
1i
The negative glue on a “bump” encodes a 1
0i
0i
The negative glue on a “dent” encodes a 0
Increment right to left
S
12 01
12 01
00
00
!
C00
11
1
10
N01
N
N
N
01
N12
NN12
10
01
N12
00
10
01
11
02
12These tiles essentially “guess” the correct bit value from the previous seed/copy row – depending on location of the negative glue (is it on the bump or the dent?)…
10
Carry/no carry signal propagated east to west
Bit values are determined using the geometry of the path and the placement of the negative glue
Copy left to right
12
12 01
10
!
10
12
02
11
01
10
00
Start the next increment row!
$tart the copy row… 1N01 10N12 01 10
S
12 01
12 01
00
00
C00N01N12
!1110N NNN12 01
$ 12
Simulated tile set
• The seed row (k tile types k macro blocks)• Increment
– Bit 0 (2 tile types 2 macro blocks)– Bit k-1 (2 tile types 2 macro blocks)– Bits 1,…,k-1 (4k tile types 4k macro blocks)
• Copy– Bit 0 (2 tile types 2 macro blocks)– Bit k-1 (2 tile types 2 macro blocks)– Bits 1,…,k-1 (2k tile types 2k macro blocks)
• Each macro block has O(1) unique tile types• Tile complexity: O(k)
What else?
• Can we build a restricted glue binary counter that uniquely assembles an Nxk rectangle using O(k / log k) unique tile types?– Can the optimal encoding scheme be made to work in the
restricted glue model?– Hmmm…
• It is possible to simulate an arbitrary Turing machine in the restricted glue model– Or simulate any 2D temperature 2 “zig-zag” system
• What is the tile complexity?• Just like in 3D!• Open question: Is the restricted glue model “equivalent” to the 3D
temperature 1 model?– That is, can you do anything in the restricted glue model that you can
do in 3D temperature 1… and can you do everything in the 3D temperature 1 model that you can do in the restricted glue model?
– Hmmm…
Temperature 1 summary
• Tile complexities of uniquely producing 2D NxN squares at temperature 1:– Full-connectivity: N2
– No glue mismatches: 2N – 1
– In general: ≤ 2N – 1
• Proving ≥ 2N – 1 is still open
• 3D self-assembly of NxN squares:– All you need is two 2D planes (z=0 and z=1)
– Tile complexity is O(log N)
• Is O(log N / log log N) possible?
• Drawback: not fully connected (not even close!)
• Can simulate Turing machines at temperature 1 in 3D– Use two 2D planes
– Turing machine simulation must “zig-zag”
• Can efficiently assemble NxN squares and simulate Turing machines in the restricted glue model
– Is 3D temperature 1 self-assembly equivalent to the restricted glue assembly model?