Zurück zur Übersicht

Begriff

DPLL Algorithm

Computer Science Algorithms S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wie löst man ein Sudoku? Man sucht ein Feld, wo nur eine Zahl passt ("Unit Propagation"). Wenn keins da ist, rät man ("Probieren wir mal 5"). Wenn es nicht aufgeht, geht man zurück (Backtracking) und probiert eine andere Zahl. Genau das ist DPLL (Davis-Putnam-Logemann-Loveland). Der Ur-Großvater aller SAT-Solver (1962). Er ist ein intelligentes Backtracking-Verfahren für Logik-Formeln.

Merksatz: Ein vollständiger, Backtracking-basierter Algorithmus zur Entscheidung der Erfüllbarkeit von aussagenlogischen Formeln in konjunktiver Normalform (CNF), der Unit Propagation und Pure Literal Elimination nutzt.


Quick-Check

  1. Unterschied zu CDCL?
    DPLL ist "klassisches Backtracking" (Vergesslich). CDCL ist "DPLL mit Gedächtnis" (Conflict Learning). CDCL ist auf großen Problemen millionenfach schneller.
  2. Komplexität?
    Im Worst Case immer noch exponentiell ($2^N$). Aber im Average Case viel besser.
  3. Namen?
    Es gab erst DP (Davis-Putnam, basierend auf Resolution, 1960) -> brauchte zu viel Speicher. Dann DLL (Davis-Logemann-Loveland, 1962) -> basierend auf Suche. Wir nennen es heute DPLL.