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 />
Beispiel 2.3.26. Die Suche e<strong>in</strong>es kürzesten Weges im Stadtplan mit dem Luftl<strong>in</strong>ienabstand als<br />
Schätzfunktion ist monoton: Mit ll() bezeichnen wir den Luftl<strong>in</strong>ienabstand. Es gilt wegen <strong>der</strong><br />
Dreiecksungleichung: ll(N, Z) < ll(N, N ′ ) + ll(N ′ , Z). Da <strong>der</strong> echte Abstand stets größer als<br />
Luftl<strong>in</strong>ie ist, gilt: ll(N, N ′ ) ≤ g(N, N ′ ), und mit <strong>der</strong> Bezeichnung h(·) := ll(·) gilt h(N) ≤<br />
g(N, N ′ ) + h(N ′ ).<br />
Dasselbe gilt für das Beispiel des gitterförmigen Stadtplans, bei dem man <strong>die</strong> Rechtecknorm<br />
nimmt, da auch <strong>die</strong>se <strong>die</strong> Dreiecksungleichung erfüllt.<br />
Man sieht auch, dass <strong>in</strong> e<strong>in</strong>em quadratischen Stadtplan <strong>die</strong> Rechtecknorm besser <strong>in</strong>formiert ist<br />
als <strong>die</strong> Luftl<strong>in</strong>ienentfernung.<br />
Satz 2.3.27. es gelten <strong>die</strong> Voraussetzungen <strong>in</strong> Satz 2.3.12. Seien d <strong>die</strong> Kosten des optimalen Weges.<br />
Seien h 1 , h 2 zwei monotone Schätzfunktionen, so dass h 2 besser <strong>in</strong>formiert sei als h 1 .<br />
Sei A 1 <strong>der</strong> A ∗o -Algorithmus zu h 1 und A 2 sei <strong>der</strong> A ∗o -Algorithmus zu h 2 .<br />
Dann gilt: Alle Knoten N mit g ∗ (N) + h 2 (N) ≤ d <strong>die</strong> von A 2 expan<strong>die</strong>rt werden, werden auch<br />
von A 1 expan<strong>die</strong>rt.<br />
Beweis. Der A ∗o -Algorithmus stoppt erst, wenn er ke<strong>in</strong>e Knoten mehr f<strong>in</strong>det, <strong>die</strong> unter<br />
<strong>der</strong> Grenze s<strong>in</strong>d. E<strong>in</strong> Knoten N wird von A 1 expan<strong>die</strong>rt, wenn es e<strong>in</strong>en Weg von S nach<br />
N gibt, so dass für alle Knoten M auf dem Weg <strong>die</strong> Ungleichung g ∗ (M) + h 2 (M) ≤ d gilt.<br />
Da wegen h 1 (M) ≤ h 2 (M) dann g ∗ (M) + h 1 (M) ≤ d gilt, wird <strong>der</strong> Knoten auch von A 1<br />
expan<strong>die</strong>rt<br />
Was macht man, wenn <strong>die</strong> Schätzfunktion nicht monoton ist? Im Fall e<strong>in</strong>er unterschätzenden<br />
Funktion h gibt es e<strong>in</strong>e Methode <strong>der</strong> Korrektur während des Ablaufs des Algorithmus.<br />
Angenommen, N hat Nachfolger N ′ und es gilt h(N) > g(N, N ′ ) + h(N ′ ). Nach Voraussetzung<br />
ist <strong>der</strong> optimale Wert e<strong>in</strong>es Weges von N zum Zielknoten größer als h(N). Wenn<br />
es e<strong>in</strong>en Weg von N ′ zu e<strong>in</strong>em Ziel gäbe <strong>der</strong> besser als h(N) − g(N, N ′ ) ist, dann hätte<br />
man e<strong>in</strong>en Wi<strong>der</strong>spruch zur Unterschätzung. Damit kann man h ′ (N ′ ) := h(N)−g(N, N ′ )<br />
def<strong>in</strong>ieren. Danach gilt h(N) = g(N, N ′ ) + h ′ (N ′ ).<br />
Beispiel 2.3.28.<br />
h(A) = 7<br />
A<br />
1<br />
4<br />
S<br />
1<br />
2<br />
B<br />
h(B) = 8<br />
1<br />
5<br />
C D<br />
h(C) =3 h(D)=4<br />
In <strong>die</strong>sem Beispiel sieht man, dass es vorkommen kann, dass e<strong>in</strong> Knoten im normalen A ∗ -<br />
Algorithmus von Open nach Closed geschoben wird, aber danach nochmal nach Open bewegt wird,<br />
Z<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 51 Stand: 1. November 2012