notes on temperature programming: unique assembly verification

21
Notes on temperature programming: unique assembly verification Days 30 and 31 of Comp Sci 480

Upload: chadwick-ewing

Post on 30-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

Notes on temperature programming: unique assembly verification. Days 30 and 31 of Comp Sci 480. The problem. Input: A tile set T, an assembly A and a temperature sequence τ = ‹ τ 0 , τ 1 › - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Notes on temperature programming: unique assembly verification

Notes on temperature programming: unique assembly

verificationDays 30 and 31 of Comp Sci 480

Page 2: Notes on temperature programming: unique assembly verification

The problem

• Input: A tile set T, an assembly A and a temperature sequence τ = ‹ τ0, τ1 ›

• Output: Yes if A is uniquely produced in the temperature sequence τ = ‹ τ0, τ1 › and No otherwise

• Restricted to two temperature phases– Just to keep things simple for now

• Call this problem: “temperature programming UAV”

Page 3: Notes on temperature programming: unique assembly verification

Temperature programming UAV

• Is this problem easy or difficult?

• Easy ≈ there is an efficient (“n-squared time”) algorithm that solves it

• Difficult ≈ ONLY exponential time algorithms can solve it

• Verifying unique assembly in the aTAM is easy

Page 4: Notes on temperature programming: unique assembly verification

A difficult problem

• The temperature programming UAV is difficult

• That is, it’s probably the case that any algorithm that solves it will take exponential time

• Let’s prove that it’s (probably) difficult…

Page 5: Notes on temperature programming: unique assembly verification

Our strategy

• Basic idea: Let’s solve 3SAT in the temperature programming model

• Then assume there is an efficient algorithm Temperature-Programming-Unique-Assembly that computes the temperature programming UAV problem

• We will use this algorithm to design an efficient algorithm for solving 3SAT

• Since 3SAT is probably a difficult problem, an efficient Temperature-Programming-Unique-Assembly probably doesn’t exist

Page 6: Notes on temperature programming: unique assembly verification

Recall 3SAT

• Input:– n boolean variables x0, …, xn-1, – m clauses Cj

• Each clause is three boolean values OR’d together

– A formula φ = C0 Λ C1 Λ ∙∙∙ Λ Cm-1

• Output: Yes if there is a way to assign boolean values to the variables x0, … xn-1 to solve φ (make it true) and No otherwise

• 3SAT is probably a difficult problem– I.e., any algorithm that solves it will probably have

exponential running time

Page 7: Notes on temperature programming: unique assembly verification

The goal

• We need a way to take a 3SAT formula φ and turn it into a tile set Tφ such that…

• If φ CAN be solved, then we want Tφ to NOT uniquely produce an assembly A in the temperature sequence τ = ‹ τ0, τ1 ›

• If φ CANNOT be solved, then we want Tφ to uniquely produce A in τ = ‹ τ0, τ1 ›

Page 8: Notes on temperature programming: unique assembly verification

x0

x0

x0

*

x0

BL

x1

xn-1

Xn-1

xn-1

TL

*

TL

TL

*

* C0BL C0 C1C0

C0

Cm-1 BRCm-1

Cm-1

*BR

*

SATT*

*

TL T T

OK

T T FT F FF F F

OK

F F

0

*

*

xi

*

0xi

1

*

*

xi 1xi

OK

Cj

0xi 0xi

If xi = 0 Cj true

OK

OK

Cj

1xi 1xi

If xi = 1 Cj true

OK

Cj

Cj

1xi 1xi

Otherwise

Cj

Cj

Cj

0xi 0xi

Otherwise

Cj

OK

OK

0xi 0xi

OK

OK

OK

1xi 1xi

OK

Cj Cj

1xi

0xi

BEFORE: solve 3SAT

Page 9: Notes on temperature programming: unique assembly verification

x0

x0

x0

*

x0

BL

x1

xn-1

Xn-1

xn-1

TL

*

TL

TL

*

* C0BL C0 C1C0

C0

Cm-1 BRCm-1

Cm-1

*BR

*

SATT*

*

TL T T

OK

T T FT F FF F F

OK

F F

0

*

*

xi

*

0xi

1

*

*

xi 1xi

OK

Cj

0xi 0xi

If xi = 0 Cj true

OK

OK

Cj

1xi 1xi

If xi = 1 Cj true

OK

Cj

Cj

1xi 1xi

Otherwise

Cj

Cj

Cj

0xi 0xi

Otherwise

Cj

OK

OK

0xi 0xi

OK

OK

OK

1xi 1xi

OK

Cj Cj

0xn-1

Modified 3SAT solving tile set

*

*1xn-1

0xi 1xi

Page 10: Notes on temperature programming: unique assembly verification

Tile complexity

• The previous tile set is called Tφ

• |Tφ | = O(m + n)

• It can be created in time O(m + n)

Page 11: Notes on temperature programming: unique assembly verification

An example…

Page 12: Notes on temperature programming: unique assembly verification

T SAT

φ = (x0 V x1 V ¬x2) Λ (x0 V ¬x1 V x2) Λ (¬x0 V x1 V ¬x2)

1

C1

*

C0 OK

*

x0

*

* C0 *

‹ 4 ›

x1

x2

C1 C2

*

*

0

T T T

