The Fraction of Satisfiable Clauses in a Typical Formula

Given n Boolean variables x1, . . . , xn, a k-clause is a disjunction of k literals, where a literal is a variable or its negation. A k-CNF formula is a conjunction of a finite number of k-clauses. Call such a formula p-satisfiable if there exists a truth assignment satisfying a fraction 1−2−k+p 2−k of all clauses and observe that every k-CNF formula is 0-satisfiable. Our goal is to determine for which ratios of clauses to variables, a typical k-CNF formula is p-satisfiable. Let Fk(n, m) denote a formula on n variables formed by selecting uniformly and independently m out of all (2n) possible k-clauses on x1, . . . , xn. Given p ∈ (0, 1], let rk(p) be the supremum of all r such that the probability that Fk(n, rn) is p-satisfiable tends to 1 as n →∞. Similarly, let r∗ k(p) be the infimum of all r such that the probability that Fk(n, rn) is p-satisfiable tends to 0 as n → ∞. It is widely believed that rk(p) = r∗ k(p) for every p ∈ (0, 1] and k ≥ 2. We prove that this is true asymptotically in k. More precisely, we prove that for every p ∈ (0, 1], both rk(p) and r ∗ k(p), when divided by 2 , tend exponentially fast to log 2/[p + (1 − p) log(1 − p)] as k → ∞. As a corollary, for every k ≥ 2 and r > 2 log 2 we give p = p(k, r) such that with probability tending to 1 as n →∞, Fk(n, rn) is p-satisfiable but not (p+ δ)-satisfiable, where δ = δ(k) = O(k2−k/2). The proof is based on a delicate asymptotic analysis of a random bivariate generating function.