1 / 20

# NP-completeness

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

Télécharger la présentation

## NP-completeness

E N D

### Presentation Transcript

1. NP-completeness Sipser 7.4 (pages 271 – 283)

2. The classes P and NP NP =∪kNTIME(nk) P =∪kTIME(nk)

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?

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?

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?

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?

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?

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?

9. CLIQUE∈ NP • Verifier: V = “On input <<G,k>,c>: • Test whether c is a set of k nodes of G • Test whether G contains all edges connecting nodes in c • If both pass, accept; otherwise, reject.” • NTM: N = “On input <G,k>: • Nondeterministically select a subset c of k nodes of G • Test whether G contains all edges connecting nodes in c • If yes, accept; otherwise, reject.”

10. Which problem is harder? NP P CNF CLIQUE

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.

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.

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

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

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 “yes” w f(w) “no”

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

17. NP’s hardest problems • Definition 7.34: A language B is NP-complete if • B∈NP • A≤pB, for all A∈NP NP A2 A1 B (NP-complete) A3

18. P=NP? • Theorem 7.35: If B is NP-complete and B∈ P, then P = NP. NP P=NP A2 A1 P B (NP-complete) A3

19. Cook-Levin Theorem • SAT is NP-complete. (If A∈NP, then A≤pSAT.) NP A2 A1 SAT A3

20. But that’s not the only one! • CLIQUE is NP-complete (why?) NP A2 A1 CLIQUE SAT A3

More Related