17 Mar 2005
CS 3243 - Logical Inference
5
The DPLL algorithm
nDetermine if an input propositional logic sentence (in CNF) is satisfiable.
n
nImprovements over truth table enumeration:
1.Early termination
nA clause is true if any literal is true.
nA sentence is false if any clause is false.
n
2.Pure symbol heuristic
nPure symbol: always appears with the same "sign" in all clauses.
ne.g., In the three clauses (A Ú ØB), (ØB Ú  ØC), (C Ú A), A and B are pure, C is impure.
nMake a pure symbol literal true.
n
3.Unit clause heuristic
nUnit clause: only one literal in the clause
nThe only literal in a unit clause must be true.
What are correspondences between DPLL and in general CSPs?
Least constraining value
Most constrained value