Существует ли реализация алгоритма кратчайшего пути с открытым исходным кодом с маркировкой расстояния а-ля Гавуаль и др.?

Если вам разрешено предварительно вычислять линейное по |V| количеству данных на графе, то существует семейство алгоритмов, которые имеют сублинейное время запроса для кратчайших путей на графе.

  1. Гавойль и др. Разметка расстояний на графиках.
  2. Коэн и др. Запросы достижимости и расстояния с помощью меток с двумя переходами
  3. Абрахам, Голдберг и др. Иерархическая маркировка концентраторов для кратчайших путей

Некоторые из них используются в Карты Bing для очень быстрого расчета кратчайших маршрутов.

Основная идея состоит в том, чтобы предварительно вычислить для каждой вершины прямые метки L_f(v) и обратные метки L_b(v), которые создают свойство покрытия. Каждая метка представляет собой пару вершины и расстояния до нее, например. L_f(v) = { (u, dist(v, u)) } и L_r(v) = { (u, dist(u, v)) }. А свойство покрытия утверждает, что для любых вершин s и t L_f(s) 'Union' L_r(t) содержит по крайней мере одну вершину на кратчайшем пути из s в t.

Существует ли реализация одного из этих алгоритмов с открытым исходным кодом (C++, C#, F#, D, Go, Java)?


person Alfa07    schedule 29.10.2012    source источник


Ответы (1)


Я не нашел кода, реализующего эти алгоритмы, но вы можете посмотреть на домашнюю страницу Карлсруэ, где вы можете найти код для иерархий сжатия, которые составляют основу (исходной) маркировки концентратора. Вы можете использовать это для создания собственной реализации HL, но вы должны знать, что они подали патент. для этого.

person Origin    schedule 30.10.2012
comment
Спасибо за указание на патент! Я реализовал альтернативную реализацию иерархий сжатия с нуля для GraphHopper, чтобы избежать строгого лицензирования AGPL OSRM, и теперь это :/ ... но я спрошу автора OSRM, так как он также не находится в списке патентообладателей. .. - person Karussell; 30.10.2012
comment
Ах хорошо. моя вина. патент не касается иерархий сжатия, но все же странно. - person Karussell; 30.10.2012
comment
теперь буду следить за этим. еще раз спасибо! google.com/#tbm=pts&q=contraction+hierarchies - person Karussell; 30.10.2012