#кратчайший_путь — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #кратчайший_путь, aggregated by home.social.
-
Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях
Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях. Для для сетевиков, программистов и интересующихся.
-
Обобщенный алгоритм Дейкстры
Хочу поделиться знанием, которое не является секретом, в каких-то курсах по алгоритмам оно наверняка дается, но нагуглить его совсем не просто. Поэтому пусть будет. Алгоритм Дейкстры можно обобщить на произовльную функцию длины пути, если только она удовлетворяет трем условиям: Монотонность . При добавлении ребра к пути, его длина не уменьшается. Консистентность . При добавлении одинакового ребра к путям одинаковой длины, получившиеся новые пути имеют одинаковую длину. Оптимальность префикса . Если к двум путям приписать одинаковое ребро, то кратчайший путь останется кратчайшим. Под катом я привожу доказательство корректности обобщенного алгоритма и показываю, как его применить в задаче на литкоде: Trapping rain water II .
-
Век поиска кратчайшего решения задачи о кратчайшем пути
Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах , считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало. Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?
https://habr.com/ru/articles/812421/
#кратчайшее_расстояние #кратчайший_путь #алгоритмы #openstreetmap
-
Поиск пути в ВГД-лабиринте
Проанализируем поиск кратчайшего пути в некотором лабиринте. Из каждой клетки этого лабиринта можно ходить в соседние по горизонтали, по вертикали и по диагонали. Стоимость прохода по горизонтали или по вертикали равна единице. Стоимость прохода по диагонали равна корню квадратному из двух. При поиске будем использовать только целочисленный тип данных и не допускать никаких погрешностей в вычислениях. Для поиска кратчайшего пути будет использоваться алгоритм Дейкстры.