Karloff–Zwick algorithm

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The Karloff–Zwick algorithm, in computational complexity theory, is a randomised approximation algorithm taking an instance of MAX-3SAT Boolean satisfiability problem as input. If the instance is satisfiable, then the expected weight of the assignment found is at least 7/8 of optimal. It provides strong evidence (but not a mathematical proof) that the algorithm performs equally well on arbitrary MAX-3SAT instances. Howard Karloff and Uri Zwick presented the algorithm in 1997.[1]

For the related MAX-E3SAT problem, in which all clauses in the input 3SAT formula are guaranteed to have exactly three literals, the simple randomized approximation algorithm which assigns a truth value to each variable independently and uniformly at random satisfies 7/8 of all clauses in expectation, irrespective of whether the original formula is satisfiable. Further, this simple algorithm can also be easily derandomized using the method of conditional expectations. The Karloff–Zwick algorithm, however, does not require the restriction that the input formula should have three literals in every clause.[1]

Building upon previous work on the PCP theorem, Johan Håstad showed that, assuming P ≠ NP, no polynomial-time algorithm for MAX 3SAT can achieve a performance ratio exceeding 7/8, even when restricted to satisfiable instances of the problem in which each clause contains exactly three literals. Both the Karloff–Zwick algorithm and the above simple algorithm are therefore optimal in this sense.[2]


  1. 1.0 1.1 Karloff, H.; Zwick, U. (1997), "Symposium on Foundations of Computer Science", Proc. 38th Annual Symposium on Foundations of Computer Science: 406–415, doi:10.1109/SFCS.1997.646129  |contribution= ignored (help).
  2. Hastad, J. (2001), "Some optimal inapproximability results", Journal of the ACM, 48 (4): 798–859, doi:10.1145/502090.502098 .