Может ли Астар посещать узлы более одного раза?
Я читал Астар из Википедиистатья, В своей реализации они проверяют каждый узел, если он находится вclosed
установить, и если это так, они пропускают это. Разве это не возможно, что если эвристика допустима, ноНЕ в соответствии с этим нам может потребоваться повторно посетить узел дважды (или более), чтобы улучшить егоf
стоимость? Это соответствующий код
for each neighbor in neighbor_nodes(current)
if neighbor in closedset //This if condition bothers me
continue
tentative_g_score := g_score[current] + dist_between(current,neighbor)
if neighbor not in openset or tentative_g_score < g_score[neighbor]
came_from[neighbor] := current
g_score[neighbor] := tentative_g_score
f_score[neighbor] := g_score[neighbor] + heuristic_cost_estimate(neighbor, goal)
if neighbor not in openset
add neighbor to openset