SAT (Boolean Satisfiability)

From Algorithm Wiki
(Redirected from Boolean Satisfiability)
Jump to navigation Jump to search

Description

Boolean satisfiability problems involve determining if there is an assignment of variables that satisfies a given boolean formula.

Related Problems

Subproblem: Conjunctive Normal Form SAT, Disjunctive Normal Form SAT

Related: Disjunctive Normal Form SAT, 1-in-3SAT, Monotone 1-in-3SAT, Monotone Not-Exactly-1-in-3SAT, All-Equal-SAT, Not-All-Equal 3-SAT (NAE 3SAT), Monotone Not-All-Equal 3-SAT (Monotone NAE 3SAT), k-SAT, 2SAT, 3SAT, 3SAT-5, 4SAT, Monotone 3SAT, XOR-SAT, Horn SAT, Dual-Horn SAT, Renamable Horn, MaxSAT

Parameters

$n$: number of variables

Table of Algorithms

Name Year Time Space Approximation Factor Model Reference
Davis-Putnam-Logemann-Loveland Algorithm (DPLL) 1961 $O({2}^n)$ $O(n)$ Exact Deterministic Time & Space
Conflict-Driven Clause Learning (CDCL) 1999 $O({2}^n)$ Exact Deterministic Time
GSAT 1992 $O(n*mt*mf)$ $O(n)$ Randomized Time
WalkSAT 1994 $O(n*mt*mf)$ $O(n)$ Randomized Time
Quantum Adiabatic Algorithm (QAA) 2001 $O({2}^n)$ $O(poly(n)$) Quantum Time
Paturi, Pudlák, Saks, Zane (PPSZ) 2005 O^*({2}^{n-cn/k}) $O(kn)$ Exact Randomized Time
Hertli (Modified PPSZ) 2014 $O({1.30704}^n)$ $O(kn)$ Exact Randomized Time
Hertli (Modified PPSZ) 2014 $O({1.46899}^n)$ $O(kn)$ Exact Randomized Time
Shi 2009 $O({12}m*t_extract + {2}m*t_discard + {2}n*t_append + (n+{2}m)$*t_merge + (n-{1})*t_amplify) $O(n)$ tubes or $O({2}^n)$ library strands Exact Deterministic Time & Space