# NP-Completeness - PowerPoint PPT Presentation

1 / 16

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.

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

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

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

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

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

output

yes: 1 0 1

1

0

?

?

?

inputs

hard-coded inputs

KT

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

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

### 3-SAT P 3-COLOR

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

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

B

T

F

false

true

KT

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

• 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

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?

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