60 research outputs found
Breaking the PPSZ Barrier for Unique 3-SAT
The PPSZ algorithm by Paturi, Pudl\'ak, Saks, and Zane (FOCS 1998) is the
fastest known algorithm for (Promise) Unique k-SAT. We give an improved
algorithm with exponentially faster bounds for Unique 3-SAT.
For uniquely satisfiable 3-CNF formulas, we do the following case
distinction: We call a clause critical if exactly one literal is satisfied by
the unique satisfying assignment. If a formula has many critical clauses, we
observe that PPSZ by itself is already faster. If there are only few clauses
allover, we use an algorithm by Wahlstr\"om (ESA 2005) that is faster than PPSZ
in this case. Otherwise we have a formula with few critical and many
non-critical clauses. Non-critical clauses have at least two literals
satisfied; we show how to exploit this to improve PPSZ.Comment: 13 pages; major revision with simplified algorithm but slightly worse
constant
Tighter Hard Instances for PPSZ
We construct uniquely satisfiable k-CNF formulas that are hard for the PPSZ algorithm, the currently best known algorithm solving k-SAT. This algorithm tries to generate a satisfying assignment by picking a random variable at a time and attempting to derive its value using some inference heuristic and otherwise assigning a random value. The "weak PPSZ" checks all subformulas of a given size to derive a value and the "strong PPSZ" runs resolution with width bounded by some given function. Firstly, we construct graph-instances on which "weak PPSZ" has savings of at most (2 + epsilon)/k; the saving of an algorithm on an input formula with n variables is the largest gamma such that the algorithm succeeds (i.e. finds a satisfying assignment) with probability at least 2^{- (1 - gamma) n}. Since PPSZ (both weak and strong) is known to have savings of at least (pi^2 + o(1))/6k, this is optimal up to the constant factor. In particular, for k=3, our upper bound is 2^{0.333... n}, which is fairly close to the lower bound 2^{0.386... n} of Hertli [SIAM J. Comput.\u2714]. We also construct instances based on linear systems over F_2 for which strong PPSZ has savings of at most O(log(k)/k). This is only a log(k) factor away from the optimal bound. Our constructions improve previous savings upper bound of O((log^2(k))/k) due to Chen et al. [SODA\u2713]
Super Strong ETH Is True for PPSZ with Small Resolution Width
We construct k-CNFs with m variables on which the strong version of PPSZ k-SAT algorithm, which uses resolution of width bounded by O(√{log log m}), has success probability at most 2^{-(1-(1 + ε)2/k)m} for every ε > 0. Previously such a bound was known only for the weak PPSZ algorithm which exhaustively searches through small subformulas of the CNF to see if any of them forces the value of a given variable, and for strong PPSZ the best known previous upper bound was 2^{-(1-O(log(k)/k))m} (Pudlák et al., ICALP 2017)
Impatient PPSZ - A Faster Algorithm for CSP
PPSZ is the fastest known algorithm for (d,k)-CSP problems, for most values of d and k. It goes through the variables in random order and sets each variable randomly to one of the d colors, excluding those colors that can be ruled out by looking at few constraints at a time.
We propose and analyze a modification of PPSZ: whenever all but 2 colors can be ruled out for some variable, immediately set that variable randomly to one of the remaining colors. We show that our new "impatient PPSZ" outperforms PPSZ exponentially for all k and all d ? 3 on formulas with a unique satisfying assignment
An approximation algorithm for #k-SAT
"Vegeu el resum a l'inici del document del fitxer adjunt"
An Approximation Algorithm for #k-SAT
We present a simple randomized algorithm that approximates the number of
satisfying assignments of Boolean formulas in conjunctive normal form. To the
best of our knowledge this is the first algorithm which approximates #k-SAT for
any k >= 3 within a running time that is not only non-trivial, but also
significantly better than that of the currently fastest exact algorithms for
the problem. More precisely, our algorithm is a randomized approximation scheme
whose running time depends polynomially on the error tolerance and is mildly
exponential in the number n of variables of the input formula. For example,
even stipulating sub-exponentially small error tolerance, the number of
solutions to 3-CNF input formulas can be approximated in time O(1.5366^n). For
4-CNF input the bound increases to O(1.6155^n).
We further show how to obtain upper and lower bounds on the number of
solutions to a CNF formula in a controllable way. Relaxing the requirements on
the quality of the approximation, on k-CNF input we obtain significantly
reduced running times in comparison to the above bounds
- …