OK

OK

OK

OK

C1

1 OK

T SAT

0

C1

*

C0 OK

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T T T

OK

OKOK0 OK

C0 OK

T SAT

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T T T

OKOK0 OK

OKOK

OK OK C2

C2

T

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T F F

OKOK0

C0

C0

C1

C1

C1

OK

OK

T

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OKOK0

OKOK

OK OK

OK

OK

C2

T T SAT T

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T

OKOK1

OKOK

OK

T T SAT

C0 C1 OK

C0

T

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OK1

OK

OK

T

OK

OK

C2

C2

C2

FT

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OK1

OK

OK

T

OK

OK

C2OK OK

OK

OK

T SAT

Page 13: Notes on temperature programming: unique assembly verification

T SAT

φ = (x0 V x1 V ¬x2) Λ (x0 V ¬x1 V x2) Λ (¬x0 V x1 V ¬x2)

1

C1

*

C0 OK

*

x0

*

* C0 *

‹ 4, 6 ›

x1

x2

C1 C2

*

*

0

T T T

OK

OK

OK

OK

C1

1 OK

T SAT

0

C1

*

C0 OK

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T T T

OK

OKOK0 OK

C0 OK

T SAT

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T T T

OKOK0 OK

OKOK

OK OK C2

C2

T

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T F F

OKOK0

C0

C0

C1

C1

C1

OK

OK

T

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OKOK0

OKOK

OK OK

OK

OK

C2

T T SAT T

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

0

T

OKOK1

OKOK

OK

T T SAT

C0 C1 OK

C0

T

0

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OK1

OK

OK

T

OK

OK

C2

C2

C2

FT

1

*

*

x0

*

* C0 *

x1

x2

C1 C2

*

*

1

T

OK1

OK

OK

T

OK

OK

C2OK OK

OK

OK

T SAT

φ solvable Tφ does NOT produce a unique assembly

Page 14: Notes on temperature programming: unique assembly verification

What if φ is solvable?

• Then some assemblies will be rectangles and maybe some won’t be– Maybe every assembly true/false assignment

works, so every assembly is a rectangle

• No matter what… a unique assembly will NOT be produced

Page 15: Notes on temperature programming: unique assembly verification

What if φ is not solvable?

• Every true/false assignment does not work

• Then all the produced assemblies are missing the upper right corner tile

• When the temperature is raised to 6, what happens?

• Is a unique assembly produced?

• Yes!– The assembly consisting of JUST the seed tile,

i.e., A0

Page 16: Notes on temperature programming: unique assembly verification

Pretend

• Pretend there is an algorithm called Temperature-Programming-Unique-Assembly that solves the temperature programming UAV with running time complexity “O(|T|2*|A|2)”

• We will build an algorithm to solve 3SAT with running time complexity “O(n2)”

Page 17: Notes on temperature programming: unique assembly verification

Solve 3SATAlgorithm Solve-3SAT(φ) // φ is a 3SAT formula with n variables

// and m clauses1. Create a tile set Tφ as previously discussed.2. If Temperature-Programming-Unique-Assembly(Tφ, A0, ‹4, 6›) outputs No then

output Yes.3. If Temperature-Programming-Unique-Assembly(Tφ, A0, ‹4, 6›) outputs Yes

then output No.

Running time (dominated by):

“O(|Tφ|2*|A|2)” = “O(|Tφ|2*|A0|2)” = “O(|Tφ|2*|1|2)”= “O(|Tφ|2)”= “O((m + n)2)”= “O(n2)”

Page 18: Notes on temperature programming: unique assembly verification

Contrast

• The UAV problem in the two temperature model is difficult

• The UAV problem in the single temperature (abstract Tile Assembly) model is easy

• Being able to remove tiles during the assembly process is a “powerful” assumption

Page 19: Notes on temperature programming: unique assembly verification

Another problem

• Input: A tile set T, a shape X and a temperature sequence τ = ‹ τ0, τ1 ›

• Output: Yes if the shape X is uniquely produced in the temperature sequence τ = ‹ τ0, τ1 › and No otherwise

• Easy or difficult?

Page 20: Notes on temperature programming: unique assembly verification

And another problem

• Input: A tile set T, an assembly A and a temperature sequence τ = ‹ τ0, τ1 ›

• Output: Yes if the assembly A is produced in the temperature sequence τ = ‹ τ0, τ1 › and No otherwise

• No “uniqueness”

• Easy or difficult?

Page 21: Notes on temperature programming: unique assembly verification

Summary• Multiple temperature model reduces tile complexities

– Thin rectangles:• O(N1/k + k) in aTAM to O(log N / log log N) with 1 temperature change in multiple

temperature model– Squares:

• O(log N / log log N) in aTAM to O(1) tile complexity with O(log N) temperature complexity in multiple temperature model

• Bit-flip gadget• No universal shape-builder tile set

– E.g., 1xN lines still have tile complexity N in the multiple temperature model – for any temperature sequence

• Can build arbitrary shapes with O(1) tile complexity and O(|X|) temperature complexity– Constant scale factor for each shape (scale factor does not depend on the

shape)– Bit-flip squares (along with rotated versions thereof)

• Difficult to verify whether or not a tile set in the temperature programming model uniquely produces an assembly– Easy in the aTAM