目次

Hub-Labeling

経路探索に速さを求めて行き着いた先

潤沢なメモリが利用できるなら、どんなノード間でも数nsで最短距離を算出可能

概要

事前計算とクエリに分かれる。「Hubノード」という概念を利用する。

(s) s が持つHubノードID  15  23  25  41  ...
    Hubノードまでの距離  10  11   9   6  ...

(t) t が持つHubノードID  11  23  26  41  ...
    Hubノードまでの距離   8  19  11  19  ...
                             ~~      ~~  共通ノードは23,41
                             ↓      ↓  距離を合算
    最短距離は25             30      25

要求スペック

(Hub Labeling Algorithmsより引用)

西ヨーロッパのネットワーク、1800万ノード・2400万リンクで、

多少重いが、今どき用意できないスペックなんてことは全然無い