8.2 – Strong NP Completeness

Slides:



Advertisements
Similar presentations
NP-Completeness.
Advertisements

What is Intractable? Some problems seem too hard to solve efficiently. Question 1: Does an efficient algorithm exist?  An O(a ) algorithm, where a > 1,
The Theory of NP-Completeness
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
The Theory of NP-Completeness
Chapter 11: Limitations of Algorithmic Power
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
1 The Theory of NP-Completeness 2 NP P NPC NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete P=NP? X = P.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
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.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
1 How to establish NP-hardness Lemma: If L 1 is NP-hard and L 1 ≤ L 2 then L 2 is NP-hard.
LIMITATIONS OF ALGORITHM POWER
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 P and NP. 2 Introduction The Traveling Salesperson problem and thousands of other problems are equally hard in the sense that if we had an efficient.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
Young CS 530 Ad. Algo. D&A NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
The Theory of NP-Completeness
Limitation of Computation Power – P, NP, and NP-complete
NP-Complete Problems.
P & NP.
Chapter 10 NP-Complete Problems.
Intractable Problems Time-Bounded Turing Machines Classes P and NP
8.3.2 Constant Distance Approximations
Richard Anderson Lecture 26 NP-Completeness
COMPLEXITY THEORY IN PRACTICE
Optimization problems such as
Richard Anderson Lecture 26 NP-Completeness
Algorithms for hard problems
Chapter 4: Using NP-Completeness to Analyze Subproblems
Computability and Complexity
Analysis and design of algorithm
Intractable Problems Time-Bounded Turing Machines Classes P and NP
ICS 353: Design and Analysis of Algorithms
Intractable Problems Time-Bounded Turing Machines Classes P and NP
Richard Anderson Lecture 25 NP-Completeness
Intractable Problems Time-Bounded Turing Machines Classes P and NP
Richard Anderson Lecture 28 NP-Completeness
Chapter 11 Limitations of Algorithm Power
NP-Complete Problems.
NP-completeness The Chinese University of Hong Kong Fall 2008
CS 3343: Analysis of Algorithms
CSE 6408 Advanced Algorithms.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
P, NP and NP-Complete Problems
4-9问题的形式化描述.
Approximation Schemes
Complexity Theory in Practice
The Theory of NP-Completeness
8.2: Strong NP-Completeness
P, NP and NP-Complete Problems
Complexity Theory in Practice
CSC 380: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP Completeness
More NP-Complete Problems
Complexity Theory: Foundations
Presentation transcript:

8.2 – Strong NP Completeness Adam Jones jaj33@cse.msstate.edu CSE 8813, Theory of Computation Fall 2008

General/Restricted Cases There exists no known generalizable algorithm for tractably solving problems of the class NP. Though these problems are intractable, most of them have individual instances that can be solved in polynomial time. For example, the Partition problem suddenly changes behavior when changing its element size to a unary encoding and can easily be solved with Dynamic Programming!

Pseudo-Polynomial Time Such problems as the unary encoded Partition problem are known to be pseudo-polynomial. Definition 8.2, page 302: An algorithm runs in pseudo-polynomial time on some problem if it runs in time polynomial in the length of the input encoded in unary. Examples: Subset Sums, Knapsack, Binpacking into Two Bins

Pseudo-Polynomial Time Using this unary encoding strategy can be quite useful for problems such as Subset Sums, Knapsack, Binpacking into Two Bins Also, binary encodings are always no longer than unary encodings, which are the length of the input, it follows that all polynomial time algorithms are also pseudo-polynomial time as well.

Pseudo-Polynomial Time There are certain stipulations: Values cannot be of an arbitrary size This must provide a reasonable unary encoding Many problems can be reasonably encoded in unary!

Pseudo-Polynomial Time Does this mean that if any problem can be reasonably encoded in unary that it is pseudo- polynomial?

Pseudo-Polynomial Time Does this mean that if any problem can be reasonably encoded in unary that it is pseudo- polynomial? Nope...

A New Type of NP There exist some problems that even with restricted cases and encodings can NEVER be solved in polynomial time. These problems are known as Strongly NP- Complete problems. Definition 8.3, page 303: An NP-Complete problem is Strongly NP- Complete if it cannot be solved in pseudo- polynomial time unless it is found that P = NP.

Strongly NP-Complete Problems There are many problems that can be expressed in unary and are still quite hard. These typically deal (but not necessarily) with arbitrarily large input values and cannot be reasonably encoded in unary. Examples: Satisfiability, Graph Three-Colorability, Vertex Cover, Hamiltonian Circuit, Set Cover

Showing Strong NP-Completeness Proposition 8.2, page 304 A problem П є NP is strongly NP-Complete if and only if there exists some polynomial p() such that the restriction of П to those instances max(I)≤p(len(I)) is itself NP-Complete. The best way to show that a problem is Strongly NP-Complete is to construct a transformation that produces only small numbers and subsequently shows that these transformations are also NP- Complete.

Subset Product Theorem 8.8, page 304: Subset Product is strongly NP-Complete. An instance of this problem is given by a finite set S, a size function s:S → N, and a bound B. The question is “Does there exist a subset S' of S such that the product of the sizes of the elements of S' is equal to B?” Proof, page 304

k-Partition Theorem 8.9, page 305: For each fixed k≥3, k-Partition is strongly NP- Complete. An instance of this problem (for k≥3) is given by a set of kn elements, each with a positive integer size; the sum of all the sizes is a multiple of n, say Bn, and the size s(x) of each element x obeys the inequality: B/(k+1) < s(x) < B/(k-1)

k-Partition The k-Partition problem is very closely related to the Binpacking problem. It can be expressed packing elements into k bins. Both k-Partition and Binpacking are strongly NP- Complete in their general form. However, under restrictions of the input size these can both be solved in pseudo-polynomial time.

Pseudo-Polynomial Transformations Definition 8.4, page 305: A many-one reduction, f, from problem П to problem П' is a pseudo-polynomial transformation if there exists polynomials p(,), q1(), and q2(,), such that, for an arbitrary instance I of П: f(I) can be computed in p(len(I), max(I)) time; len(I) ≤ q1(len'(f(I))); and max'(f(I)) ≤ q2(len(I), max(I)).

Pseudo-Polynomial Transformations The main difference between a polynomial and pseudo-polynomial transformation is the first condition mentioned in the Definition 8.4. The pseudo-polynomial transformation can take time polynomial in both len(I) and max(I), not just len(I), as with the polynomial transformation. Proposition 8.3, page 306: If П is strongly NP-Complete, П' belongs to NP, and П reduces to П' through pseudo- polynomial transformation, then П' is strongly NP-Complete.

TO BE CONTINUED...