1 / 21

Notes on temperature programming: unique assembly verification

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 ›

Download Presentation

Notes on temperature programming: unique assembly verification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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”

  3. 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

  4. 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…

  5. 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

  6. 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

  7. 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 ›

  8. BEFORE: solve 3SAT * * T F F F SAT TL TL T T T T F F F F F T TL * OK Cj Cj OK xn-1 TL * xn-1 1 * OK OK Cj Cj OK OK 1xi xi 1xi 1xi 1xi 1xi 1xi 1xi 1xi Xn-1 * Cj Cj OK If xi = 1  Cj true Otherwise 0 * OK OK Cj Cj OK OK xi 0xi 0xi 0xi 0xi 0xi 0xi 0xi x0 x1 * * Cj Cj OK x0 0xi x0 If xi = 0  Cj true Otherwise * x0 * * C0 C0 Cm-1 Cm-1 * BL BL C0 C0 C1 Cm-1 BR BR

  9. Modified 3SAT solving tile set * * T F F F SAT TL TL T T T T F F F F F T TL * OK Cj Cj OK xn-1 TL * * xn-1 1 * OK OK Cj Cj OK OK 0xn-1 1xn-1 xi 1xi 1xi 1xi 1xi 1xi 1xi 1xi Xn-1 * Cj Cj OK If xi = 1  Cj true Otherwise 0 * OK OK Cj Cj OK OK xi 0xi 0xi 0xi 0xi 0xi 0xi 0xi x0 x1 * * * Cj Cj OK x0 0xi 1xi x0 If xi = 0  Cj true Otherwise * x0 * * C0 C0 Cm-1 Cm-1 * BL BL C0 C0 C1 Cm-1 BR BR

  10. Tile complexity • The previous tile set is called Tφ • |Tφ | = O(m + n) • It can be created in time O(m + n)

  11. An example…

  12. * * * * * * * * T T T T T T T T T T T T T T T F T T T T T F F T T T T T T T T T SAT SAT SAT SAT SAT SAT * * * * * * * * * * * * * * * * * * * * * * * * 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK C1 C2 C1 C1 C1 C1 C2 C1 C2 C2 C2 C2 C1 C2 x2 x1 x0 x1 x1 x0 x1 x2 x0 x0 x2 x2 x2 x1 x0 x2 x2 x0 x0 x1 x1 x1 x0 x2 C0 C0 C0 C0 C0 C0 C0 * * * * * * * * * * * * * * * * C0 C0 C0 C1 C0 C2 C0 C2 C1 C0 C1 C2 C0 C2 C1 C2 C1 C0 C1 C2 C1 C2 C1 C2 * * * * * * * * φ = (x0 V x1 V ¬x2) Λ (x0 V ¬x1 V x2) Λ (¬x0 V x1 V ¬x2) ‹ 4 ›

  13. * * * * * * * * T F T T T T T T T T T T T T T F T T T T T T T T T T T T F T T T SAT SAT SAT SAT SAT SAT * * * * * * * * * * * * * * * * * * * * * * * * 0 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK C1 C1 C2 C2 C2 C1 C2 C1 C2 C1 C1 C2 C2 C1 x0 x0 x1 x1 x1 x2 x2 x2 x2 x0 x0 x0 x1 x2 x1 x0 x0 x2 x1 x1 x2 x2 x1 x0 C0 C0 C0 C0 C0 C0 C0 * * * * * * * * * * * * * * * * C0 C0 C2 C1 C0 C0 C0 C2 C1 C1 C0 C2 C1 C1 C2 C2 C1 C2 C1 C1 C2 C2 C0 C0 * * * * * * * * φ solvable  Tφ does NOT produce a unique assembly φ = (x0 V x1 V ¬x2) Λ (x0 V ¬x1 V x2) Λ (¬x0 V x1 V ¬x2) ‹ 4, 6 ›

  14. 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

  15. 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

  16. 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)”

  17. Solve 3SAT Algorithm Solve-3SAT(φ) // φ is a 3SAT formula with n variables // and m clauses • Create a tile set Tφ as previously discussed. • If Temperature-Programming-Unique-Assembly(Tφ, A0, ‹4, 6›) outputs No then output Yes. • 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)”

  18. 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

  19. 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?

  20. 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?

  21. 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

More Related