np-completeness

20
NP-completeness Sipser 7.4 (pages 271 – 283)

Upload: sonya-mullins

Post on 30-Dec-2015

22 views

Category:

Documents


0 download

DESCRIPTION

NP-completeness. Sipser 7.4 (pages 271 – 283). The classes P and NP. NP =∪ k NTIME(n k ). P =∪ k TIME(n k ). A famous NP problem. CNF satisfiability ( CNFSAT ): Given a boolean formula B in conjunctive normal form (CNF), is there a truth assignment that satisfies B ?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NP-completeness

NP-completeness

Sipser 7.4 (pages 271 – 283)

Page 2: NP-completeness

CS 311Mount Holyoke College

2

The classes P and NP

NP =∪kNTIME(nk) P =∪kTIME(nk)

Page 3: NP-completeness

CS 311Mount Holyoke College

3

A famous NP problem

• CNF satisfiability (CNFSAT):Given a boolean formula B in conjunctive normal form (CNF), is there a truth assignment that satisfies B?

Page 4: NP-completeness

CS 311Mount Holyoke College

4

A graph theory NP problem

• CLIQUE: Given a graph G = (V, E) and an integer k, does G contain Ck as a subgraph?– Is <G,3> CLIQUE?∈

Page 5: NP-completeness

CS 311Mount Holyoke College

5

A graph theory NP problem

• CLIQUE: Given a graph G = (V, E) and an integer k, does G contain Ck as a subgraph?– Is <G,3> CLIQUE?∈

Page 6: NP-completeness

CS 311Mount Holyoke College

6

A graph theory NP problem

• CLIQUE: Given a graph G = (V, E) and an integer k, does G contain Ck as a subgraph?– Is <G,4> CLIQUE?∈

Page 7: NP-completeness

CS 311Mount Holyoke College

7

A graph theory NP problem

• CLIQUE: Given a graph G = (V, E) and an integer k, does G contain Ck as a subgraph?– Is <G,4> CLIQUE?∈

Page 8: NP-completeness

CS 311Mount Holyoke College

8

A graph theory NP problem

• CLIQUE: Given a graph G = (V, E) and an integer k, does G contain Ck as a subgraph?– Is <G,5> CLIQUE?∈

Page 9: NP-completeness

CS 311Mount Holyoke College

9

CLIQUE NP∈

• Verifier:V = “On input <<G,k>,c>:

1. Test whether c is a set of k nodes of G2. Test whether G contains all edges connecting

nodes in c3. If both pass, accept; otherwise, reject.”

• NTM:N = “On input <G,k>:

1. Nondeterministically select a subset c of k nodes of G

2. Test whether G contains all edges connecting nodes in c

3. If yes, accept; otherwise, reject.”

Page 10: NP-completeness

CS 311Mount Holyoke College

10

Which problem is harder?

NPP

CNF

CLIQUE

Page 11: NP-completeness

CS 311Mount Holyoke College

11

Recall…

• Definition 5.17: A function f:Σ*→Σ* is a computable function if ∃ some Turing machine M, on every input w, halts with just f(w) on its tape.

Page 12: NP-completeness

CS 311Mount Holyoke College

12

Polynomial time computable functions

• Definition 7.28: A function f:Σ*→Σ* is a polynomial time computable function if ∃ some polynomial time Turing machine M, on every input w, halts with just f(w) on its tape.

Page 13: NP-completeness

CS 311Mount Holyoke College

13

Recall…

• Definition 5.20: Language A is mapping reducible to language B, written A ≤m B, if there is a computable function f:Σ* → Σ*, where for every w,

w A ⇔ f(w) B∈ ∈

A Bf

f

Page 14: NP-completeness

CS 311Mount Holyoke College

14

Polynomial time mapping reducibility

• Definition 7.29: Language A is polynomial time mapping reducible to language B, written A ≤p B, if there is a polynomial time computable function f:Σ* → Σ*, where for every w,

w A ⇔ f(w) B∈ ∈

A Bf

f

Page 15: NP-completeness

CS 311Mount Holyoke College

15

Intuitively, A is no harder than B

• Theorem 7.31: If A ≤p B and B P∈ , then A P∈ .

• Proof:

Algorithm for deciding A

Reduction algorithm

F

Algorithm for

deciding B

w f(w) “yes”“no”

Page 16: NP-completeness

CS 311Mount Holyoke College

16

CNF ≤p CLIQUE

• Given a boolean formula B in CNF, we show how to construct a graph G and an integer k such that G has a clique of size k ⇔ B is satisfiable.

• Given the construction would yield

Page 17: NP-completeness

CS 311Mount Holyoke College

17

NP’s hardest problems

• Definition 7.34: A language B is NP-complete if1. B NP∈2. A≤pB, for all A NP∈

NP

A1

B (NP-complete)A3

A2

Page 18: NP-completeness

CS 311Mount Holyoke College

18

P=NP?

• Theorem 7.35: If B is NP-complete and B P∈ , then P = NP.

NPPP=NP

A1

B (NP-complete)A3

A2

Page 19: NP-completeness

CS 311Mount Holyoke College

19

Cook-Levin Theorem

• SAT is NP-complete.(If A NP∈ , then A≤pSAT.)

NP

A1

SATA3

A2

Page 20: NP-completeness

CS 311Mount Holyoke College

20

But that’s not the only one!

• CLIQUE is NP-complete (why?)

NP

A1

SATA3

A2

CLIQUE