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

Slides:



Advertisements
Similar presentations
Analysis of Algorithms
Advertisements

Alternatives to Truthfulness Are Hard to Recognize Carmine Ventre (U. of Liverpool) Joint work with: Vincenzo Auletta & Paolo Penna & Giuseppe Persiano.
Department of Computer Science & Engineering
1 The Limits of Computation Intractable and Non-computable functions.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
. Hidden Markov Model Lecture #6. 2 Reminder: Finite State Markov Chain An integer time stochastic process, consisting of a domain D of m states {1,…,m}
Discrete Structures & Algorithms The P vs. NP Question EECE 320.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
NP-Complete Problems Problems in Computer Science are classified into
Analysis of Algorithms CS 477/677
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
NP-COMPLETENESS PRESENTED BY TUSHAR KUMAR J. RITESH BAGGA.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Notes for self-assembly of thin rectangles Days 19, 20 and 21 of Comp Sci 480.
Notes on assembly verification in the aTAM Days 22, 24 and 25 of Comp Sci 480.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Notes on the two-handed assembly model (2HAM) Days 38 and 39 of Comp Sci 480.
Notes on the optimal encoding scheme for self-assembly Days 10, 11 and 12 Of Comp Sci 480.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Recurrences David Kauchak cs161 Summer Administrative Algorithms graded on efficiency! Be specific about the run times (e.g. log bases) Reminder:
NP-Complete problems.
Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2006 Lecture 28Dec 5th, 2006Carnegie Mellon University Complexity Theory: A graph.
Notes on temperature programming: lines and scaled shapes Days 28, 29 and 30 of Comp Sci 480.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong The Cook-Levin.
Intro to Planning Or, how to represent the planning problem in logic.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley.
Notes on randomized self- assembly Days 34, 35, 36 and 37 of Comp Sci 480.
Leo Lam © Signals and Systems EE235 KX5BQY.
Notes for temperature 1 self- assembly Days 15, 16, 17 and 18 of Comp Sci 480.
1 CSE 326: Data Structures: Graphs Lecture 24: Friday, March 7 th, 2003.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Theory of Computational Complexity Yuji Ishikawa Avis lab. M1.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Algorithm efficiency Prudence Wong.
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Algorithm efficiency Prudence Wong
P, NP, NP-completeness 2 Reductions 1 Thu, July 7 th 1.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
The NP class. NP-completeness
Chapter 10 NP-Complete Problems.
COMP108 Algorithmic Foundations Algorithm efficiency
COMP108 Algorithmic Foundations Divide and Conquer
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
DNA Self-Assembly Robert Schweller Northwestern University
Objective of This Course
Chapter 11 Limitations of Algorithm Power
Combinatorial Optimization Problems in Self-Assembly (Given a shape, output an “efficient” tile-system for assembling it)
CSC 380: Design and Analysis of Algorithms
NP-Completeness Yin Tat Lee
NP-COMPLETE Prof. Manjusha Amritkar Assistant Professor Department of Information Technology Hope Foundation’s International Institute of Information.
More on NP-completeness
More NP-complete problems
Notes on temperature programming
Presentation transcript:

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

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

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…

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

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

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 ›

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

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

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

An example…

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

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

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

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

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

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

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

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?

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?

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