SAT (Boolean Satisfiability)

From Algorithm Wiki
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