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 for (CNF), is there a truth assignment that satisfies B ? .

amanda
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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