08intractability 2x2
08intractability 2x2
Chapter 8
Greedy.
Divide-and-conquer.
O(n log n) interval scheduling.
O(n log n) FFT.
Dynamic programming. O(n2) edit distance.
NP and Computational Duality. O(n3) bipartite matching.
Reductions.
Intractability
Local search.
Randomization.
1 2
A working definition. [von Neumann 1953, Godel 1956, Cobham 1964, Edmonds 1965, Rabin 1966]
Those with polynomial-time algorithms.
Yes Probably no
Shortest path Longest path
Matching 3D-matching
Min cut Max cut
2-SAT 3-SAT
Planar 4-color Planar 3-color
Bipartite vertex cover Vertex cover
4
Classify Problems Polynomial-Time Reduction
Desiderata. Classify problems according to those that can be solved in Desiderata'. Suppose we could solve X in polynomial-time. What else
polynomial-time and those that cannot. could we solve in polynomial time?
don't confuse with reduces from
5 6
Polynomial-Time Reduction
up to cost of reduction
7
Independent Set Vertex Cover
INDEPENDENT SET: Given a graph G = (V, E) and an integer k, is there a VERTEX COVER: Given a graph G = (V, E) and an integer k, is there a
subset of vertices S ⊆ V such that |S| ≥ k, and for each edge at most subset of vertices S ⊆ V such that |S| ≤ k, and for each edge, at least
one of its endpoints is in S? one of its endpoints is in S?
Ex. Is there an independent set of size ≥ 6? Yes. Ex. Is there a vertex cover of size ≤ 4? Yes.
Ex. Is there an independent set of size ≥ 7? No. Ex. Is there a vertex cover of size ≤ 3? No.
independent set
vertex cover
9 10
Vertex Cover and Independent Set Vertex Cover and Independent Set
⇒
Let S be any independent set.
Consider an arbitrary edge (u, v).
S independent ⇒ u ∉ S or v ∉ S ⇒ u ∈ V − S or v ∈ V − S.
Thus, V − S covers (u, v).
⇐
Let V − S be any vertex cover.
Consider two nodes u ∈ S and v ∈ S.
Observe that (u, v) ∉ E since V − S is a vertex cover.
independent set
11 12
Set Cover
Sample application.
m available pieces of software.
Basic reduction strategies.
Set U of n capabilities that we would like our system to have.
Reduction by simple equivalence.
The ith piece of software provides the set Si ⊆ U of capabilities.
Reduction from special case to general case.
Goal: achieve all n capabilities using fewest pieces of software.
Reduction by encoding with gadgets.
Ex:
U = { 1, 2, 3, 4, 5, 6, 7 }
k=2
S1 = {3, 7} S4 = {2, 4}
S2 = {3, 4, 5, 6} S5 = {5}
S3 = {1} S6 = {1, 2, 6, 7}
14
e7 U = { 1, 2, 3, 4, 5, 6, 7 }
e2 e3 e4
k=2
Sa = {3, 7} Sb = {2, 4}
f e6 c
Sc = {3, 4, 5, 6} Sd = {5}
e1 e5 Se = {1} Sf= {1, 2, 6, 7}
k=2
e d
15 16
Satisfiability
! 18
Claim. 3-SAT ≤ P INDEPENDENT-SET. Claim. G contains independent set of size k = |Φ| iff Φ is satisfiable.
Pf. Given an instance Φ of 3-SAT, we construct an instance (G, k) of
INDEPENDENT-SET that has an independent set of size k iff Φ is Pf. ⇒ Let S be independent set of size k.
satisfiable. S must contain exactly one vertex in each triangle.
Set these literals to true. and any other variables in a consistent way
x1 x2 x1 x1 x2 x1
G G
! ! ! ! ! !
x2 x3 x1 x3 x2 x4 x2 x3 x1 x3 x2 x4
Basic reduction strategies. Decision problem. Does there exist a vertex cover of size ≤ k?
Simple equivalence: INDEPENDENT-SET ≡ P VERTEX-COVER. Search problem. Find vertex cover of minimum cardinality.
Special case to general case: VERTEX-COVER ≤ P SET-COVER.
Encoding with gadgets: 3-SAT ≤ P INDEPENDENT-SET. Self-reducibility. Search problem ≤ P decision version.
Applies to all (NP-complete) problems in this chapter.
Justifies our focus on decision problems.
Transitivity. If X ≤ P Y and Y ≤ P Z, then X ≤ P Z.
Pf idea. Compose the two algorithms.
Ex: to find min cardinality vertex cover.
Ex: 3-SAT ≤ P INDEPENDENT-SET ≤ P VERTEX-COVER ≤ P SET-COVER. (Binary) search for cardinality k* of min vertex cover.
Find a vertex v such that G − { v } has a vertex cover of size ≤ k* - 1.
– any vertex in any min vertex cover will have this property
Include v in the vertex cover.
Recursively find a min vertex cover in G − { v }.
21 22