Schöning's random walk for k-SAT #
Schöning's algorithm searches for a satisfying assignment of a CNF formula by local search with
restarts. One trial draws a uniformly random assignment and then performs 3 n steps, where n
is the number of variables. Each step stops if the formula is satisfied. Otherwise it takes the
first unsatisfied clause, chooses one of its literal occurrences uniformly, and flips that
variable (Cslib.Complexity.Schoening.walk, Cslib.Complexity.Schoening.trial)
Schöning.
For k ≥ 3 and a satisfiable formula whose clauses have at most k literals, a trial succeeds
with probability at least ((k - 1)/k)^{k - 3} (k / (2(k - 1)))^n / (3 n + 1)
(Cslib.Complexity.Schoening.trial_success_of_length_le); for k = 3 this is
(3 / 4) ^ n / (3 n + 1) (Cslib.Complexity.Schoening.trial_success). So about
(2 - 2/k)^n independent trials find a satisfying assignment with high probability, exponentially
faster than the 2 ^ n assignments of brute force. Schöning states the bound up to a polynomial
factor; the factors ((k - 1)/k)^{k - 3} and 1 / (3 n + 1) are this file's explicit constants.
The proof compares the walk with a biased random walk on distances. Fix a satisfying assignment
σ⋆. A step changes the Hamming distance to σ⋆ by one. Since σ⋆ satisfies the chosen clause
and the current assignment does not, at least one of its at most k literals moves toward σ⋆.
Let hit k t d be the probability that a walk on ℕ, stepping down with probability 1 / k and
up with probability (k - 1) / k, reaches 0 from d within t steps
(Cslib.Complexity.Schoening.hit). It is antitone in d (hit_succ_le), so by induction on t
the trial walk succeeds with probability at least hit k t (dist σ σ⋆) (hit_le_succeedProb).
No coupling is needed.
Write d = (k - 2) i + e with e < k - 2. A path of i + d down-steps and i up-steps reaches
0 from d within ki + e ≤ 3d steps (choose_mul_le_hit). The middle weight
C(ki, i) (k - 1)^{ki - i} is the largest of the ki + 1 terms of ((k - 1) + 1)^{ki}
(pow_le_choose_mul), which gives hit k (3 d) d ≥ ((k - 1)/k)^{k - 3} (k - 1)^{-d} / (3 d + 1)
(inv_le_hit). Averaging (k - 1)^{-dist} over a uniform start gives (k / (2(k - 1)))^n, a
product over the coordinates (sum_pow_hammingDist).
Main definitions #
Cslib.Complexity.Schoening.walk:tsteps of the local search from an assignment.Cslib.Complexity.Schoening.trial: a uniform start followed by3 nsteps.Cslib.Complexity.Schoening.hit: hitting probabilities of the biased walk.
Main results #
Cslib.Complexity.Schoening.hit_le_succeedProb: the local search dominates the biased walk.Cslib.Complexity.Schoening.choose_mul_le_hit: path counting for the biased walk.Cslib.Complexity.Schoening.pow_le_choose_mul:k^{ki} ≤ C(ki, i) (k - 1)^{ki - i} (ki + 1).Cslib.Complexity.Schoening.inv_le_hit: the hitting bound from distancedwithin3 dsteps.Cslib.Complexity.Schoening.trial_success_of_length_le: Schöning's bound for k-SAT.Cslib.Complexity.Schoening.trial_success: a trial for 3-SAT succeeds with probability at least(3 / 4) ^ n / (3 n + 1).
References #
The algorithm #
The first clause of φ that σ falsifies, if any.
Instances For
Flip the variable of a uniformly chosen literal occurrence of c. The empty clause, which no
assignment satisfies, leaves the assignment unchanged.
Instances For
Schöning's local search: t steps from σ. Each step stops if φ is satisfied, and
otherwise flips a uniformly chosen variable of the first unsatisfied clause.
Instances For
One trial of Schöning's algorithm: a uniformly random assignment followed by 3 n steps of
local search, where n is the number of variables.
Instances For
The probability that μ produces an assignment satisfying φ.
Instances For
The biased walk #
Path counting. Any sequence of b down-steps and a up-steps with d + a ≤ b reaches 0
from d, so the biased walk reaches 0 from d within a + b steps with probability at least
C(a + b, a) (1/k)^b ((k - 1)/k)^a.
The middle binomial weight #
The middle binomial weight: k^{ki} ≤ C(ki, i) (k - 1)^{ki - i} (ki + 1), since the middle
weight is the largest of the ki + 1 weights of ((k - 1) + 1)^{ki}.
From distance d, the biased walk reaches 0 within 3 d steps with probability at least
((k - 1)/k)^{k - 3} (k - 1)^{-d} / (3 d + 1), for k ≥ 3. Write d = (k - 2) i + e with
e < k - 2; the paths with i up-steps and i + d down-steps have length ki + e ≤ 3d.
The local search dominates the biased walk #
The local search dominates the biased walk. If σ⋆ satisfies φ and every clause of φ
has at most k ≥ 1 literals, then t steps from σ reach a satisfying assignment with probability
at least hit k t (dist σ σ⋆).
Schöning's bound #
Averaging q^{dist(σ, τ)} over all assignments σ gives (1 + q)^n, a product over the
coordinates.
Schöning's theorem for k-SAT, one trial. For k ≥ 3 and a satisfiable CNF formula on n
variables whose clauses have at most k literals, one trial of Schöning's algorithm finds a
satisfying assignment with probability at least
((k - 1)/k)^{k - 3} (k / (2 (k - 1)))^n / (3 n + 1).
Schöning's theorem for 3-SAT, one trial. For a satisfiable CNF formula on n variables
whose clauses have at most three literals, one trial of Schöning's algorithm finds a satisfying
assignment with probability at least (3 / 4) ^ n / (3 n + 1).