1 / 18

NP-complete examples

Fall 2009. NP-complete examples. Xiao Linfu. CSC3130 Tutorial 11. lfxiao@cse.cuhk.edu.hk. Department of Computer Science & Engineering. Outline. Review of P, NP, NP-C 2 problem s Double-SAT Dominating set http://en.wikipedia.org/wiki/Dominating_set_problem. Relations. hard. NP-C.

hien
Télécharger la présentation

NP-complete examples

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. Fall 2009 NP-complete examples Xiao Linfu CSC3130 Tutorial 11 lfxiao@cse.cuhk.edu.hk Department of Computer Science & Engineering

  2. Outline • Review of P, NP, NP-C • 2 problems • Double-SAT • Dominating sethttp://en.wikipedia.org/wiki/Dominating_set_problem

  3. Relations hard NP-C Is there any problem even harder than NP-C? NP Yes! e.g. I-go P easy

  4. Polynomial Time Reduction How to show that a problem R is not easier than a problem Q? Informally, if R can be solved efficiently, we can solve Q efficiently. • Formally, we say Q polynomially reduces to R if: • Given an instance q of problem Q • There is a polynomial time transformation to an instance f(q) of R • q is a “yes” instance if and only iff(q) is a “yes” instance Then, if R is polynomial time solvable, then Q is polynomial time solvable. If Q is not polynomial time solvable, then R is not polynomial time solvable.

  5. Methodology • To show L is in NP, you can either (i) show that solutions for L can be verified in polynomial-time, or (ii) describe a nondeterministic polynomial-time TM for L. • To show L is NP-complete, you have to design a polynomial-time reduction from some problem we know to be NP-complete

  6. The direction of the reduction is very important • Saying “A is easier than B” and “B is easier than A” mean different things • What we have? We know SAT, Vertex Cover problems are NP-Complete!

  7. Double-SAT • Definition: • Double-SAT = {<φ> |φ is a Boolean formula with at least two satisfying assignments} • Show that Double-SAT is NP-Complete. • (1) First, it is easy to see that Double-SAT ∈ NP. • non-deterministically guess 2 assignments for φand verify whetherboth satisfy φ. • (2) Then we show Double-SAT is not easier than SAT. • Reduction from SAT to Double-SAT

  8. Double-SAT • Reduction: • On input φ(x1, . . . , xn): • 1. Introduce a new variable y. • 2. Output formula φ’(x1, . . . , xn, y) = φ(x1, . . . , xn) ∧(y∨ y ).

  9. Dominating set • Definition: input G=(V,E), K • Let G=(V,E) be an undirected graph. A dominating set D is a set of vertices in G such that every vertex of G is either in D or is adjacent to at least one vertex from D. The problem is to determine whether there is a dominating set of size K for G.

  10. Dominating set - example • {yellow vertices} is an example of a dominating set of size 2. e

  11. Dominating set • Show that Dominating set is NP-Complete. • (1) First, it is easy to see that Dominating set ∈ NP. • Given a vertex set D of size K, we check whether (V-D) are adjacent to D. • (2) Then we show Dominating set is not easier than Vertex cover. • Reduction from Vertex cover to Dominating set

  12. Dominating set • Reduction • (1) Graph transformation - Construct a new graph G' by adding new vertices and edges to the graph G as follows: For each edge (v, w) of G, add a vertex vw and the edges (v, vw) and (w, vw) to G' . Furthermore, remove all vertices with no incident edges; such vertices would always have to go in a dominating set but are not needed in a vertex cover of G.

  13. Dominating set – graph transformation vw v w v w vz wu vu z u z u G zu G'

  14. Dominating set • Reduction • (1) Graph transformation • (2) a dominating set of size K in G’  a vertex cover of size K in G

  15. Thank you!

More Related