- 112 Views
- Uploaded on
- Presentation posted in: General

NP-Completeness

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

NP-Completeness

Note. Some illustrations are taken from

(KT) Kleinberg and Tardos. Algorithm Design

(DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms

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.

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.

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

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.

output

yes: 1 0 1

1

0

?

?

?

inputs

hard-coded inputs

KT

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.

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

DPV

clause node

clause node

s

x1

x2

x3

t

KT

3k + 3

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

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

B

6-node gadget

T

F

false

true

KT

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

- 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

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.

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