Satisfiability Problems
Table of Contents
Boolean / Propositional Satisfiability Problem - SAT
Overview
- Proven to be NP-Complete → verification is easy, finding solution is hard AND all NP problems are at most as difficult to solve as SAT
- Heuristical SAT-algorithms are able to solve problem instances involving tens of thousands of variables and formulas consisting of millions of symbols.
in Conjuctive Normal Form - CNF-SAT
In Boolean logic, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of clauses, where a clause is a disjunction of literals; otherwise put, it is an AND of ORs.
(A + B + C)(~A + B + ~C)
Where in Boolean Logic we have +
to mean OR
, and "multiplication" to mean AND
.
Satisfiability Modulo Theory - SMT
Overview
- SAT problem in which the propositional variables are replacted with formulas of another mathematical theory
Algorithms
Davis–Putnam–Logemann–Loveland (DPLL)
- Backtracking-based search algorithm for deciding the satisfiability of CNF-SAT
Algorithm
- Enchances the basic backtracking algorithm
Splitting rule
The basic backtracking algorithm perfoms as follows:
- Choose a literal and assign a truth value to it → simplifies the formula
- Recursively check if the simplified formula is satisfiable