Как сравниваются алгоритм Дейкстры и A-Star? - PullRequest
145 голосов
/ 26 августа 2009

Я смотрел на то, что делали ребята в Mario AI Competition , и некоторые из них создали несколько довольно аккуратных ботов Mario, используя алгоритм A * (A-Star) Pathing.

alt text
( Видео Марио A * Bot In Action )

Мой вопрос: как A-Star сравнивается с Dijkstra? Глядя на них, они кажутся похожими.

Зачем кому-то использовать один поверх другого? Особенно в контексте путей в играх?

Ответы [ 11 ]

0 голосов
/ 30 октября 2011

Алгоритм Дейкстры определенно завершен и оптимален, так что вы всегда найдете кратчайший путь. Однако это, как правило, занимает больше времени, поскольку используется главным образом для обнаружения нескольких целевых узлов.

A* search, с другой стороны, имеет значение для эвристических ценностей, которые вы можете определить для достижения своей цели ближе, например, манхэттенское расстояние до цели. Он может быть либо оптимальным, либо полным, что зависит от эвристических факторов. это определенно быстрее, если у вас есть один целевой узел.

...