Download presentation
Presentation is loading. Please wait.
Published byAubrey Stevenson Modified over 9 years ago
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 x 0, …, x n-1, –m clauses C j Each clause is three boolean values OR’d together –A formula φ = C 0 Λ C 1 Λ ∙∙∙ Λ C m-1 Output: Yes if there is a way to assign boolean values to the variables x 0, … x n-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
x0x0 x0x0 x0x0 * x0x0 BL x1x1 x n-1 X n-1 x n-1 TL * * * C0C0 BL C0C0 C1C1 C0C0 C0C0 C m-1 BRC m-1 * BR * SAT T * * TLT T OK TT F TF F FF F FF 0 * * xixi * 0x i 1 * * xixi 1x i OK CjCj 0x i If x i = 0 C j true OK CjCj 1x i If x i = 1 C j true OK CjCj CjCj 1x i Otherwise CjCj CjCj CjCj 0x i Otherwise CjCj OK 0x i OK 1x i OK CjCj CjCj 1x i 0x i BEFORE: solve 3SAT
9
x0x0 x0x0 x0x0 * x0x0 BL x1x1 x n-1 X n-1 x n-1 TL * * * C0C0 BL C0C0 C1C1 C0C0 C0C0 C m-1 BRC m-1 * BR * SAT T * * TLT T OK TT F TF F FF F FF 0 * * xixi * 0x i 1 * * xixi 1x i OK CjCj 0x i If x i = 0 C j true OK CjCj 1x i If x i = 1 C j true OK CjCj CjCj 1x i Otherwise CjCj CjCj CjCj 0x i Otherwise CjCj OK 0x i OK 1x i OK CjCj CjCj 0x n-1 Modified 3SAT solving tile set * * 1x n-1 0x i 1x i
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
TSAT φ = (x 0 V x 1 V ¬x 2 ) Λ (x 0 V ¬x 1 V x 2 ) Λ (¬x 0 V x 1 V ¬x 2 ) 1C1C1 *C0C0 OK*x0x0 * *C0C0 * ‹ 4 › x1x1 x2x2 C1C1 C2C2 **0 TTT OK C1C1 1 TSAT 0C1C1 *C0C0 OK*x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 TTT 0 C0C0 TSAT 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 TTT OK 0 C2C2 C2C2 T 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 TFF 0C0C0 C0C0 C1C1 C1C1 C1C1 T 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 0 C2C2 TTSATT 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 T OK 1 TTSAT C0C0 C1C1 OKC0C0 T 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 1 T C2C2 C2C2 C2C2 FT 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 1 T C2C2 TSAT
13
T φ = (x 0 V x 1 V ¬x 2 ) Λ (x 0 V ¬x 1 V x 2 ) Λ (¬x 0 V x 1 V ¬x 2 ) 1C1C1 *C0C0 OK*x0x0 * *C0C0 * ‹ 4, 6 › x1x1 x2x2 C1C1 C2C2 **0 TTT OK C1C1 1 TSAT 0C1C1 *C0C0 OK*x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 TTT 0 C0C0 TSAT 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 TTT OK 0 C2C2 C2C2 T 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 TFF 0C0C0 C0C0 C1C1 C1C1 C1C1 T 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 0 C2C2 TTSATT 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **0 T OK 1 TTSAT C0C0 C1C1 OKC0C0 T 0**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 1 T C2C2 C2C2 C2C2 FT 1**x0x0 * *C0C0 *x1x1 x2x2 C1C1 C2C2 **1 T 1 T C2C2 TSAT φ solvable T φ does NOT produce a unique assembly
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., A 0
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(n 2 )”
17
Solve 3SAT Algorithm Solve-3SAT(φ) // φ is a 3SAT formula with n variables // and m clauses 1.Create a tile set T φ as previously discussed. 2.If Temperature-Programming-Unique-Assembly(T φ, A 0, ‹4, 6›) outputs No then output Yes. 3.If Temperature-Programming-Unique-Assembly(T φ, A 0, ‹4, 6›) outputs Yes then output No. Running time (dominated by): “O(|T φ | 2 *|A| 2 )” = “O(|T φ | 2 *|A 0 | 2 )” = “O(|T φ | 2 *|1| 2 )” = “O(|T φ | 2 )” = “O((m + n) 2 )” = “O(n 2 )”
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(N 1/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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.