PDA

Просмотр полной версии : Помощь в выборе алгоритма


scarbo
16.08.2010, 20:47
Всем привет.Прошу помочь в выборе оптимального алгоритма поиска пути.
Задача такая.
Имеем изометрическую проекцию, на ней точки A,B,C,D ...
A - отправная точка, точки соединяются линиями, линии если пересекаются, то только под 90гр.(То есть диагональных линий нет)
Надо находить кротчайшее расстояние от точки A, до любой другой точки.
Какой алгоритм оптимален?
A* - в этом случае, пушкой по воробьям.
Потом наверно, не плохо бы запоминать уже пройденный путь, чтоб не вычислять по новой каждый раз.

Котяра
16.08.2010, 21:53
а чем это a* - пушка? в самый раз.

scarbo
16.08.2010, 21:58
Котяра, я читал твой блог, и во время поиска по форуму твои посты.Я понимаю, что ты всецело за A*, я кстати даже и написал на нем.Но мне интересно, может быть есть что-то более оптимальное, у меня там нет никаких лабиринтов и проч. сложностей.

Волгоградец
17.08.2010, 11:54
Рэйтрейсингом можно попробовать, я когда-то делал, но не доделал - выкладывал поделку в несайтах.

Tails
17.08.2010, 11:59
волновой алгоритм ?
http://orionxl.ru/volnovoj-algoritm.html

-De-
17.08.2010, 12:09
Если точки 4, то перебор =) Если больше, то а* - достаточно быстро, достаточно мало памяти жрёт, что ещё надо?
Волна медленнее а*, а* это улучшенная волна.

scarbo
17.08.2010, 14:18
Ок, оставлю A*.Дейкстра тут не подойдет?

Котяра
17.08.2010, 14:22
дейкстра и волновые - это вырожденные случаи а-стар.
Непонятно условие задачи. Что здесь является путём графа? Проходимостей вообще нет?
Или наоборот есть только проходимости? Скриншот что-ли нарисовали бы..