Np complete examples
1 / 18

NP-complete examples - PowerPoint PPT Presentation

  • Updated On :

Fall 2009. NP-complete examples. Xiao Linfu. CSC3130 Tutorial 11. [email protected] Department of Computer Science & Engineering. Outline. Review of P, NP, NP-C 2 problem s Double-SAT Dominating set Relations. hard. NP-C.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'NP-complete examples' - hien

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
Np complete examples l.jpg

Fall 2009

NP-complete examples

Xiao Linfu

CSC3130 Tutorial 11

[email protected]

Department of Computer Science & Engineering

Outline l.jpg

  • Review of P, NP, NP-C

  • 2 problems

    • Double-SAT

    • Dominating set

Relations l.jpg



Is there any problem even harder than NP-C?


Yes! e.g. I-go



Slide7 l.jpg

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.

Methodology l.jpg

  • 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

Slide9 l.jpg

  • 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!

Double sat l.jpg

  • 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

Double sat11 l.jpg

  • Reduction:

    • On input φ(x1, . . . , xn):

    • 1. Introduce a new variable y.

    • 2. Output formula

      φ’(x1, . . . , xn, y) = φ(x1, . . . , xn) ∧(y∨ y ).

Dominating set l.jpg
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.

Dominating set example l.jpg
Dominating set - example

  • {yellow vertices} is an example of a dominating set of size 2.


Dominating set14 l.jpg
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

Dominating set15 l.jpg
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.

Dominating set graph transformation l.jpg
Dominating set – graph transformation
















Dominating set17 l.jpg
Dominating set

  • Reduction

    • (1) Graph transformation

    • (2) a dominating set of size K in G’  a vertex cover of size K in G