03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

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.

15.1 Prüfung von Direktverbindungen 319<br />

Lösungsplan<br />

Um die Bestwegsuche programmieren zu können, stellen wir die von uns gewählte<br />

Strategie zunächst an einem Beispiel dar. Dazu betrachten wir die folgende Skizze,<br />

die das Auffinden der kürzesten Verbindung zwischen “Ful” und “Ber” beschreibt:<br />

Ful 0 Ful<br />

m2. m 1.<br />

.<br />

.<br />

Ham 431 Ful<br />

. .<br />

Mue 394 Ful<br />

m3.<br />

. .<br />

Ber 722 Ham<br />

ˆ Grundsätzlich sollen sämtliche noch nicht expandierte Knoten in einem Knoten-<br />

Sammler festgehalten werden.<br />

ˆ In einem Geprüft-Sammler sollen Informationen über bereits expandierte Knoten<br />

in der Form<br />

#(nachfolger-knoten entfernung vorgänger-knoten)<br />

gesammelt werden.<br />

Hinweis: Zu Beginn der Bestwegsuche ist der Geprüft-Sammler gleich dem leeren<br />

Sammler.<br />

ˆ In einem Erreicht-Sammler sollen als Objekte alle diejenigen Sammler der<br />

Form<br />

#(nachfolger-knoten entfernung vorgänger-knoten)<br />

eingetragen werden, für die “nachfolger-knoten” ein bereits als Nachfolger<br />

ermittelter Knoten ist, der jedoch bislang noch nicht expandiert wurde.<br />

Hinweis: Wir werden den Erreicht-Sammler so aufbauen, daß dessen Objekte automatisch<br />

aufsteigend nach ihrer Entfernung sortiert werden. Dazu setzen wir eine<br />

Instanziierung der Klasse “SortedCollection” mit einem Sortier-Block der Form<br />

[:x :y | (x at:2) < (y at:2)]<br />

ein.<br />

Damit stellt sich für das Beispiel die folgende Ausgangssituation dar:<br />

Knoten-Sammler: (Ham, Koe, Mai, Ful, Fra, Kar, Stu, Mue, Ber, Dre)<br />

Geprüft-Sammler: ()<br />

Erreicht-Sammler: ( #(Ful 0 Ful) )

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!