Jump to content

Davis–Putnam algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Tizio (talk | contribs) at 18:23, 22 September 2005 (how the algorithm works). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

The Davis-Putnam algorithm is an algorithm for checking the satisfiability of formulae in conjunctive normal form, i.e., set of clauses. It is a form of resolution in which variables are iteratively chosen and removed by resolving every clause in which the variable is contained with a variable in which the variable is negated.

The algorithm works as follows:

  • for every variable in the formula
    • for every clause containing the variable and every clause containig the negation of the variable
      • resolve and
    • remove all original clauses containing the variable or its negation

The name Davis-Putnam algorithm or DP algorithm is sometimes incorrecty used to refer to the Davis-Logemann-Loveland algorithm.

See also