35.4 Randomization and linear programming
35.4-1
Show that even if we allow a clause to contain both a variable and its negation, randomly setting each variable to 1 with probability and to with probability still yields a randomized -approximation algorithm.
(Omit!)
35.4-2
The MAX-CNF satisfiability problem is like the satisfiability problem, except that it does not restrict each clause to have exactly literals. Give a randomized -approximation algorithm for the satisfiability problem.
(Omit!)
35.4-3
In the problem, we are given an unweighted undirected graph . We define a cut as in Chapter 23 and the weight of a cut as the number of edges crossing the cut. The goal is to find a cut of maximum weight. Suppose that for each vertex , we randomly and independently place in with probability and in with probability . Show that this algorithm is a randomized -approximation algorithm.
We first rewrite the algorithm for clarity.
APPROX-MAX-CUT(G)
for each v in V
flip a fair coin
if heads
add v to S
else
add v to V - S
This algorithm clearly runs in linear time. For each edge , define the event to be the event where edge crosses the cut , and let be the indicator random variable for .
The event occurs if and only if the vertices and are placed in different sets during the main loop in . Hence,
Let denote the cost of a maximum cut in , and let , that is, the size of the cut produced by . Clearly . Also, note that (this is tight iff is bipartite). Hence,
Hence, , and so is a randomized -approximation algorithm.
35.4-4
Show that the constraints in line are redundant in the sense that if we remove them from the linear program in lines , any optimal solution to the resulting linear program must satisfy for each .
(Omit!)