Поиск пути с обязательными точками

Подскажите, пожалуйста, что искать.

Есть точки на карте, а так же путь для объекта, но этот путь написан не полностью.
тоесть есть путь: точка 1; точка 2; точка 4; точка 6;
Но что бы пройти путь, мне надо сделать такой путь: точка 1; точка 2; точка 58; точка 4; точка 17; точка 6;
  • Вопрос задан
  • 3114 просмотров
Пригласить эксперта
Ответы на вопрос 6
@mayorovp
Данная задача очевидным образом сводится к задаче о нахождении оптимального пути между двумя точками, без ограничений на обязательные точки.

А вот решение второй задачи уже зависит от того, что такое «карта», каковы критерии оптимальности, и т. п.
Ответ написан
barker
@barker
Если надо прикинуть алгоритм, то недостаточно информации. Как недостающие точки описаны? Как я понимаю, есть путь, но его надо дополнить точками? Тогда какие критерии включения недостающих точек в каждый отрезок пути? Итд.
Ответ написан
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Последовательный поиск пути от точки к точке, используя алгоритм «A*»?

http://en.wikipedia.org/wiki/A*_search_algorithm
Ответ написан
Комментировать
@T-D-K
Если точки нельзя посещать несколько раз, то вот. Пускай точки что уже известны лежат в массиве points. Тогда по волновому или A* находим все кратчайшие расстояния от points[i] до points[i+1] и заносим в массив paths[i,j], где j — j-й путь от points[i] до points[i+1]. Дальше перебором (или тоже можно пути на графе из путей рассмотреть) пытаемся построить общий путь из всех paths, такой чтобы ни в одну точку не заходили дважды. Т.е. если по-тупому: берём paths[1,1] и перебираем все paths[2,1] и т.д.
Если точки можно посещать несколько раз, то как сказали выше: последовательный поиск пути от точки к точке.
Ответ написан
Комментировать
@sizenko
Георгий всё просто - свяжитесь со мной (Сизенко Дмитрий) и давайте доделаем работу. Советую выйти на связь и ответить на сообщения в ВК, скайпе или почте
Ответ написан
Комментировать
@sizenko
Георгий, свяжитесь со мной срочно, ни к чему хорошему молчание ваше не приведет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы