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 Aussagenlogik<br />
Algorithmus DPLL-Prozedur<br />
E<strong>in</strong>gabe: Klauselmenge C, <strong>die</strong> ke<strong>in</strong>e tautologischen Klauseln enthält<br />
Funktion DPLL(C):<br />
if ∅ ∈ C // C enthält <strong>die</strong> leere Klausel<br />
then return true; // unerfüllbar<br />
endif<br />
if C = ∅ // C ist <strong>die</strong> leere Menge<br />
then return false; // erfüllbar<br />
endif<br />
if C enthält 1-Klausel {L} then<br />
Sei C ′ <strong>die</strong> Klauselmenge, <strong>die</strong> aus C entsteht, <strong>in</strong>dem<br />
(1) alle Klauseln, <strong>die</strong> L enthalten, entfernt werden und<br />
(2) <strong>in</strong> den verbleibenden Klausel alle Literale L entfernt werden<br />
(wobei L = ¬X, wenn L = X und L = X, wenn L = ¬X)<br />
DPLL(C ′ ); // rekursiver Aufruf<br />
endif<br />
if C enthält isoliertes Literal L then<br />
Sei C ′ <strong>die</strong> Klauselmenge, <strong>die</strong> aus C entsteht, <strong>in</strong>dem alle Klauseln, <strong>die</strong> L enthalten,<br />
entfernt werden.<br />
DPLL(C ′ ); // rekursiver Aufruf<br />
endif<br />
// Nur wenn ke<strong>in</strong>er <strong>der</strong> obigen Fälle zutraf:<br />
Wähle Atom A, dass <strong>in</strong> C vorkommt;<br />
return DPLL(C ∪ {{A}}) ∧ DPLL(C ∪ {{¬A}}) // Fallunterscheidung<br />
Dies ist e<strong>in</strong> vollständiges, korrektes Entscheidungsverfahren für <strong>die</strong> (Un-)Erfüllbarkeit<br />
von aussagenlogischen Klauselmengen.<br />
Das Entfernen <strong>der</strong> Klauseln, <strong>die</strong> das Literal aus <strong>der</strong> 1-Klausel enthalten, ((1) im Algorithmus)<br />
entspricht <strong>der</strong> Subsumtion, da <strong>die</strong> 1-Klausel {L} alle Klauseln subsumiert, <strong>die</strong><br />
L enthalten. Das Entfernen <strong>der</strong> 1-Klausel selbst entspricht <strong>der</strong> Vorgehensweise, das entsprechende<br />
Literal L <strong>in</strong> <strong>der</strong> Interpretation wahr zu machen, da jedes Modell <strong>die</strong> 1-Klausel<br />
wahr machen muss.<br />
Das Entfernen <strong>der</strong> Literale L <strong>in</strong> (2) entspricht <strong>der</strong> Resolution <strong>der</strong> jeweiligen Klausel mit<br />
<strong>der</strong> 1-Klausel {L} und anschließen<strong>der</strong> Subsumtion, denn <strong>die</strong> Resolvente subsumiert <strong>die</strong><br />
ursprüngliche Klausel:<br />
{L} {L, L ′ 1 , . . . , L′ n}<br />
{L ′ 1 , . . . , L′ n}<br />
Stand: 25. November 2012 100 M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13