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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!