notes for temperature 1 self-assembly

59
Notes for temperature 1 self-assembly Days 15, 16, 17 and 18 of Comp Sci 480

Upload: theola

Post on 14-Jan-2016

31 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: Notes for temperature 1 self-assembly

Notes for temperature 1 self-assembly

Days 15, 16, 17 and 18 of Comp Sci 480

Page 2: Notes for temperature 1 self-assembly

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

Page 3: Notes for temperature 1 self-assembly

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

Page 4: Notes for temperature 1 self-assembly

Self-assembly of NxN squares at temperature 1

Page 5: Notes for temperature 1 self-assembly

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)…

Page 6: Notes for temperature 1 self-assembly

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

Page 7: Notes for temperature 1 self-assembly

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

Page 8: Notes for temperature 1 self-assembly

Infinite assemblies…

Page 9: Notes for temperature 1 self-assembly

Infinite assemblies at temperature 1

• What kinds of infinite shapes can we build at temperature 1?

• Let’s see…

Page 10: Notes for temperature 1 self-assembly

A line – boring!

S 1

1111S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Page 11: Notes for temperature 1 self-assembly

A slanted “comb”

S

Still not very interesting!

Page 12: Notes for temperature 1 self-assembly

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…

Page 13: Notes for temperature 1 self-assembly

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”…

Page 14: Notes for temperature 1 self-assembly

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

Page 15: Notes for temperature 1 self-assembly

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

Page 16: Notes for temperature 1 self-assembly

Warm-up examples

• Prove/disprove: every pumpable tile set is locally deterministic

• Prove/disprove: every locally deterministic tile set is pumpable

Page 17: Notes for temperature 1 self-assembly

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

Page 18: Notes for temperature 1 self-assembly

A slanted “comb”

S

Is this tile set pumpable?YES

What is the pumpability constant c?c=9

c=8 ???NO

Page 19: Notes for temperature 1 self-assembly

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

Page 20: Notes for temperature 1 self-assembly

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”

Page 21: Notes for temperature 1 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!

Page 22: Notes for temperature 1 self-assembly

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?

Page 23: Notes for temperature 1 self-assembly

No!

Page 24: Notes for temperature 1 self-assembly

(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

Page 25: Notes for temperature 1 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)

Page 26: Notes for temperature 1 self-assembly

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

Page 27: Notes for temperature 1 self-assembly

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)

Page 28: Notes for temperature 1 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!

Page 29: Notes for temperature 1 self-assembly

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.

Page 30: Notes for temperature 1 self-assembly

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!)

Page 31: Notes for temperature 1 self-assembly

The macro blocks…

(these will implicitly define the tile set)

Page 32: Notes for temperature 1 self-assembly

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.

Page 33: Notes for temperature 1 self-assembly

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

Page 34: Notes for temperature 1 self-assembly

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

Page 35: Notes for temperature 1 self-assembly

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

Page 36: Notes for temperature 1 self-assembly

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

Page 37: Notes for temperature 1 self-assembly

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

Page 38: Notes for temperature 1 self-assembly

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

Page 39: Notes for temperature 1 self-assembly

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

Page 40: Notes for temperature 1 self-assembly

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

Page 41: Notes for temperature 1 self-assembly

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!

Page 42: Notes for temperature 1 self-assembly

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)

Page 43: Notes for temperature 1 self-assembly

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

Page 44: Notes for temperature 1 self-assembly

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

Page 45: Notes for temperature 1 self-assembly

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

Page 46: Notes for temperature 1 self-assembly

Something completely different…

Page 47: Notes for temperature 1 self-assembly

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?

Page 48: Notes for temperature 1 self-assembly

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…

Page 49: Notes for temperature 1 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

Page 50: Notes for temperature 1 self-assembly

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)

Page 51: Notes for temperature 1 self-assembly

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

Page 52: Notes for temperature 1 self-assembly

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)

Page 53: Notes for temperature 1 self-assembly

The macro blocks

• Don’t define each macro block

• Just look at some examples of how the counter assembles

Page 54: Notes for temperature 1 self-assembly

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

Page 55: Notes for temperature 1 self-assembly

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

Page 56: Notes for temperature 1 self-assembly

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

Page 57: Notes for temperature 1 self-assembly

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)

Page 58: Notes for temperature 1 self-assembly

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…

Page 59: Notes for temperature 1 self-assembly

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?