DPLL Algorithm
The Davis-Putnam-Logemann-Loveland (DPPL) algorithm was proposed in the 1962. It is a divide-and-conquer backtrack-search type algorithm, it works as follows:
Link to original
- Run pure literal elimination and unit clause propagation.
- If any clauses remain unsatisfied, we branch on any remaining variable :
- Choose to make by adding to
- Choose to make by adding to
- We can achieve this by recursively calling the DPLL Algorithm until either:
- all clauses are satisfied and
- a conflict is detected in the partial assignment

greedy sat algo
unit clause
A unit clause is any clause that contains only a single literal:
We have no choice in the assignment of unit clauses:
We can now eliminate these literals:
Furthermore, we can simplify the remaining clauses:
We may find this leads to further assignments, repeating the process, we find:
Link to original