Я разрабатываю систему для поиска кратчайшего маршрута, охватывающего наименьшее количество ячеек. Предположим, что плоскость разделена на прямоугольные ячейки. Какой будет наиболее подходящий алгоритм для этого. Я просто ищу начальный старт, а не правильный код или реализацию.Алгоритм поиска кратчайшего расстояния, охватывающего наименьшее количество ячеек
0
A
ответ
2
Вы имеете дело с shortest path problem, в невзвешенном графике (вершины ячейки в сетке, а ребра возможные ходы от одной клетки к другой)
- Самый простой подход является простым BFS - что находит самый короткий путь от источника ко всем целям (в невзвешенных графах).
Этот алгоритм довольно прост и итеративно «обнаруживает» ближайшие узлы, все узлы расстояния 1, затем расстояния 2, ... - Оптимизация использует bi-directional search. Здесь вы можете использовать единый источник и единую цель, выполняя BFS с обеих сторон, эффективно уменьшая количество узлов, которые вам нужно разрабатывать.
- Еще одна оптимизация может заключаться в использовании A* Search Algorithm с допустимой эвристической функцией manhattan distances.
В A * Search вы можете воспользоваться тем, что график не является произвольным графом, а сеткой, и вы можете оценить расстояние от одного узла до другого, основываясь на своих местоположениях в сетке. Алгоритм будет использовать эти оценки, чтобы быстрее найти оптимальный путь.
Примечание. Все алгоритмы, которые я предложил найти, кратчайший путь, разница в том времени, когда потребуется их найти.
+0
Вы знаете, как работают сайты с гиперлокальной доставкой, поэтому я думаю, что это нормально, если сайты занимают несколько минут, чтобы найти кратчайшие маршруты –
Смежные вопросы
- 1. Алгоритм кратчайшего расстояния между точками
- 2. Алгоритм: Найти наименьшее количество
- 3. алгоритм для вычисления кратчайшего расстояния рыцаря (шахматы)
- 4. Алгоритм лифта и алгоритм кратчайшего поиска (SSF)
- 5. Расчет кратчайшего расстояния
- 6. Алгоритм поиска A * (star) для кратчайшего пути
- 7. Алгоритм поиска кратчайшего пути между двумя объектами
- 8. Более эффективный алгоритм для поиска кратчайшего суперстрока
- 9. Алгоритм поиска кратчайшего пути в матрице
- 10. Определение кратчайшего расстояния между изобатами
- 11. ускорение алгоритма поиска кратчайшего пути
- 12. Алгоритм для кратчайшего расстояния от точки до эллиптической дуги
- 13. Как запрограммировать этот алгоритм кратчайшего расстояния Dijkstra в R?
- 14. Алгоритм поиска краев ячеек тетраэдров
- 15. Графический алгоритм для поиска кратчайшего маршрута транспортировки заказа
- 16. Расчет кратчайшего расстояния между n точками GPS
- 17. Алгоритм поиска кратчайшего расстояния от точки в множестве A до точек в множестве B
- 18. алгоритм кратчайшего пути или маршрута
- 19. кратчайшего алгоритм пути Дейкстры
- 20. Алгоритм поиска минимального расстояния между последовательностями точек
- 21. Измененный алгоритм кратчайшего пути - вершины имеют точки
- 22. Алгоритм кратчайшего пути Флойда?
- 23. Алгоритм кратчайшего пути Djikstra
- 24. кратчайшего пути алгоритм ошибка
- 25. Алгоритм - найти наименьшее подмножество ячеек, представляющих все строки
- 26. Алгоритм маршрутизации - получение кратчайшего маршрута
- 27. дизайн базы данных - наименьшее количество места для создания таблицы поиска
- 28. Алгоритм для поиска соседних ячеек в матрице
- 29. алгоритм поиска пустых ячеек в minesweeper
- 30. Алгоритм кратчайшего пути: алгоритм коррекции метки
https://en.wikipedia.org/wiki/A*_search_algorithm – Skarlinski
(: Добавить звезду в URL-адрес – Skarlinski
Самый короткий маршрут, охватывающий наименьшее возможное количество ячеек, - это «остановка при запуске» - он охватывает ровно один ячейка. – CiaPan