1 / 16

8.2 – Strong NP Completeness

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.

micheal
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. 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. 8.2 – Strong NP Completeness Adam Jones jaj33@cse.msstate.eduCSE 8813, Theory of Computation Fall 2008

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

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

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

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

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

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

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

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

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

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

  12. 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)

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

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

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

  16. TO BE CONTINUED...

More Related