CS 294 Approximation Algorithms February 1, 2018
Problem Set 2
Due Date: February 15, 2018
A reminder about the course collaboration policy: Your work on problem sets
and exams should be your own. You may discuss approaches to problems with other
students, but as a general guideline, such discussions may not involve taking notes.
You must write up solutions on your own independently, and acknowledge anyone
with whom you discussed the problem by writing their names on your problem set.
You may not use papers or books or other sources (e.g. material from the web) to
help obtain your solution.
1. W&S Exercise 2.2
2. In class, we showed that a randomized greedy algorithm could be used to ob-
tain a 12 -approximation algorithm for maximizing nonnegative, nonmonotone
functions. Here we consider a deterministic variant of that algorithm, shown
below. Prove that it gives a 13 -approximation algorithm for the problem, for f
a nonnegative, nonmonotone function. Recall that we defined the function f
over the set {1, . . . , n}, and defined X̂i ≡ Xi ∪ {i + 1, . . . , n}. For your proof,
you may find it useful again to consider OPTi = Xi ∪ (OPT ∩{i + 1, . . . , n}),
where OPT is an optimal set. Recall that for randomized algorithm we showed
that
1
E[f (OP Ti−1 ) − f (OP Ti )] ≤ E[f (Xi ) − f (Xi−1 ) + f (X̂i ) − f (X̂i−1 )].
2
What inequality leads to a 13 -approximation algorithm?
X0 ← ∅
for i ← 1 to n do
ai ← f (Xi−1 ∪ {i}) − f (Xi−1 )
ri ← f (X̂i−1 − {i}) − f (X̂i−1 )
if ai ≥ ri then
Xi ← Xi−1 ∪ {i}
else
Xi ← Xi−1
return Xn
3. W&S Exercise 2.13 (a) & (b)
2-1
4. In the uniform sparsest cut problem, we are given as input an undirected graph
G = (V, E) and edge costs ce ≥ 0 for all e ∈ E. The goal of the problem is to
find a subset S ⊆ V of vertices that minimizes
P
e∈δ(S) ce
,
|S||V − S|
where δ(S) is the set of all edges with exactly one edge in S. The uniform
sparsest cut problem tries to find a small cut in the graph such that there is a
roughly equal number of vertices on each side of the cut.
Show that we can find a sparsest cut in polynomial time for bounded treewidth
graphs (i.e. graphs in which the treewidth k is a constant). It might be useful
to know that in polynomial time one can compute a nice tree decomposition.
In a nice tree decomposition, there are four different kinds of nodes in the tree
T:
• leaf nodes: a leaf node i is a leaf of T and has |Xi | = 1;
• introduce nodes: an introduce node i has one child j with Xi = Xj ∪ {u}
for some u ∈ V ;
• forget nodes: a forget node i has one child j with Xi = Xj − {u} for some
u∈V;
• join nodes: a join node i has two children j and k, with Xi = Xj = Xk .
If the treewidth is k, then the number of nodes in T is O(kn).
2-2