Fast Shortest Path Distance Estimation in Large Networks

Download Report

Transcript Fast Shortest Path Distance Estimation in Large Networks

2011/10/24
Web 工学
Fast Shortest Path Distance
Estimation in Large Networks
Michalis Potamias, Francesco Bonchi,
Carlos Castillo, and Aristides Gionis
発表: 秋葉 拓哉
(コンピュータ科学専攻 M1)
どんな論文?
• 最短路クエリのアルゴリズムと実験
• チーム:
– 主著者はボストン大学
– 他 3 名は Yahoo! Research (Barcelona, Spain)
– 主著者がインターンした際の成果
• CIKM 2009 の Student Best Paper
– ちなみに同会議の Best Paper も Yahoo! Research
– 現在 CIKM 2011 開催中 (Glasgow)
話の流れ
1. 最短路クエリ問題とは?
2. ランドマークを用いた最短距離の推定
3. ランドマーク選択の手法の検討
4. 実験結果
最短路クエリ問題とは?
Social Search
Social Search
Context-Aware Search
「木」
を検索
Context-Aware Search
「木」
を検索
これらの応用における
グラフ・最短距離
• Social Search
– Social Network: 人を頂点,枝を友人関係
• Context-Aware Search
– Web Graph: ページを頂点,枝をリンク
これらのグラフ上での最短距離を
結果のランキングの指標に使う
最短経路問題のその他の需要
経路設計
道・乗り換え案内
コンピュータ
ネットワーク
[BLM+06,
PS06]
情報検索・
データベース
[HWYY07, TWRC09]
データ
マイニング
[WF94, Sco06]
生物情報学
[RAS+05, RS06]
その他...
XML, オントロジー, ...
基礎的な問題 → 需要も幅広い
10
最短距離を知りたいけど…
• 幅優先探索:𝑂(𝑚) (𝑚 : 辺の本数)
• 世の中のグラフはとても大きい
Twitter のユーザ数
2 × 108 人
Facebook のユーザ数
5 × 108 人
Google の持つページ数
109 ページ
(多分ちょっと古いデータ)
• 毎回幅優先探索するのは遅すぎる
最短経路クエリ処理
1. 前処理
前計算
データ
2. クエリ処理
「本郷から駒場」
「30 分です」
「中野から秋葉原」
「20 分です」
「札幌から那覇」
「7 時間です」
最短経路クエリ処理
1. 前処理
前計算
データ
2. クエリ処理
活用
「本郷から駒場」
「30 分です」
「中野から秋葉原」
「20 分です」
「札幌から那覇」
「7 時間です」
ランドマークを用いた
最短距離の推定
三角不等式
• 𝑑𝐺 𝑠, 𝑡 ≔ グラフ 𝐺 上での 𝑠, 𝑡 の最短距離
• 𝑑𝐺 𝑠, 𝑡 ≤ 𝑑𝐺 (𝑠, 𝑢) + 𝑑𝐺 (𝑢, 𝑡)
• 𝑑𝐺 𝑠, 𝑡 ≥ 𝑑𝐺 𝑠, 𝑢 − 𝑑𝐺 (𝑢, 𝑡)
(𝑢 は任意の頂点)
★
上界による最短距離推定
(単一ランドマーク)
• 𝑑𝐺 𝑠, 𝑡 ≤ 𝑑𝐺 (𝑠, 𝑢) + 𝑑𝐺 (𝑢, 𝑡)
これをそのまま使う
★
u
s
1. 前処理
– 頂点 𝑙 を1つ選ぶ(ランドマーク)
– 𝑑𝐺 (∗, 𝑙), 𝑑𝐺 𝑙,∗ を全頂点に対し前計算しておく
(幅優先探索)
2. クエリ処理
𝑑𝐺 𝑠, 𝑡 = 𝑑𝐺 𝑠, 𝑙 + 𝑑𝐺 (𝑙, 𝑡)
t
上界による最短距離推定
(複数ランドマーク)
ランドマークを単一 (𝑙 ) から複数 (𝐷) にしよう
• 𝑑𝐺 𝑠, 𝑡 ≤ 𝑑𝐺 (𝑠, 𝑢) + 𝑑𝐺 (𝑢, 𝑡) ★
複数頂点に使う
s
t
1. 前処理
– 一定数の頂点集合 𝐷を決める(ランドマーク)
– 各 𝑢 ∈ 𝐷に対し 𝑑𝐺 (∗, 𝑢), 𝑑𝐺 𝑢,∗ を全長点に対し前計算 (BFS)
2. クエリ処理
𝑑𝐺 𝑠, 𝑡 = min{ 𝑑𝐺 𝑠, 𝑢 + 𝑑𝐺 (𝑢, 𝑡)}
𝑢∈𝐷
ランドマーク選択の手法
ランドマークの選択
• 𝑘個のランドマークを選びましょう
– 𝑘 は 20 とか 100 とか 300 とか
• ベースライン: ランダムな選択
– [Tang+, SIGCOMM’03], [Kleinberg+, FOCS’04], [Vieira+, CIKM’07]
• 本論文の Key Insight:
– ランダムより良いヒューリスティクスがある
のでは?
アイディア
グラフ
良い例
グラフ
嫌な例
• 多くの最短路が通る点がよさそう
• グラフの中央っぽい点がよさそう
Basic Strategies
• Degree Strategy
– 次数の高いものから選ぶ
• Centrality Strategy
– Closeness Centrality の小さいものから選ぶ
頂点𝑢の Closeness Centrality とは?
1
𝑑𝐺 (𝑢, 𝑣)
𝑛
𝑣
つまり,全長点への距離の平均.
小さいものほど ``中央’’ に近いと考える.
実際には,ランダムサンプルにより近似して計算.
Constrained Strategies
• アイディア
– 近いところに一杯あっても無駄
• Degree/ℎ Strategy
– 既に選んだ頂点から距離ℎ以下は選択禁止
• Centrality/ℎ Strategy
Partitioning-Based Strategies
• アイディア
– 色々なところに散らばっているとよさそう
• Graph Partitioning を使おう
Graph Partitioning とは?
1. グラフ 𝐺 を 𝑘 個の近いサイズの成分に分解
2. 違う成分間の辺数を最小化
NP-困難であり,ヒューリスティクスがよく研究されている
(10th DIMACS Implementation Challenge 開催中)
Partitioning-Based Strategies
• Degree/P
– 各分割で次数最高の点
• Centrality/P
– 各分割で Closeness Centrality 最高の点
• Border/P
– 各分割で以下を最大化する点 (≒縁に近い点)
評価実験
データセット
Table 1
近似精度 (相対誤差)
Table 2
近似精度 (相対誤差)
Figure 3
厳密手法とのクエリ時間の比較
Table 5
Social Search での精度
Figure 5
まとめ
• 話したこと
–
–
–
–
最短経路クエリ問題とは
ランドマークを用いた最短経路の推定
ランドマークを選択の戦略
実験結果
• 話さなかったこと
– ランドマーク選択の NP-困難性
– 下界による推定,上界と下界を同時に用いた推定
(うまくいかない)
Related Work
(本論文の後の文献を含む)
•
交通ネットワークでの最短路クエリ
– より構造が活用しやすいため多くの手法あり
– ALT (A* + landmarks), Reach, Hierarchical, …
•
厳密最短路クエリ
–
–
–
–
•
ALT
2-HOP [Cohen+, SODA’02] [Cheng+, EDBT’09]
対称性 [Xiao+, EDBT’09]
木分解 [Wei, SIGMOD’10]
近似最短路クエリ
– NSI [Rattigan+, SIGKDD’06]
– Landmark [Potamias+, CIKM’09 (本論文)]
– Distance-Sketch [Das Sarma+, WSDM’10]
– Path-Sketch [Gubichev+, CIKM’10]
•
到達可能性クエリ