Notes on temperature programming: lines and scaled shapes Days 28, 29 and 30 of Comp Sci 480.

Post on 18-Jan-2016

220 views 0 download

transcript

Notes on temperature programming: lines and scaled

shapesDays 28, 29 and 30 of Comp Sci

480

A question

• In 2006, Kao and Schweller asked if there exists a universal tile set (constant size) that can be programmed, via a carefully chosen sequence of temperatures, to build a 1xN line

• Maybe build a kxN rectangle first, and then melt away all but the bottom row?

• Seems plausible…

Basic idea…

1

S

τ = ‹ τ0 ›

Basic idea…

1 0

S

τ = ‹ τ0, τ1 ›

Basic idea…

1 0 1

S

τ = ‹ τ0, τ1, τ2 ›

Basic idea…

1 0 1 0

S

τ = ‹ τ0, τ1, τ2, τ3 ›

Basic idea…

1 0 1 0 0

S

τ = ‹ τ0, τ1, τ2, τ3, τ4 ›

Basic idea…

1 0 1 0 0 1

S

τ = ‹ τ0, τ1, τ2, τ3, τ4, τ5 ›

Basic idea…

1 0 1 0 0 1 1

S

τ = ‹ τ0, τ1, τ2, τ3, τ4, τ5, τ6 ›

Basic idea…

1 0 1 0 0 1 1 0

S

τ = ‹ τ0, τ1, τ2, τ3, τ4, τ5, τ6, τ7 ›

Basic idea…

1 0 1 0 0 1 1 0

S

τ = ‹ τ0, τ1, τ2, τ3, τ4, τ5, τ6, τ7, τ8 ›

This doesn’t work!

Let’s see why…

Lines

• Fact: N tile types are required to build a 1xN line in the temperature programming model, no matter how many temperature changes are allowed

• Same tile complexity as in the aTAM

• We will now prove this– In doing so, some details will be omitted…

Proof by contradiction

• Proof sketch…

• Assume that there is a tile set T, such that, for any N, there is a temperature sequence τ = ‹ τi › in which a 1xN line is uniquely produced

• Let N = |T| + 1

• Assume a 1xN line uniquely assembles in the sequence: τ = ‹ τ0, τ1, . . ., τm-1 ›

Two observations

S

N tiles

Observation 1: Each internal glue must be ≥ τm-1, …

…otherwise the final line would not be stable (and would fall apart)

Observation 2: All external glues must be < τm-1, …

…otherwise stuff could attach during the final temperature phase

and the resulting final structure would not be a line

Suppose this is what’s leftover after the final temperature phase completes…

Cases

• There are two cases that we will consider

• In each case, we will derive a contradiction…

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0 ›

S

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1 ›

S

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, ›

S

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

S

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

S

Pigeonhole principle says ≥ one tile type must be repeated…

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

BS

Pigeonhole principle says ≥ one tile type must be repeated… this one

AA

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

What if τA-X ≤ τm-1?

Then, by Observation 1, the A-B∙∙∙A segment could be repeated indefinitely during the stage in which X binds to A…

Must have: τA-X > τm-1

A XBS A

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

If τA-X > τm-1, then the A-B∙∙∙A segment can still be repeated indefinitely (slightly more complicated argument, so… details omitted)

A XBS A

Case 1

What if T assembles the line WITHOUT ever placing a tile outside of the 1xN line?

τ = ‹ τ0, τ1, …, τm-1 ›

No matter what, Case 1 yields a contradiction.

Conclusion: every assembly sequence in T must place a tile outside the 1xN line at some point.

On to case 2…

A XBS A

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Y

Suppose during temperature phase τi, T places the first tile outside of the line…

What is the strength with which Y binds (not necessarily to A)?

What if ≥ τm-1 … ?

… then Observation 2 says that it could be added back during the final

temperature phase (some details omitted)

τ = ‹ τ0, τ1, …, τi , …›

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Y

Suppose during temperature phase τi, T places the first tile outside of the line…

What is the strength with which Y binds (not necessarily to A)?

Must be: < τm-1 …

…AND the line is “capped” temporarily before this point – otherwise the

whole line would fill in when Y binds because Observation 1 says that all

internal bonds are at least τm-1

τ = ‹ τ0, τ1, …, τi , …›

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Yτ = ‹ τ0, τ1, …, τi , …›

When placing the cap tile, nothing should stop us from just putting the tile that would normally go after A…

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Yτ = ‹ τ0, τ1, …, τi , …›

When placing the cap tile, nothing should stop us from just putting the tile that would normally go after A…

B

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Y

τ = ‹ τ0, τ1, …, τi , τi +1, …›

But then, when we place Y, say at temperature phase τi+1 < τi, we are at temperature < τm-1 …

B

Case 2

S A

T must place some tile outside of the 1xN line at some point…

Y

But then, when we place Y, say at temperature phase τi+1 < τi, we are at temperature < τm-1 …

… so the rest of the line can fill in at this stage and in doing so, the A-B∙∙∙A segment could be repeated indefinitely (there’s nothing stopping it and the temperature is < τm-1 )

AB

τ = ‹ τ0, τ1, …, τi , τi +1, … τm-1 ›

Proof summary

• Fact: T must place some tile outside the line at some point

• Look at the first tile that gets placed outside the line– If it can bind too weakly, the whole line could

just fill in before it binds– If it can bind too strongly, then it could be

added back in the final temperature phase

Conclusion

• There is no such thing as a universal (constant size) tile set that can uniquely build 1xN lines for any N

• Corollary: there is no tile set T that can be programmed via a carefully chosen sequence of temperature changes to uniquely build ANY shape

Scaled shapes

• There is no universal tile set that can be programmed via temperature changes to build an arbitrary shape

