Skip to content

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 1/21 / 2 and to 00 with probability 1/21 / 2 still yields a randomized 8/78 / 7-approximation algorithm.

(Omit!)

35.4-2

The MAX-CNF satisfiability problem is like the MAX-3-CNF\text{MAX-3-CNF} satisfiability problem, except that it does not restrict each clause to have exactly 33 literals. Give a randomized 22-approximation algorithm for the MAX-CNF\text{MAX-CNF} satisfiability problem.

(Omit!)

35.4-3

In the MAX-CUT\text{MAX-CUT} problem, we are given an unweighted undirected graph G=(V,E)G = (V, E). We define a cut (S,VS)(S, V - S) 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 vv, we randomly and independently place vv in SS with probability 1/21 / 2 and in VSV - S with probability 1/21 / 2. Show that this algorithm is a randomized 22-approximation algorithm.

\gdef\Ex{\mathbf{E}} \gdef\Prob{\mathbf{P}} \gdef\opt{\texttt{opt}}

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 (u,v)E(u, v) \in E, define the event AuvA_{uv} to be the event where edge (i,j)(i, j) crosses the cut (S,VS)(S, V - S), and let 1Auv1_{A_{uv}} be the indicator random variable for AuvA_{uv}.

The event AijA_{ij} occurs if and only if the vertices uu and vv are placed in different sets during the main loop in APPROX-MAX-CUT\text{APPROX-MAX-CUT}. Hence,

P{Auv}=P{uSvVS}+P{uVSvS}=1212+1212=12. \begin{aligned} \Prob \{A_{uv}\} &= \Prob \{u \in S \wedge v \in V - S\} + P\{u \in V - S \wedge v\in S\} \\ &= \frac{1}{2}\cdot\frac{1}{2} + \frac{1}{2}\cdot\frac{1}{2} \\ &= \frac{1}{2}. \end{aligned}

Let opt\opt denote the cost of a maximum cut in GG, and let c=(S,VS)c = |(S, V - S)|, that is, the size of the cut produced by APPROX-MAX-CUT\text{APPROX-MAX-CUT}. Clearly c=(u,v)E1Auvc = \sum_{(u, v) \in E} 1_{A_{uv}}. Also, note that optE\texttt{opt} \leq |E| (this is tight iff GG is bipartite). Hence,

E[c]=E[(u,v)E1Auv]=(u,v)EE[1Auv]=(u,v)EP{Auv}=12E12opt \begin{aligned} \Ex[c] &= \Ex\left[\sum_{(u, v) \in E} 1_{A_{uv}}\right]\\ &= \sum_{(u, v)\in E}\Ex[1_{A_{uv}}]\\ &= \sum_{(u, v)\in E}\Prob\{A_{uv}\}\\ &= \frac{1}{2}|E|\\ &\ge \frac{1}{2}\opt \end{aligned}

Hence, E[optc]E1/2E=2\Ex\left[\frac{\opt}{c}\right] \le \frac{|E|}{1 / 2|E|} = 2, and so APPROX-MAX-CUT\text{APPROX-MAX-CUT} is a randomized 22-approximation algorithm.

35.4-4

Show that the constraints in line (35.19)\text{(35.19)} are redundant in the sense that if we remove them from the linear program in lines (35.17)–(35.20)\text{(35.17)}–\text{(35.20)}, any optimal solution to the resulting linear program must satisfy x(v)1x(v) \le 1 for each vVv \in V.

(Omit!)