Deterministic search for CNF satisfying assignments in almost polynomial time

01/10/2018
by   Rocco A. Servedio, et al.
0

We consider the fundamental derandomization problem of deterministically finding a satisfying assignment to a CNF formula that has many satisfying assignments. We give a deterministic algorithm which, given an n-variable poly(n)-clause CNF formula F that has at least ε 2^n satisfying assignments, runs in time n^Õ( n)^2 for ε> 1/polylog(n) and outputs a satisfying assignment of F. Prior to our work the fastest known algorithm for this problem was simply to enumerate over all seeds of a pseudorandom generator for CNFs; using the best known PRGs for CNFs [DETT10], this takes time n^Ω̃( n) even for constant ε. Our approach is based on a new general framework relating deterministic search and deterministic approximate counting, which we believe may find further applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/15/2020

A Faster Exact Algorithm to Count X3SAT Solutions

The Exact Satisfiability problem, XSAT, is defined as the problem of fin...
research
07/06/2021

MAJORITY-3SAT (and Related Problems) in Polynomial Time

Majority-SAT is the problem of determining whether an input n-variable f...
research
11/03/2020

The Long, the Short and the Random

We furnish solid evidence, both theoretical and empirical, towards the e...
research
04/11/2014

Distribution-Aware Sampling and Weighted Model Counting for SAT

Given a CNF formula and a weight for each assignment of values to variab...
research
11/24/2020

Towards the sampling Lovász Local Lemma

Let Φ = (V, 𝒞) be a constraint satisfaction problem on variables v_1,…, ...
research
03/27/2013

A New Algorithm for Finding MAP Assignments to Belief Networks

We present a new algorithm for finding maximum a-posterior) (MAP) assign...
research
03/25/2019

Faster Random k-CNF Satisfiability

We describe an algorithm to solve the problem of Boolean CNF-Satisfiabil...

Please sign up or login with your details

Forgot password? Click here to reset