2013-03-18 3 views
1

У меня есть график узлов, и мне нужно перейти от узла a к узлу b. Что такое хорошая эвристическая функция (может быть в псевдокоде или что-то еще) для получения от точки A до точки B. Доступной информацией является смежность узлов и расстояния между всеми узлами.Эвристика для A *, использующая наименьшие прыжки

+1

Это действительно сложно сказать без контекста проблемы. Но я бы предположил, что вы всегда выбираете хорошо объединенный в сеть узел (больше соединений, тем лучше) до слабого сетевого узла. (опять же, его просто идея) – st0le

+0

Когда вы говорите «расстояния между всеми узлами», вы имеете в виду а) веса всех ребер, б) затраты на лучшие пути между всеми путями, в) числа ребер в эти пути, или г) что-то еще? – Beta

+0

У меня есть список узлов и все их смежности плюс расположение этих узлов на картезианской плоскости. – Red

ответ

-1

Посмотри на алгоритме Дейкстров

http://en.wikipedia.org/wiki/Dijkstra «s_algorithm

+2

Не знаете, как этот ответ помогает (вообще) и почему он был поддержан. ОП запрашивает ** эвристику ** für A *. Он просто * использует * Дейкстра. – usr

0

Если у вас есть расстояния между всеми узлами, то, что является лучшим эвристическим вы можете иметь.