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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!