220 likes | 423 Views
More NP-completeness. Sipser 7.5 (pages 283-294). NP’s hardest problems. Definition 7.34: A language B is NP-complete if B∈NP A≤ p B , for all A∈NP. NP. A 2. A 1. CLIQUE. SAT. A 3. Hamiltonian paths. HAMPATH = {< G,s,t > | ∃ Hamiltonian path from s to t }
E N D
More NP-completeness Sipser 7.5 (pages 283-294)
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 CLIQUE SAT A3
Hamiltonian paths • HAMPATH = {<G,s,t> | ∃ Hamiltonian path from s to t} • Theorem 7.46: HAMPATH is NP-complete. s t
Hamiltonian paths • HAMPATH = {<G,s,t> | ∃ Hamiltonian path from s to t} • Theorem 7.46: HAMPATH is NP-complete. s t
Remember… HAMPATH∈NP • N = "On input <G,s,t>: • Guess an orderings, p1, p2,..., pn, of the nodes of G • Check whether s = p1 and t = pn • For each i=1 to n-1, check whether (pi, pi+1) is an edge of G. If any are not, reject. Otherwise, accept.”
3SAT≤pHAMPATH NP A2 A1 HAMPATH 3SAT A3
Proof outline • Given a boolean formulaφ, we convert it to a directed graph G such that φ has a valid truth assignment iffG has a Hamiltonian graph
3SAT’s main features • Choice: Each variable has a choice between two truth values. • Consistency: Different occurrences of the same variable have the same value. • Constraints: Variable occurrences are organized into clauses that provide constraints that must be satisified. *We model each of these three features by a different a "gadget" in the graph G.
The choice gadget • Modeling variable xi
Zig-zagging and zag-zigging Zig-zag (TRUE) Zag-zig (FALSE)
Clauses • Modeling clause cj cj
The constraint gadget • Modeling when clause cj contains xi
The constraint gadget • Modeling when clause cj contains xi
TSP is NP-complete • TSP: Given n cities, 1, 2, ..., n, together with a nonnegative distance dijbetween any two cities, find the shortest tour.
HAMPATH ≤pTSP NP A2 A1 TSP HAMPATH A3
SUBSET-SUM is NP-complete • SUBSET-SUM= {<S,t> | S = {x1,…,xk} and, for some {y1,…,yl} ⊆ S, yi=t} • Why is SUBSET-SUM in NP?
And…if that’s not enough • There are more than 3000 known NP-complete problems! http://en.wikipedia.org/wiki/List_of_NP-complete_problems
Other types of complexity • Space complexity • Circuit complexity • Descriptive complexity • Randomized complexity • Quantum complexity • …