Lecture plan for Wednesday Nov. 5, 9.15 - 10.20: Satisfiability Maximum SAT Maximum 3-SAT Approximating Maximum 3-SAT A new class of algorithms: Randomized algorithms Monte Carlo Random Variable Expected value For Maximum Linearity of expectation For Maximum 3-SAT: b=1/2, E(Z(F,b)) = 7/8. Derandomization: use recurrence relation: E(Z(F,b)) = b*E(Z(F[x=1],b)) + (1-b)*E(Z(F[x=0],b)) In Dynamic Programming examples you have seen so far, the recurrence was in terms of the optimal solution. Here it is in terms of the expected value. Derive algorithm from recurrence relation. Original problem is split into two overlapping subproblems. Gives efficient algorithm for Maximum 3-SAT guaranteeing 7/8. What if it is not 3-SAT: need to use a bent coin: compute maximum bias. But algorithm stays the same. ============================================= Connection to Dynamic Programming: Weighted Interval Scheduling Recurrence Relation: Opt(j)=max(v_j + Opt(p(j)), Opt(j-1)) Compute-Opt(j) // inefficient if j=0 then return 0 else return max(v_j+Compute-Opt(p(j)), Compute-Opt(j-1)) ComputeA(F,b) // returns an assignment satisfying E(Z(F,b)) if F has no variables return {} else choose a variable x; pos = E(Z(F[x=1],b)); neg = E(Z(F[x=0],b)); if pos > neg return (ComputeA(F[x=1],b) union 1) else return (ComputeA(F[x=0],b) union 0); Differences: Recurrence relation is in terms of expected value, not the optimum. The expected value we can compute in closed form in polynomial time. WIS CSP j number of variables 2 calls 1 call