![Page 1: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/1.jpg)
A Simple, Greedy Approximation Algorithm for MAX SAT
David P. Williamson
Joint work with Matthias Poloczek (Frankfurt, Cornell)
and Anke van Zuylen (William & Mary)
![Page 2: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/2.jpg)
Greedy algorithms
“Greed, for lack of a better word, is good. Greed is right. Greed works.” – Gordon Gekko, Wall Street“Greedy algorithms work.” – Alan Hoffman, IBM
![Page 3: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/3.jpg)
Another reason
• When I interviewed at Watson, half of my talk was about maximum satisfiability, the other half about the max cut SDP result.
• I thought, “Oh no, I have to talk about– Hardness of approximation in front of Madhu Sudan,– Randomized rounding in front of Prabhakar Raghavan,– And eigenvalue bounds in front of Alan Hoffman.”
• Today I revisit the first part of that talk.
![Page 4: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/4.jpg)
Maximum Satisfiability
• Input: Boolean variables clauses with weights – each clause is a disjunction of literals,
e.g.
• Goal: truth assignment to the variables that maximizes the weight of the satisfied clauses
![Page 5: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/5.jpg)
Approximation Algorithms
• An α-approximation algorithm runs in polynomial time and returns a solution of at least α times the optimal.
• For a randomized algorithm, we ask that the expected value is at least α times the optimal.
![Page 6: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/6.jpg)
A ½-approximation algorithm
• Set each to true with probability ½.• Then if is the number of literals in clause
![Page 7: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/7.jpg)
What about a deterministic algorithm?
• Use the method of conditional expectations (Erdős and Selfridge ‘73, Spencer ‘87)
• If then set true, otherwise false.• Similarly, if is event of how first variables are set,
then if , set true.• Show inductively that OPT.
![Page 8: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/8.jpg)
An LP relaxation
![Page 9: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/9.jpg)
Randomized rounding
Pick any function such that . Set true with probability , where is an optimal LP solution.
![Page 10: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/10.jpg)
Analysis
![Page 11: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/11.jpg)
Integrality gap
The result is tight since LP solution and feasible for instance above, but OPT = 3.
![Page 12: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/12.jpg)
Current status• NP-hard to approximate better than 0.875 (Håstad ’01)
• Combinatorial approximation algorithms– Johnson’s algorithm (1974): Simple ½-approximation algorithm (Greedy version
of the randomized algorithm)– Improved analysis of Johnson’s algorithm: 2/3-approx. guarantee [Chen-Friesen-
Zheng ’99, Engebretsen ’04]– Randomizing variable order improves guarantee slightly [Costello-Shapira-Tetali
’11]
• Algorithms using Linear or Semidefinite Programming– Yannakakis ’94, Goemans-W ’94:
¾-approximation algorithms– Best guarantee 0.7969 [Avidor-Berkovitch-Zwick ’05]
Question [W ’98]: Is it possible to obtain a 3/4-approximation algorithm without solving a linear program?
![Page 13: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/13.jpg)
(Selected) recent results
• Poloczek-Schnitger ’11: – “randomized Johnson” – combinatorial ¾-approximation
algorithm• Van Zuylen ’11: – Simplification of “randomized Johnson” probabilities and
analysis– Derandomization using Linear Programming
• Buchbinder, Feldman, Naor, and Schwartz ’12: – Another ¾-approximation algorithm for MAX SAT as a special
case of submodular function maximization– We show MAX SAT alg is equivalent to van Zuylen ‘11.
![Page 14: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/14.jpg)
(Selected) recent results
• Poloczek-Schnitger’11• Van Zuylen ’11• Buchbinder, Feldman, Naor and Schwartz ’12
Common properties:
• iteratively set the variables in an “online” fashion,
• the probability of setting to true depends on clauses containing or that are still undecided.
![Page 15: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/15.jpg)
Today
• Give “textbook” version of Buchbinder et al.’s algorithm with an even simpler analysis
![Page 16: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/16.jpg)
Buchbinder et al.’s approach
• Keep two bounds on the solution– Lower bound LB = weight of clauses already satisfied– Upper bound UB = weight of clauses not yet unsatisfied
• Greedy can focus on two things: – maximize LB, – maximize UB,
but either choice has bad examples…
• Key idea: make choices to increase B = ½ (LB+UB)
![Page 17: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/17.jpg)
LB0
(= 0) UB0
(=∑wj)B0= ½(LB0+UB0)
![Page 18: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/18.jpg)
LB0 UB0B0= ½(LB0+UB0)
Set to true
Weight of undecided clauses satisfied by = true
LB1 UB1
Weight of undecided clauses unsatisfied by = true
![Page 19: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/19.jpg)
LB0 UB0B0
Set to true
LB1 UB1
B1
Weight of undecided clauses satisfied by = true
Weight of undecided clauses unsatisfied by = true
![Page 20: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/20.jpg)
LB0 UB0
Set to trueor
Set to false
LB1 UB1LB1 UB1
B1
B0
Weight of undecided clauses satisfied by = true
Weight of undecided clauses unsatisfied by = true
![Page 21: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/21.jpg)
LB0 UB0
Set to trueor
Set to false
LB1 UB1LB1 UB1
B1B1
Guaranteed that(B1-B0)+(B1-B0) ≥ 0
B0
t1 f1
Weight of undecided clauses satisfied by = true
Weight of undecided clauses unsatisfied by = true
![Page 22: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/22.jpg)
(Bi-Bi-1)+(Bi-Bi-1) ≥ 0
ti fi
Algorithm: • if , set to false• if , set to true• else, set to true with
probability
Remark: This is the algorithm proposed
independently by BFNS’12 and vZ’11
LBi-1 UBi-1LBi UBiLBi UBi
BiBi
Bi-1
Weight of undecided clauses satisfied by = true
Weight of undecided clauses unsatisfied by = true
![Page 23: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/23.jpg)
Example
Initalize:• LB = 0• UB = 6Step 1:
• Set x1 to false
Clause Weight213
![Page 24: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/24.jpg)
Example
Step 2:
• Set x2 to true with probability 1/3 and to false with probability 2/3
Clause Weight213
![Page 25: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/25.jpg)
Example
Algorithm’s solution: false true w.p. 1/3 and false w.p. 2/3 true
Expected weight of satisfied clauses: 5
Clause Weight213
![Page 26: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/26.jpg)
Different Languages
• Bill, Baruch, and I would say:
• Alan would say:
And we would be talking about the same thing!
![Page 27: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/27.jpg)
Relating Algorithm to Optimum
Let be an optimal truth assignment
Let = weight of clauses satisfied if setting as the algorithm does, and
Key Lemma:
![Page 28: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/28.jpg)
Let an optimal truth assignment
Let = weight of clauses satisfied if setting as the algorithm does, and
Key Lemma:
LB0 B0 UB0B1
OPT
OPT1
![Page 29: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/29.jpg)
Let an optimal truth assignment
Let = weight of clauses satisfied if setting as the algorithm does, and
Key Lemma:
LB0 B0 UB0B1 OPT1
OPTn = Bn = weight of ALG’s solution
B0 ≥ ½ OPT ≥ ½ (OPT-B0)
OPT
Conclusion: expected weight of ALG’s solution is
![Page 30: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/30.jpg)
Relating Algorithm to Optimum
LBi-1 UBi-1LBi UBiLBi UBi
BiBi
Bi-1
Suppose = trueIf algorithm sets to true,
If algorithm sets to false,
•
Want to show:Key Lemma:
Weight of undecided clauses satisfied by = true
Weight of undecided clauses unsatisfied by = true
![Page 31: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/31.jpg)
Relating Algorithm to Optimum
Case 1: (algorithm sets to true):
Case 2: (algorithm sets to false):
Know:If algorithm sets to true,
If algorithm sets to false,
•
Want to show:Key Lemma:
![Page 32: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/32.jpg)
Know:If algorithm sets to true,
If algorithm sets to false,
•
Relating Algorithm to Optimum
Case 3: , (algorithm sets to true w.p. )
Want to show:Key Lemma:
Equal to )2+2
![Page 33: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/33.jpg)
EmailHi David,
After seeing your email, the very next thing I did this morning was to read a paper I'd earmarked from the end of the day yesterday:
Walter Gander, Gene H. Golub, Urs von Matt"A constrained eigenvalue problem"Linear Algebra and its Applications, vol. 114–115, March–April 1989, Pages 815–839."Special Issue Dedicated to Alan J. Hoffman On The Occasion Of His 65th Birthday"
The table of contents of that special issue:http://www.sciencedirect.com.proxy.library.cornell.edu/science/journal/00243795/114/supp/C
Citations for papers in this issue:…..
Johan Ugander
![Page 34: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/34.jpg)
Question
Is there a simple combinatorial deterministic ¾-approximation algorithm?
![Page 35: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/35.jpg)
Clause Weight12+12+
…..12+
Optimal assignment sets all variables to trueOPT = (n-1)(3+)
Deterministic variant??Greedily maximizing Bi is not good enough:
Greedily increasing Bi
sets variables to falseGREEDY= (n-1)(2+)
![Page 36: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/36.jpg)
A negative result
Poloczek ‘11: No deterministic “priority algorithm” can be a ¾ -approximation algorithm, using scheme introduced by Borodin, Nielsen, and Rackoff ‘03.• Algorithm makes one pass over the variables and sets
them.• Only looks at weights of clauses in which current
variable appears positively and negatively (not at the other variables in such clauses).
• Restricted in information used to choose next variable to set.
![Page 37: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/37.jpg)
But…
• It is possible… • … with a two-pass algorithm (Joint work with
Ola Svensson).• First pass: Set variables fractionally (i.e.
probability that true), so that • Second pass: Use method of conditional
expectations to get deterministic solution of value at least as much.
![Page 38: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/38.jpg)
Buchbinder et al.’s approach
• Keep two bounds on the fractional solution– Lower bound LB = weight of clauses already satisfied– Upper bound UB = weight of clauses not yet unsatisfied
• Greedy can focus on two things: – maximize LB, – maximize UB,
but either choice has bad examples…
• Key idea: make choices to increase B = ½ (LB+UB)
expected
expected
expected
![Page 39: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/39.jpg)
As beforeLet be (expected) increase in bound if we set true; be (expected) increase in bound if we set false.
Algorithm: For • if , set to 0• if , set to 1• else, set to For • If, set true• Else set false
![Page 40: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/40.jpg)
Analysis
• Proof that after the first pass is identical to before.
• Proof that final solution output has value at least is via method of conditional expectation.
![Page 41: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/41.jpg)
Conclusion
• We show this two-pass idea works for other problems as well (e.g. deterministic ½-approximation algorithm for MAX DICUT).
• Can we characterize the problems for which it does work?
![Page 42: A Simple, Greedy Approximation Algorithm for MAX SAT](https://reader037.vdocument.in/reader037/viewer/2022102808/56812c2e550346895d90b2a8/html5/thumbnails/42.jpg)
Thank you for your attention
and Happy Birthday Alan!