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.
2.3 A ∗ -Algorithmus<br />
• Der Knoten K j wird expan<strong>die</strong>rt. Dann wird K j+1 <strong>in</strong> Open e<strong>in</strong>gefügt und erhält den<br />
Wert g(K j+1 ) = g(K j ) + c(K j , K j+1 ) = g ∗ (K j ) + c(K j , K j+1 ) Dieser Wert muss<br />
optimal se<strong>in</strong>, da ansonsten <strong>der</strong> Weg S → K 1 → . . . → K n nicht optimal wäre.<br />
Lemma 2.3.10. Unter <strong>der</strong> Annahme, dass <strong>die</strong> Bed<strong>in</strong>gungen aus 2.3.5 erfüllt s<strong>in</strong>d, gilt: Wenn A∗<br />
e<strong>in</strong>en Zielknoten expan<strong>die</strong>rt, dann ist <strong>die</strong>ser optimal.<br />
Beweis. Nehme an S = K 0 → K 1 . . . K n = Z ist e<strong>in</strong> optimaler Weg. Angenommen,<br />
e<strong>in</strong> Zielknoten Z ′ wird expan<strong>die</strong>rt. Dann ist Z ′ <strong>der</strong> Knoten aus Open mit dem m<strong>in</strong>imalen<br />
f(Z ′ ) = g(Z ′ ) + h(Z ′ ) = g(Z ′ ). Betrachte den Knoten K j mit maximalem j aus<br />
dem optimalen Weg, <strong>der</strong> noch <strong>in</strong> Open ist und mit g(K j ) = g ∗ (K j ) markiert ist (gem.<br />
Lemma 2.3.9). Wenn Z = Z ′ und genau auf dem Weg erreicht wurde, dann ist genau<br />
<strong>der</strong> optimale Weg S → K 1 → . . . → Z gefunden worden. Wenn K j ≠ Z ′ , dann gilt<br />
f(K j ) = g(K j ) + h(K j ) ≤ d da h <strong>die</strong> Kosten bis zum Ziel unterschätzt. Da Z ′ expan<strong>die</strong>rt<br />
wurde, gilt f(Z ′ ) = g(Z ′ ) + h(Z ′ ) = g(Z ′ ) ≤ g(K j ) + h(K j ) ≤ d, und daher ist <strong>der</strong><br />
gefundene Weg optimal.<br />
Lemma 2.3.11. Unter <strong>der</strong> Annahme, dass <strong>die</strong> Bed<strong>in</strong>gungen aus 2.3.5 erfüllt s<strong>in</strong>d, und e<strong>in</strong> Weg<br />
vom Start zum Zielknoten existiert gilt: Der A ∗ -Algorithmus expan<strong>die</strong>rt e<strong>in</strong>en Zielknoten nach<br />
endlich vielen Schritten.<br />
Beweis. Seien d <strong>die</strong> Kosten des optimalen Wegs S = K 0 → K 1 . . . → K n = Z. Aufgrund<br />
von Lemma 2.3.9 genügt es zu zeigen, dass je<strong>der</strong> <strong>der</strong> Knoten K i nach endlich vielen Schritten<br />
expan<strong>die</strong>rt wird, o<strong>der</strong> e<strong>in</strong> an<strong>der</strong>er Zielknoten wird expan<strong>die</strong>rt. Da stets e<strong>in</strong> K i <strong>in</strong> Open<br />
mit Wert g(K i ) = g ∗ (K i ) markiert ist und g ∗ (K i ) + h(K i ) ≤ d gelten muss (<strong>die</strong> Heuristik<br />
ist unterschätzend), werden nur Knoten L expan<strong>die</strong>rt für <strong>die</strong> zum Zeitpunkt ihrer Expansion<br />
gilt: g(L) + h(L) ≤ g ∗ (K i ) + h(K i ) ≤ d. Da g ∗ (L) + h(L) ≥ g(L) + h(L), gilt auch<br />
g ∗ (L) + h(L) ≤ d für all <strong>die</strong>se Knoten L. Gemäß Bed<strong>in</strong>gung 1 aus Def<strong>in</strong>ition2.3.5 kann es<br />
daher nur endlich viele solcher Knoten L geben, <strong>die</strong> vor K i expan<strong>die</strong>rt werden.<br />
Aus den Lemmas 2.3.10 und 2.3.11 und Satz 2.3.8 folgt direkt:<br />
Theorem 2.3.12. Es existiere e<strong>in</strong> Weg vom Start bis zu e<strong>in</strong>em Zielknoten. Die Voraussetzungen<br />
<strong>in</strong> Def<strong>in</strong>ition 2.3.5 seien erfüllt. Dann f<strong>in</strong>det <strong>der</strong> A ∗ -Algorithmus e<strong>in</strong>en optimalen Weg zu e<strong>in</strong>em<br />
Zielknoten.<br />
Beachte, dass <strong>der</strong> A ∗ -Algorithmus auch e<strong>in</strong>en an<strong>der</strong>en optimalen Weg f<strong>in</strong>den kann, <strong>der</strong><br />
von K 1 , . . . , K n verschieden ist.<br />
Beispiel 2.3.13. Für das Stadtplan-Beispiel können wir folgern, dass <strong>der</strong> A ∗ -Algorithmus im Falle<br />
des Abstandsmaßes h(.), das <strong>die</strong> Luftl<strong>in</strong>ienentfernung zum Ziel misst, e<strong>in</strong>en optimalen Weg f<strong>in</strong>den<br />
wird. Hat <strong>der</strong> Stadtplan nur Straßen <strong>in</strong> zwei zue<strong>in</strong>an<strong>der</strong> senkrechten Richtungen, dann kann man<br />
auch <strong>die</strong> Rechtecknorm nehmen.<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 47 Stand: 1. November 2012