Академический Документы
Профессиональный Документы
Культура Документы
Local search.
Randomization.
1 2
1966]
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
1
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
Frustrating news. Huge number of fundamental problems have defied Notation. X ≤ P Y. computational model supplemented by special piece
of hardware that solves instances of Y in a single step
classification for decades.
Remarks.
This chapter. Show that these fundamental problems are We pay for time to write down instances sent to black box ⇒
"computationally equivalent" and appear to be different manifestations instances of Y must be of polynomial size.
of one really hard problem. Note: Cook reducibility.
in contrast to Karp reductions
5 6
Polynomial-Time Reduction
up to cost of reduction
2
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
Thus, no two nodes in S are joined by an edge ⇒ S independent set. ▪
vertex cover
11 12
3
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
4
Satisfiability
Ex: ( x1 ∨ x2 ∨ x3 ) ∧ ( x1 ∨ x2 ∨ x3 ) ∧ ( x2 ∨ x3 ) ∧ ( x1 ∨ x2 ∨ x3 )
Yes: x1 = true, x2 = true x3 = false.
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
k=3 Φ = ( x1 ∨ x2 ∨ x 3 ) ∧ ( x1 ∨ x2 ∨ x3 ) ∧ ( x1 ∨ x2 ∨ x4 ) k=3 Φ = ( x1 ∨ x2 ∨ x 3 ) ∧ ( x1 ∨ x2 ∨ x3 ) ∧ ( x1 ∨ x2 ∨ x4 )
19 20
5
Review Self-Reducibility
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
Clique Problem: Given an undirected graph G = (V,E) and number k, does k-coloring problem: Given an undirected graph G =(V,E) does there
there exist a clique of size k in G. A clique is a set S ⊆ V in which exist a coloring of the graph with k colors. A coloring of a graph with k
there is an edge between any two vertices in S, colors is a coloring of the vertices in k colors so that no two adjacent
vertices have the same color.
Show that Independent Set is polynomial time reducible to Clique.
Show that 3-coloring is polynomial time reducible to k-coloring for any
k > 3.
23 24