Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.7 DPLL-Verfahren<br />
Das Entfernen <strong>der</strong> Klauseln, <strong>die</strong> isolierten Literale enthalten, entspricht genau <strong>der</strong> oben<br />
behandelten Löschregel für isolierte Literale.<br />
Wenn all <strong>die</strong>se Regeln nicht mehr anwendbar s<strong>in</strong>d (es gibt we<strong>der</strong> 1-Klauseln noch isolierte<br />
Literale), wird <strong>in</strong> <strong>der</strong> letzten Zeile e<strong>in</strong>e Fallunterscheidung durchgeführt, <strong>die</strong> <strong>die</strong><br />
beiden Fälle A ist wahr, o<strong>der</strong> A ist falsch probiert.<br />
Diese DPLL-Prozedur ist im Allgeme<strong>in</strong>en (aus praktischer Sicht) sehr viel besser als e<strong>in</strong>e<br />
vollständige Fallunterscheidung über alle möglichen Variablenbelegungen, d.h. besser<br />
als <strong>die</strong> Erstellung e<strong>in</strong>er Wahrheitstafel. Die DPLL-Prozedur braucht im schlimmsten Fall<br />
exponentiell viel Zeit (<strong>in</strong> <strong>der</strong> Anzahl <strong>der</strong> unterschiedlichen Variablen), was nicht weiter<br />
verwun<strong>der</strong>n kann, denn e<strong>in</strong> Teil des Problems ist gerade SAT, das Erfüllbarkeitsproblem<br />
für aussagenlogische Klauselmengen, und das ist bekanntlich N P-vollständig.<br />
Der DPLL-Algorithmus ist erstaunlich schnell, wenn man bei <strong>der</strong> Fallunterscheidung<br />
am Ende noch darauf achtet, dass man Literale auswählt, <strong>die</strong> <strong>in</strong> möglichst kurzen Klauseln<br />
vorkommen. Dies erhöht nämlich <strong>die</strong> Wahrsche<strong>in</strong>lichkeit, dass nach wenigen Schritten<br />
große Anteile <strong>der</strong> Klauselmenge gelöscht werden.<br />
Der DPLL-Algorithmus kann leicht so erweitert werden, dass im Falle <strong>der</strong> Erfüllbarkeit<br />
<strong>der</strong> Klauselmenge auch e<strong>in</strong> Modell (e<strong>in</strong>e erfüllende Interpretation) berechnet wird. Der<br />
Algorithmus arbeitet depth-first mit backtrack<strong>in</strong>g. Wenn <strong>die</strong> Antwort „erfüllbar“ ist, kann<br />
man durch Rückverfolgung <strong>der</strong> folgenden Annahmen e<strong>in</strong> Modell bestimmen:<br />
1. Isolierte Literale werden als wahr angenommen.<br />
2. Literale <strong>in</strong> 1-Klauseln werden ebenfalls als wahr angenommen.<br />
3. Dadurch nicht belegt Variablen können für das vollständige Modell beliebig belegt<br />
werden<br />
Beispiel 3.7.1. Betrachte folgende Klauselmenge, wobei jede Zeile e<strong>in</strong>er Klausel entspricht.<br />
P, Q<br />
¬P, Q R<br />
P, ¬Q, R<br />
¬, P ¬Q, R<br />
P, Q, ¬R<br />
¬P, Q, ¬R<br />
P, ¬Q, ¬R<br />
¬P, ¬Q, ¬R<br />
Fall 1: Ad<strong>die</strong>re <strong>die</strong> Klausel {P }. Das ergibt nach e<strong>in</strong>igen Schritten:<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 101 Stand: 25. November 2012