# CMU Randomized Algorithms

Randomized Algorithms, Carnegie Mellon: Spring 2011

## Lecture #7: The Local Lemma

**1. The Local Lemma: Various Forms **

The symmetric version of the local lemma we saw in class:

Theorem 1 (Symmetric Form I)

Given a collection of events such that , and each is independent of all but of these events, if then .

Very often, the sample space is defined by some experiment which involves sampling from a bunch of *independent* random variables, and the bad events each depend on some subset of these random variables. In such cases we can state the local lemma thus:

Theorem 2 (Symmetric Form II)

Suppose are independent random variables, and events such that each that depends only on some subset of these variables. Moreover, suppose and each intersects at most of the ‘s. If then .

Note that both the examples from class (the -SAT and Leighton Maggs and Rao results) fall into this setting.

Finally, here’s the asymmetric form of the local lemma:

Theorem 3 (Asymmetric Form)

Given events with each independent of all but the set of these events, suppose there exist such that

Then .

Occasionally one needs to use the asymmetric form of the local lemma: one example is Uri Feige’s result showing a constant integrality gap for the Santa Claus problem, and the resulting approximation algorithm due to Heupler, Saha and Srinivasan.

** 1.1. Proofs of the Local Lemma **

The original proof of the local lemma was based on a inductive argument. This was a non-constructive proof, and the work of Beck gave the first techniques to make some of the existential proofs algorithmic.

In 2009, Moser, and then Moser and Tardos gave new, intuitive, and more algorithmic proofs of the lemma for the case where there is an underlying set of independent random variables, and the bad events are defined over subsets of these variables. (E.g., the version of the Local Lemma given in Theorem~2, and its asymmetric counterpart). Check out notes on the proofs of the Local Lemma by Joel Spencer and Uri Feige. The paper of Heupler, Saha and Srinivasan gives algorithmic versions for some cases where the number of events is exponentially large.

** 1.2. Lower Bounds **

The local lemma implies that if then the formula is satisfiable. This is complemented by the existence of unsatisfiable *E-SAT* formulas with degree : this is proved in a paper of Gebauer, Szabo and Tardos (SODA 2011). This shows that the factor of in the local lemma cannot be reduced, even for the special case of E-SAT.

The fact that the factor was tight for the symmetric form of the local lemma was known earlier, due to a result of Shearer (1985).

**2. Local Lemma: The E-SAT Version **

Let me be clearer, and tease apart the existence question from the algorithmic one. (I’ve just sketched the main ideas in the “proofs”, will try to fill in details later; let me know if you see any bugs.)

Theorem 4

If is a E-SAT formula with clauses, variables, and where the degree of each clause is at most , then is satisfiable.

*Proof:* Assume there is no satisfying assignment. Then the algorithm we saw in class will run forever, no matter what random bits it reads. Let us fix . So for every string of bits the algorithm reads from the random source, it will run for iterarations.

But now one can encode the string thus: use bits to encode the clauses at the roots of the recursion trees, to encode the clauses lying within these recursion trees, and bits for the final settings of the variables. As we argued, this is a lossless encoding, we can recover the bits from this encoding. How long is this encoding? It is , which is strictly less than for and .

So this would give us a way to encode *every* string of length into strings of shorter lengths. But since for every length , there are strings of length and strings of length strictly less than , this is impossible. So this contradicts our assumption that there is no satisfying assignment.

Now we can alter the proof to show that the expected running time of the algorithm is small:

Theorem 5

If is a E-SAT formula with clauses, variables, and where the degree of each clause is at most , then the algorithm FindSat finds a satisfying assignment in time.

*Proof:* Assume that we run for at least steps with probability at least . (Again, think of .) Then for at least of the strings, we compress each of these strings into strings of length .

But if we have any set of strings, we must use at least bits to represent at least one of them. So

If , we have , and

or

So we get that the probability of taking more than steps is at most , which implies an expected running time of .

Comments are closed.