np-completeness
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 PresentationTRANSCRIPT
NP-completeness
Sipser 7.4 (pages 271 – 283)
CS 311Mount Holyoke College
2
The classes P and NP
NP =∪kNTIME(nk) P =∪kTIME(nk)
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?
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?∈
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?∈
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?∈
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?∈
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?∈
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.”
CS 311Mount Holyoke College
10
Which problem is harder?
NPP
CNF
CLIQUE
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.
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.
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
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
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”
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
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
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
CS 311Mount Holyoke College
19
Cook-Levin Theorem
• SAT is NP-complete.(If A NP∈ , then A≤pSAT.)
NP
A1
SATA3
A2
CS 311Mount Holyoke College
20
But that’s not the only one!
• CLIQUE is NP-complete (why?)
NP
A1
SATA3
A2
CLIQUE