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 />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!