notes on temperature programming: lines and scaled shapes days 28, 29 and 30 of comp sci 480

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

Upload: asher-patrick

Post on 18-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

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

Notes on temperature programming: lines and scaled

shapesDays 28, 29 and 30 of Comp Sci

480

Page 2: Notes on temperature programming: lines and scaled shapes Days 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…

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

Basic idea…

1

S

τ = ‹ τ0 ›

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

Basic idea…

1 0

S

τ = ‹ τ0, τ1 ›

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

Basic idea…

1 0 1

S

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

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

Basic idea…

1 0 1 0

S

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

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

Basic idea…

1 0 1 0 0

S

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

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

Basic idea…

1 0 1 0 0 1

S

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

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

Basic idea…

1 0 1 0 0 1 1

S

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

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

Basic idea…

1 0 1 0 0 1 1 0

S

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

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

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…

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

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…

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

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 ›

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

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…

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

Cases

• There are two cases that we will consider

• In each case, we will derive a contradiction…

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

Case 1

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

τ = ‹ τ0 ›

S

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

Case 1

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

τ = ‹ τ0, τ1 ›

S

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

Case 1

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

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

S

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

Case 1

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

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

S

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

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…

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

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

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

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

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

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

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

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

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

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 , …›

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

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 , …›

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

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…

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

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

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

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

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

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 ›

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

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

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

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

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

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…

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

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

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

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.

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

Example Hamiltonian path

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

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

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

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

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

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…

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

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)

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

Bit-flip squares in action

S

0

0

A

0

0

A

0

1

A

00

A

01A

0

0

A1

0A

11

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

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

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

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

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

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)

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

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

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

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

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

Proof by induction

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

• Proof by induction on |X|

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

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

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

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

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

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

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

An example

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

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

An example

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

This point is also along the perimeter

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

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)

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

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

Missing2x2 block

for (x,y)

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

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!

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

Put it all together…

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

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