PPSZ is better than you think
Dominik Scheder
TL;DR
This work analyzes the PPSZ algorithm for $k$-SAT not by altering the algorithm itself, but by introducing a carefully designed make-believe distribution over variable orders and leveraging KL-divergence penalties to bound the gain. By studying canonical critical clause trees and introducing labeled-tree machinery, the authors prove an exponential improvement in PPSZ’s success probability for all $k\ge3$, and derive a lifting result that extends Unique-$k$-SAT gains to general $k$-SAT. In particular, Unique-$3$-SAT is shown to run in time $O(1.306973^n)$, tightening prior bounds, while the framework clarifies how structure in the CNF formula yields additional forcing leverage without modifying the algorithm. The techniques combine Jensen-type bounds with structured distributions that emphasize variables appearing in many critical clauses, yielding positive gains via heavy-variable bonuses and disjoint-pair constructions, and offering a modular path to further improvements in PPSZ analyses.
Abstract
PPSZ, for long time the fastest known algorithm for $k$-SAT, works by going through the variables of the input formula in random order; each variable is then set randomly to $0$ or $1$, unless the correct value can be inferred by an efficiently implementable rule (like small-width resolution; or being implied by a small set of clauses). We show that PPSZ performs exponentially better than previously known, for all $k \geq 3$. For Unique-$3$-SAT we bound its running time by $O(1.306973^{n})$, which is somewhat better than the algorithm of Hansen, Kaplan, Zamir, and Zwick, which runs in time $O(1.306995^n)$. Before that, the best known upper bound for Unique-$3$-SAT was $O(1.3070319^n)$. All improvements are achieved without changing the original PPSZ. The core idea is to pretend that PPSZ does not process the variables in uniformly random order, but according to a carefully designed distribution. We write "pretend" since this can be done without any actual change to the algorithm.
