[\ M.X. Goemans and D.P. Williamson. New 3 4 -approximation algorithms for MAX SAT. SIAM Journal of Discrete Mathematics, 7, 1994, pp. 656-666] Max k-sat (1-1/2k)-approximation algorithm |
Max k-sat (1-1/2k)-approximation algorithm |
|
|
3/4-approximation algorithm: |
3/4-approximation algorithm for MAX-SAT: |
|
References: * [\ M.X. Goemans and D.P. Williamson. New 3 4 -approximation algorithms for MAX SAT. SIAM Journal of Discrete Mathematics, 7, 1994, pp. 656-666] * Chapter 16 of Approximation Algorithms by Vazirani |
MAX K-SAT: Given a boolean formula in CNF form, where each clause has K distinct literals, find an assignment to the variables that maximizes the number of clauses satisfied.
Example: (X1 or X2 or -X3) and (-X1 or -X2 or X4) and (X2 or -X4 or X3) and ...
Algorithm:
thm: This is a (1-1/2k)-approximation algorithm (in expectation).
proof: Each clause is satisfied with probability 1-1/2k. By linearity of expectation, expected number of the C clauses satisfied is (1-1/2k)*C. Since OPT <= C, this is a (1-1/2k)-approximation algorithm (in expectation). QED
Note: the "method of conditional expectations" can be used to convert the randomized algorithm into a deterministic algorithm. In this case, the resulting algorithm is: Consider the variables in sequence. Assign each variable TRUE or FALSE to maximize the expected number of clauses that would be satisfied at the end if the rest of the assignments were to be made randomly.
Integer linear program:
Relaxation (linear program):
Algorithm, given MAX-SAT instance:
THM: For instances with at most K literals, the above is a (1-(1-1/k)k)-approximation algorithm (in expectation).
Note: 1-(1-1/k)k ≥ (1-1/e).
Proof sketch:
THM: The above algorithm is a 3/4-approximation algorithm, in expectation.
Proof sketch:
References: