Np completeness
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

NP-Completeness PowerPoint PPT Presentation


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

NP-Completeness. Note . Some illustrations are taken from ( KT ) Kleinberg and Tardos. Algorithm Design ( DPV )Dasgupta, Papadimitriou, and Vazirani. Algorithms. Decision problems. Decision problem . X is a set of strings. Instance : string s.

Download Presentation

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


Np completeness

NP-Completeness

Note. Some illustrations are taken from

(KT) Kleinberg and Tardos. Algorithm Design

(DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms


Decision problems

Decision problems

Decision problem.

  • X is a set of strings.

  • Instance: string s.

  • Algorithm A solves problem X: A(s) = yesiff s  X.

    Polynomial time. Algorithm A runs in poly-time if for every string s, A(s) terminates in at most p(|s|) "steps", where p() is some polynomial.


Np completeness

NP

Def. Algorithm C(s, t) is a certifier for problem X if for every string s, s  X iff there exists a string t such that C(s, t) = yes.

NP. Decision problems for which there exists a poly-time certifier.

Remark. NP stands for nondeterministic polynomial-time.


Polynomial transformations

Polynomial transformations

Def. Problem X polynomial transforms to problem Y if given any input x to X, we can construct in polynomial time an input y to Y such that x is a yes instance of X iff y is a yes instance of Y.

Notation. X ≤P Y

Algorithm for X

yes

x

y

Transf.

Algorithm for Y

no


Np completeness1

NP-completeness

Def. Problem Y is NP-complete if

  • Y is in NP and

  • for every problem X in NP, X P Y.

    Theorem. Suppose Y is an NP-complete problem. Then Y is solvable in polynomial time iff P = NP.


Circuit satisfiability

Circuit satisfiability

output

yes: 1 0 1

1

0

?

?

?

inputs

hard-coded inputs

KT


Proving np completeness

Proving NP-completeness

Fact (Transitivity of  p). If X P Y and Y P Z, then X P Z.

Theorem. Problem Y is NP-complete if

  • Y is in NP and

  • There exists some NP-complete problem X such that X P Y.

    Proof. By def. of NP and transitivity of P.


Map of reductions

Map of reductions

CIRCUIT-SAT

3-SAT

3-SAT reduces to INDEPENDENT SET

INDEPENDENT SET

DIR-HAM-CYCLE

GRAPH 3-COLOR

SUBSET-SUM

VERTEX COVER

SCHEDULING

HAM-CYCLE

PLANAR 3-COLOR

SET COVER

TSP

KT


3 sat p independent set

3-SAT P INDEPENDENT SET

DPV


3 sat p dir ham cycle

3-SAT P DIR-HAM-CYCLE

clause node

clause node

s

x1

x2

x3

t

KT

3k + 3


3 sat p 3 color

3-SAT P 3-COLOR

Variable gadgets. Ensure that

  • each literal is T or F and

  • a literal and its negation are opposites.

true

false

T

F

B

base

KT


3 sat p 3 color1

3-SAT P 3-COLOR

Clause gadgets. Ensure that at least one literal in each clause is T.

B

6-node gadget

T

F

false

true

KT


3 sat p subset sum

3-SAT P SUBSET SUM

x

y

z

C1

C2

C3

x

1

0

0

0

1

0

 x

1

0

0

1

0

1

y

0

1

0

1

0

0

 y

0

1

0

0

1

1

z

0

0

1

1

1

0

 z

0

0

1

0

0

1

0

0

0

1

0

0

0

0

0

2

0

0

0

0

0

0

1

0

dummies to getclause columnsto sum to 4

0

0

0

0

2

0

0

0

0

0

0

1

0

0

0

0

0

2

W

1

1

1

4

4

4

KT


Circuit sat p sat

CIRCUIT SAT P SAT

  • For each gate g in the circuit, create a variable g.

  • Model g using a few clauses:

  • If g is the output gate, we force it to be true by adding the clause (g).

DPV


A np a p circuit sat

A  NP, A P CIRCUIT SAT

Since A  NP, there is an algorithm C(s,t) such that:

  • C checks, given an instance s and a proposed solution t, whether or not t is a solution of s.

  • C runs in polynomial time.

    In polynomial time, build a circuit D such that:

  • Known inputs of D are the bits of s.

  • Unknown inputs of D are the bits of t.

  • C’s answer is given at the output gate of D.

  • Size of D is polynomial in the number of inputs.

  • D‘s output is true if and only if t is a solution of s.


Example does g have an independent set of size 2

Example: Does G have an independent set of size 2?

independent set of size 2?

independent set?

both endpoints of some edge have been chosen?

set of size 2?

u

v

w

G = (V, E), n = 3

u-w

v

u-v

v-w

u

w

?

1

1

?

?

0

hard-coded inputs (graph description)

KT


  • Login