Я хочу создать кратчайшего пути ( k будет меньше 10) между всеми парами в графе. График (на самом деле карта метро):
- положительно взвешенный
- ненаправленный
- редкий
- около 100 узлов
Мой текущий план - применить каждой паре маршрутизацию по кратчайшему пути ; Сейчас я ищу более эффективную альтернативу (возможно, с динамическим программированием).
algorithms
graphs
optimization
shortest-path
Франклин Ю
источник
источник
Ответы:
Задача всех парk
Это, кажется, довольно молодая область исследований. Недавнюю работу Агарвала и Рамачандрана можно найти на ArXiv [1]. Раздел «Предыдущая работа» также даст вам некоторое представление об истории проблемы.
Задача всех парk
Здесь, действительно, лучший выбор - просто неоднократно применять алгоритм Эппштейна [2]. Общее замечание о том, что повторное применение алгоритма для версии задачи из одного источника является наиболее быстрым, было уже сделано в 1977 году Э. Л. Лоулером [3]; Eppstein предоставляет самый быстрый алгоритм на сегодняшний день для этой подзадачи.
Ссылки
[2] Эппштейн Д. Нахождение k кратчайших путей. SIAM Journal of Computing 28, 2 (1999), 652–673.
[3] Лоулер, Е.Л. Комментарий к вычислению k кратчайших путей в графе. Сообщения ACM, 20 (8): 603–605, 1977.
источник