20.03.2014 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!