• There IS a universal (constant size) tile set that can be programmed via temperature changes to build an arbitrary shape scaled up by a constant scale factor

• Will use the modified bit-flip gadgets• Some definitions first…

Scaling a shape

If X is a finite shape and c is some natural number, then the c-scaling of X, written as Xc is exactly the shape obtained by replacing each point in X with a cxc block of points

3-scaling…

X

X3

Hamiltonian paths

• Let X be a finite shape• A Hamiltonian path in X is a sequence of

locations in X, (x0,y0), (x1,y1), …, (x|X|-1, y|X|-1), satisfying the following properties:– [uniqueness] (xi,yi) ≠ (xj,yj) assuming i ≠ j– [adjacency] |xi – xj| + |yi – yj| = 1

• Definition: if X is a finite shape with a Hamiltonian path, we will say that X is a Hamiltonian shape.

Example Hamiltonian path

Another example...Does this shape have a Hamiltonian path?

Temperature programming scaled shapes

• There is a tile set T such that, for any finite Hamiltonian shape X, T uniquely assembles X11 via some temperature sequence ‹ τj ›0≤j<m with m = O(|X|)

• The tile set does not depend on X

• The temperature sequence DOES depend on X

• Only works for Hamiltonian shapes

Modified bit-flip gadgets

• Have a bunch of bit-flip square gadgets– 11x11

• Encode 4 signals– 11: Stop– 00: Keep going in same direction – 01: Turn left (relative to current orientation) – 10: Turn right (relative to current orientation)

• Use two bit-flip gadgets in sequence and just keep track of the 2-bit sequence

• Use filler tiles to fill in the rest of the 11x11 square• Lots of tedious details that will be omitted…

A

1

0A

0

1 A

1

1A

0

0

Bit-flip squares (high-level)

Create rotated versions of each of these squares for every possible direction of input (from the north, south, east or west)

Bit-flip squares in action

S

0

0

A

0

0

A

0

1

A

00

A

01A

0

0

A1

0A

11

Limitation of bit-flip squares

Not every shape has a Hamiltonian path…

How do we uniquely build (a scaled version of) this shape using bit-flip squares?

After all, our GOAL was to have a universal tile set that could be (temperature) programmed to build a

scaled version of ANY shape!!!

Fact

If X is a finite shape, then X2 is Hamiltonian, i.e., X2 has a Hamiltonian path

(we’ll prove this later)

Not Hamiltonian… Hamiltonian!

X

X2

Double the scale factor

• WE KNOW: There is a tile set T such that, for any finite Hamiltonian shape X, T uniquely assembles X11 via some temperature sequence ‹ τj ›0≤j<m with m = O(|X|)– Apply the previous statement with X2

• Mission accomplished: T (the bit-flip squares) can be temperature programmed to uniquely build a scaled up version of any shape (scale factor is 22 no matter what the shape is – Hamiltonian or not)

Proof of previous fact

• We should prove this: If X is a finite shape, then X2 is Hamiltonian, i.e., X2 has a “nice” Hamiltonian path

• What is a “nice” Hamiltonian path… ?

A “nice” Hamiltonian path• X is a finite shape• A Hamiltonian path is “nice” if…

– For all adjacent points (xi,yi), (xj,yj) along the perimeter of X2 that belong to the same 2x2 block, they must be consecutive along the path

• The adjacent points must have the same perimeter-facing sides (assuming points are represented as squares)

– The first and last points in the path are allowed to violate this condition

• Examples…

A “nice” path

Not “nice”**Does not imply that this shape is not nicely Hamiltonian, because you can probably think of a nice Hamiltonian path for this particular shape!

X

X2

X

X2

Proof by induction

• We will prove that, for every finite shape X, X2 has a nice Hamiltonian path

• Proof by induction on |X|

Base case: |X| = 1

• If |X| = 1, then X2 looks like this…

• X2 is clearly nicely Hamiltonian– Remember, the first and last points in

the path don’t count when determining “niceness” of the Hamiltonian path

Induction case

• Assume (inductive hypothesis): If |X| = k, then X2 is (nicely) Hamiltonian– I.e., X2 has a nice Hamiltonian path

• Prove: For a shape X with |X| = k + 1, X2 is nicely Hamiltonian

Apply induction hypothesis

• X has k + 1 points, i.e., |X| = k + 1• Let X' = X - (x,y), where (x,y) is some point along

the perimeter of X– X' is X with the point (x,y) deleted

• Assume X’ is still a shape– That is, removing (x,y) from X does not disconnect X

• Note: |X'| = |X - (x,y)| = |X| - 1 = k– Can apply the induction hypothesis because |X'| = k

• Induction hypothesis: X'2 has a nice Hamiltonian path

An example

X, with k + 1 points X' with k points

An example

X, with k + 1 points X' with k points

This point is also along the perimeter

Some cases

Look at the Hamiltonian path in X'2 in the points surrounding the 2x2 block for the point (x,y) that got deleted from X…

…Since (x,y) was deleted from the perimeter of X, these are the only

cases to consider (and symmetric variations thereof)…

Missing2x2 block

for (x,y)

Missing2x2 block

for (x,y)

Missing2x2 block

for (x,y)

Missing2x2 block

for (x,y)

Add the 2x2 block for (x,y) back to X'2

Missing2x2 block

for (x,y)

Now modify the nice Hamiltonian path to include the

newly added 2x2 block

The nice path is still nice after the modification

There are some other (special) cases to consider, but we now know that X2 has a nice Hamiltonian path…

…induction case satisfied!

Put it all together…

S

0

0

A

0

0

A

0

1

A

00

A

01A

0

0A

0

1

A11

A

10

A

0

1

A

00

A

01A

1

0

A

00

A

00

A

00