У меня есть график узлов, и мне нужно перейти от узла a к узлу b. Что такое хорошая эвристическая функция (может быть в псевдокоде или что-то еще) для получения от точки A до точки B. Доступной информацией является смежность узлов и расстояния между всеми узлами.Эвристика для A *, использующая наименьшие прыжки
1
A
ответ
-1
Посмотри на алгоритме Дейкстров
http://en.wikipedia.org/wiki/Dijkstra «s_algorithm
+2
Не знаете, как этот ответ помогает (вообще) и почему он был поддержан. ОП запрашивает ** эвристику ** für A *. Он просто * использует * Дейкстра. – usr
0
Если у вас есть расстояния между всеми узлами, то, что является лучшим эвристическим вы можете иметь.
Это действительно сложно сказать без контекста проблемы. Но я бы предположил, что вы всегда выбираете хорошо объединенный в сеть узел (больше соединений, тем лучше) до слабого сетевого узла. (опять же, его просто идея) – st0le
Когда вы говорите «расстояния между всеми узлами», вы имеете в виду а) веса всех ребер, б) затраты на лучшие пути между всеми путями, в) числа ребер в эти пути, или г) что-то еще? – Beta
У меня есть список узлов и все их смежности плюс расположение этих узлов на картезианской плоскости. – Red