 
Summary: Com S 633: Randomness in Computation
Lecture 6 Scribe: Hongyu Sun
From the last lecture we know, in the random walk on a line, the expected time to reach n starting
at 0 is n 2 . In today's lecture we use random walks on line to devise algorithms for 2SAT and 3SAT.
A Randomized algorithm for 2SAT
Let be a 2CNF formula. Consider the following algorithm.
1. Input (y 1 ; ; y n )
2. Pick an arbitrary assignment x
if (x) = 1 output x and Accept
else pick a clause that x does not satisfy
(this clause has 2 literals and x sets both to be false)
Randomly pick one of the literals and update x by making that literal true
3. Repeat Step 2 for m times
If the input formula is not satisable, the the algorithm does not accept. From now, we assume
that the input formula is satisable. Let a = a 1 a n be a satisfying assignment.
Let x t denote the assignment at the beginning of t th iteration of the loop. Let X t be a random
variable that represents the number of bits at which x t and a match. Observe that the algorithm
accepts when X t reaches n or when x becomes another satisfying assignment of .
Observe that If x t and a matches at j places, then x t+1 matches with a at either j + 1 or j 1
places. Thus
