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 ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2 Suchverfahren<br />
Basisfall n = 1. Dann erfüllt <strong>der</strong> „Weg“ S <strong>die</strong> Voraussetzung, da <strong>in</strong>fWeg(S) = d angenommen<br />
wurde. Für den Induktionsschritt, sei <strong>die</strong> Bed<strong>in</strong>gung für n − 1 erfüllt. Wir betrachten<br />
zwei Fälle:<br />
• Die Induktionsannahme erfüllt Bed<strong>in</strong>gung 1, d.h. es gibt e<strong>in</strong>en Weg K 1 → . . . K i<br />
(für e<strong>in</strong> i ≤ n − 1) mit c W (K 1 , . . . , K i ) = d und K i ist Zielknoten. Dann erfüllt <strong>der</strong><br />
gleiche Weg Bed<strong>in</strong>gung 1 für n.<br />
• Die Induktionsannahme erfüllt Bed<strong>in</strong>gung 2. Sei K 1 → . . . → K n−1 <strong>der</strong> entsprechende<br />
Weg. Insbeson<strong>der</strong>e gilt c W (K 1 , . . . , K n−1 ) + <strong>in</strong>fWeg(K n−1 ) = d.<br />
Wenn K n−1 e<strong>in</strong> Zielknoten ist, ist Bed<strong>in</strong>gung 1 erfüllt und wir s<strong>in</strong>d fertig.<br />
An<strong>der</strong>enfalls betrachte alle Nachfolger N 1 , . . . , N m von K j . Da es nur endliche<br />
viele Nachfolger gibt, gibt es m<strong>in</strong>destens e<strong>in</strong>en Nachfolger N h , so dass<br />
c W (K 1 , . . . , K n−1 ) + c(K j , N h ) + <strong>in</strong>fWeg(N h ) = d. Mit K n := N h erfült <strong>der</strong> Weg<br />
K 1 → . . . → K n Bed<strong>in</strong>gung 2.<br />
Zum Beweis <strong>der</strong> eigentlichen Aussage, müssen wir jetzt nur noch zeigen, dass es e<strong>in</strong> n gibt,<br />
dass Bed<strong>in</strong>gung 1 erfüllt, d.h. es gibt ke<strong>in</strong>en unendlichen langen Weg <strong>der</strong> Bed<strong>in</strong>gung 2<br />
erfüllt.<br />
Betrachte <strong>die</strong> konstruierte Folge K 1 → K 2 → . . . gem. Bed<strong>in</strong>gung 2. E<strong>in</strong> Knoten kann<br />
nicht mehrfach <strong>in</strong> <strong>der</strong> Folge K 0 , K 1 , . . . vorkommen, da man sonst das Infimum d echt<br />
verkle<strong>in</strong>ern könnte (den Zyklus immer wie<strong>der</strong> gehen). Weiterh<strong>in</strong> muss für jeden Knoten<br />
K j gelten, dass h(K j ) ≤ <strong>in</strong>fWeg(K j ) ist, da h unterschätzend ist und <strong>in</strong>fWeg(K j ) das<br />
entsprechende Infimum <strong>der</strong> existierenden Wege zum Ziel ist. Gäbe es unendlich viele<br />
Knoten K j , dann wäre daher Bed<strong>in</strong>gung 1 aus Def<strong>in</strong>ition 2.3.5 verletzt. Somit folgt, dass<br />
es ke<strong>in</strong>e unendliche Folge gibt und man daher stets e<strong>in</strong>en endlichen optimalen Weg f<strong>in</strong>det.<br />
Lemma 2.3.9. Es existiere e<strong>in</strong> optimaler Weg S = K 0 → . . . → K n = Z vom Startknoten S bis<br />
zu e<strong>in</strong>em Zielknoten Z . Die Voraussetzungen <strong>in</strong> Def<strong>in</strong>ition 2.3.5 seien erfüllt. Dann ist während<br />
<strong>der</strong> Ausführung des A ∗ -Algorithmus stets e<strong>in</strong> Knoten K i <strong>in</strong> Open, markiert mit g(K i ) = g ∗ (K i ),<br />
d.h. mit e<strong>in</strong>em optimalen Weg von S zu K i .<br />
Beweis. Induktion über <strong>die</strong> Iterationen des A ∗ -Algorithmus. Für den Basisfall, genügt es<br />
zu beachten, dass S ∈ Open und g(S) = 0 gilt, und im Anschluss K 1 <strong>in</strong> Open e<strong>in</strong>gefügt<br />
wird. Da S → K 1 und K 1 auf e<strong>in</strong>em optimalen Weg liegt, muss K 1 mit g(K 1 ) = c(S, K 1 ) =<br />
g ∗ (S, K 1 ) markiert werden (sonst gäbe es e<strong>in</strong>en kürzeren Weg von S zu Z).<br />
Induktionsschritt: Als Induktionshypothese verwenden wir, dass Open m<strong>in</strong>destens<br />
e<strong>in</strong>en <strong>der</strong> Knoten K i enthält, <strong>der</strong> mit g(K i ) = g ∗ (K i ) markiert ist. Sei j maximal, so dass<br />
K j <strong>die</strong>se Bed<strong>in</strong>gungen erfüllt. Wir betrachten unterschiedliche Fälle:<br />
• E<strong>in</strong> Knoten ≠ K j wird expan<strong>die</strong>rt. Dann verbleibt K j <strong>in</strong> Open und <strong>der</strong> Wert g(K j )<br />
wird nicht verän<strong>der</strong>t, da er bereits optimal ist.<br />
Stand: 1. November 2012 46 M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13