hallo zusammen,
ich habe eine, für mich , sehr gute beschreibung des A*-Algorithmus
gefunden, die folgender massen aussieht:
Generiere eine OPEN Liste
Generiere eine CLOSED Liste
Generiere einen Startknoten und nenne ihn STARTKNOTEN
Generiere einen Zielknoten und nenne ihn ZIELKNOTEN
Füge den Startknoten der OPEN Liste hinzu
Solange der Zielknoten nicht erreicht ist
(
Für jeden Knoten
(
Setze einen Zeiger auf den PARENT-Knoten
Schätze H
Berechne die Kosten nach der Formel K = Kb + H
Wenn sich der gleiche Knoten bereits in der OPEN Liste befindet und seine Kosten K
geringer oder gleich hoch sind, verwerfe den neuen Knoten
Wenn sich der gleiche Knoten bereits in der CLOSED Liste befindet und seine Kosten
K geringer oder gleich hoch sind, verwerfe den neuen Knoten.
Andernfalls lösche alle gleichen Knoten aus der OPEN- und der CLOSED Liste.
Füge den aktuellen Knoten der OPEN Liste hinzu
)
)
...........
mir ist eigentlich alles klar an diesem vorgang , nur eins
versteh ich einfach nicht ...
jeder knoten hat ja nacbarknoten die an irgend einem punk in die
OPEN liste aufgenommen werden müssen.. aber wann ?? und wieso
wird der knoten wenn er die geringsten kosten hat in die OPEN
liste eingefügt ?? .. für mein verständniss ist er da doch schon drin.
und müsste er nicht eher in die close liste ??
viele dank schonmal für denkanstösse ...
ich steh vermulich selber auf der leitung :-)
cu
kai