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

da man doch e<strong>in</strong>en besseren Weg gefunden hat. Die Expansionsreihenfolge ist:<br />

expan<strong>die</strong>rt Nachfolger Open Closed<br />

S A,B S<br />

A C A,B S<br />

C D B,C S,A<br />

B C B,D S,A,C<br />

C D C,D S,A,B<br />

...<br />

Dies tritt beim Knoten C auf.<br />

Diese Schätzfunktion kann nicht monoton se<strong>in</strong>. Es gilt 8 = h(B) > g(B, C) + h(C) = 5.<br />

Was <strong>die</strong>ses Beispiel auch noch zeigt, ist dass <strong>der</strong> Reparaturmechanismus, <strong>der</strong> dynamisch h zu<br />

e<strong>in</strong>er monotonen Schätzfunktion verbessert, das Verhalten des Algorithmus nicht so verbessert,<br />

dass Aussage 2.3.20 gilt, denn <strong>die</strong> Aussage gilt nicht für <strong>die</strong>ses Beispiel unter <strong>der</strong> Annahme <strong>der</strong><br />

nachträglichen Korrektur von h.<br />

2.3.3 IDA ∗ -Algorithmus und SMA ∗ -Algorithmus<br />

Da <strong>der</strong> A ∗ -Algorithmus sich alle jemals besuchten Knoten merkt, wird er oft an <strong>die</strong> Speichergrenze<br />

stoßen und aufgeben. Um das zu umgehen, nimmt man e<strong>in</strong>e Komb<strong>in</strong>ation<br />

des abgeschwächten A ∗ -Algorithmus und des iterativen Vertiefens. Die Rolle <strong>der</strong> Grenze<br />

spielt <strong>in</strong> <strong>die</strong>sem Fall <strong>der</strong> maximale Wert d e<strong>in</strong>es Weges, <strong>der</strong> schon erzeugt wurde.<br />

IDA ∗ mit Grenze d:<br />

• Ist analog zu A ∗ .<br />

• es gibt ke<strong>in</strong>e Open/Closed-Listen, nur e<strong>in</strong>en Stack mit Knoten und Wegekosten.<br />

• <strong>der</strong> Wert g(N) wird bei gerichteten Graphen nicht per Update verbessert.<br />

• Der Knoten N wird nicht expan<strong>die</strong>rt, wenn f(N) > d.<br />

• das M<strong>in</strong>imum <strong>der</strong> Werte f(N) mit f(N) > d wird das d <strong>in</strong> <strong>der</strong> nächsten Iteration.<br />

Dieser Algorithmus benötigt nur l<strong>in</strong>earen Platz <strong>in</strong> <strong>der</strong> Länge des optimalen Weges, da<br />

er nur e<strong>in</strong>en Stack (Rekursions-Stack des aktuellen Weges) verwalten muss.<br />

Da <strong>die</strong>ser Algorithmus <strong>in</strong> e<strong>in</strong>em gerichteten Graphen möglicherweise e<strong>in</strong>e exponentielle<br />

Anzahl von Wegen absuchen muss, obwohl das beim A ∗ -Algorithmus durch Update<br />

zu vermeiden ist, gibt es e<strong>in</strong>e pragmatische Variante, den SMA ∗ -Algorithmus, <strong>der</strong> wie <strong>der</strong><br />

A ∗ -Algorithmus arbeitet, aber im Fall, dass <strong>der</strong> Speicher nicht reicht, bereits gespeicherte<br />

Knoten löscht. Der Algorithmus nutzt hierzu <strong>die</strong> verfügbare Information und löscht<br />

<strong>die</strong> Knoten, <strong>der</strong> am ehesten nicht zu e<strong>in</strong>em optimalen Weg beiträgt. Das s<strong>in</strong>d Knoten, <strong>die</strong><br />

hohe f-Werte haben. Es gibt weitere Optimierungen hierzu (siehe Russel-Norvig).<br />

Stand: 19. Oktober 2012 52 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!