В соответствии с A * все этапы с равной оценочной стоимостью (стоимостью от начала плюс эвристические) в равной степени заслуживают изучения.
Дело в том, что без дальнейшей эвристики мне трудно сделать выбор; или, скорее, это зависит от того, что вы хотите.
В стандартном f(x) = g(x) + h(x)
случае, если у вас нет другой эвристики или информации, есть 2 основные стратегии:
- вы выбираете самый последний шаг
x
, в надежде, что она соответствует хорошей трассе (и может помочь в проблемах с памятью): если это последнее, это означает, что он получил относительно небольшое обновление стоимости по отношению к остальным;
- вы выбираете шаг
x
с наименьшим h
, то есть для которого относительный вклад стоимости знания является наивысшим по отношению к неизвестной стоимости (для чего нацелен взвешенный A *).
Для этой второй стратегии, кроме раздувания эвристики, вам просто нужно заказать шаги/узлы парой (f, h)
вместо просто f
. Это, однако, не гарантирует, что у вас нет связи:
*
/\
| |
\/
+
В конце концов, вам нужно выбрать один, например, самый последний (или только один, что ваша реализация доходностей очереди приоритетов) ,
Обратите внимание, что если вы выберете x
с максимальным количеством h
, вы приблизитесь к поведению широты, на которое ссылался Амит.
Я удалил тэг MATLAB, поскольку это более алгоритмический вопрос и не зависит от языка реализации. – rayryeng