8 2 strong np completeness
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

8.2 – Strong NP Completeness PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

8.2 – Strong NP Completeness. Adam Jones [email protected] CSE 8813, Theory of Computation Fall 2008. General/Restricted Cases. There exists no known generalizable algorithm for tractably solving problems of the class NP.

Download Presentation

8.2 – Strong NP Completeness

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


8 2 strong np completeness

8.2 – Strong NP Completeness

Adam Jones

[email protected] 8813, Theory of Computation

Fall 2008


General restricted cases

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

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 time1

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 time2

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 time3

Pseudo-Polynomial Time

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


Pseudo polynomial time4

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

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

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

Showing Strong NP-Completeness

Proposition 8.2, page 304A 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

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

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 partition1

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

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 transformations1

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.


8 2 strong np completeness

TO BE CONTINUED...


  • Login