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.
5.2 Semantik von Hornklauselprogrammen<br />
5.2.1 Vollständigkeit <strong>der</strong> SLD-Resolution<br />
Wir werden verschiedene Vollständigkeitsaussagen für <strong>die</strong> SLD-Resolution formulieren.<br />
Theorem 5.2.5. (Wi<strong>der</strong>legungsvollständigkeit)<br />
Sei P e<strong>in</strong> def<strong>in</strong>ites Programm und G e<strong>in</strong> def<strong>in</strong>ites Ziel. Wenn P ∪ {G} unerfüllbar ist, dann gibt<br />
es e<strong>in</strong>e SLD-Wi<strong>der</strong>legung von P ∪ {G}.<br />
Es gilt <strong>der</strong> folgende stärkere Satz über <strong>die</strong> Vollständigkeit <strong>der</strong> berechneten Antworten,<br />
nämlich, dass es zu je<strong>der</strong> Antwortsubstitution e<strong>in</strong>e berechnete Antwort gibt, <strong>die</strong> allgeme<strong>in</strong>er<br />
ist.<br />
Theorem 5.2.6 (Vollständigkeit <strong>der</strong> SLD-Resolution). Sei P e<strong>in</strong> def<strong>in</strong>ites Programm und G<br />
e<strong>in</strong> def<strong>in</strong>ites Ziel. Zu je<strong>der</strong> korrekten Antwort θ gibt es e<strong>in</strong>e berechnete Antwort σ für P ∪ {G}<br />
und e<strong>in</strong>e Substitution γ, so dass für alle Variablen x ∈ F V (G): γσ(x) = θ(x).<br />
5.2.2 Strategien zur Berechnung von Antworten<br />
Def<strong>in</strong>ition 5.2.7. Der folgende Algorithmus berechnet alle Antworten mit e<strong>in</strong>er Breitensuche:<br />
1. Gegeben e<strong>in</strong> Ziel ⇐ A 1 , . . . , A n :<br />
a) Probiere alle Möglichkeiten aus, e<strong>in</strong> Unterziel A aus A 1 , . . . , A n auszuwählen<br />
b) Probiere alle Möglichkeiten aus, e<strong>in</strong>e Resolution von A mit e<strong>in</strong>em Kopf e<strong>in</strong>er Programmklausel<br />
durchzuführen.<br />
2. Erzeuge neues Ziel B: Löschen von A, Instanziieren des restlichen Ziels, H<strong>in</strong>zufügen des<br />
Rumpfs <strong>der</strong> Klausel.<br />
3. Wenn B = □, dann gebe <strong>die</strong> Antwort aus.<br />
Sonst: mache weiter mit 1 mit dem Ziel B.<br />
Dieser Algorithmus hat zwei Verzweigungspunkte pro Resolutionsschritt:<br />
• Die Auswahl e<strong>in</strong>es Atoms<br />
• Die Auswahl e<strong>in</strong>er Klausel<br />
Es stellt sich heraus, dass bei <strong>der</strong> Auswahl des Atoms <strong>die</strong> restlichen Alternativen nicht<br />
betrachtet werden müssen.<br />
Satz 5.2.8. Vertauscht man <strong>in</strong> e<strong>in</strong>er SLD-Wi<strong>der</strong>legung <strong>die</strong> Abarbeitung zweier Atome <strong>in</strong> e<strong>in</strong>em<br />
Ziel, so s<strong>in</strong>d <strong>die</strong> zugehörigen Substitutionen bis auf Variablenumbenennung gleich und <strong>die</strong> Wi<strong>der</strong>legung<br />
hat <strong>die</strong> gleiche Länge.<br />
Weiterh<strong>in</strong> gilt: Die Suchstrategie, <strong>die</strong> irgende<strong>in</strong> Atom auswählt, dann alle Klauseln durchprobiert,<br />
usw. ist vollständig bzgl. <strong>der</strong> Antworten.<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 159 Stand: 7. Januar 2013