大規模ネットワークの性質と先端グラフアルゴリズム

31
大規模ネットワークの性質と 先端グラフアルゴリズム 秋葉 拓哉 / @iwiwi 2012/12/06 PFI セミナー

Upload: takuya-akiba

Post on 19-Dec-2014

12.920 views

Category:

Technology


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 大規模ネットワークの性質と先端グラフアルゴリズム

大規模ネットワークの性質と 先端グラフアルゴリズム

秋葉 拓哉 / @iwiwi

2012/12/06 PFI セミナー

Page 2: 大規模ネットワークの性質と先端グラフアルゴリズム

自己紹介

秋葉 拓哉 / @iwiwi

• 所属:東大 CS M2 (今井研) → DC1 (来年)

• PFI:インターン (2009) → バイト (夜研等)

• 元プログラミングコンテスト中毒者

– TopCoder レーティング:3180 (世界で 12 位)

• 研究:大規模グラフのアルゴリズム

– 最短経路クエリ,コミュニティ検出,……

1

Page 3: 大規模ネットワークの性質と先端グラフアルゴリズム

現実世界のグラフを対象とした研究

2

複雑ネットワーク理論 (物理系)

理論系アルゴリズム (STOC, FOCS, SODA, …)

実験系アルゴリズム (ALENEX, ESA, SEA, …)

データベース系 (SIGMOD, VLDB, ICDE, …)

データマイニング系 (KDD, SDM, ICDM, …)

ウェブ系 (WWW, WSDM, …)

ハイパフォーマンス系 (SC, ISC, …)

・並列分散グラフアルゴリズム

・Graph 500!

・最近は中心性等も [Frasca+,SC’12]

ネットワーク系 (INFOCOM, SIGCOMM, …)

・コミュニティ検出

・リンク予測

・グラフクエリ処理

・モデル化

・コミュニティ検出

・接続性

・最適化

生物情報系

グラフ描画系 (GD, …)

Page 4: 大規模ネットワークの性質と先端グラフアルゴリズム

今日の内容

3

1. 現実世界のネットワークの性質

2. それを活用したグラフアルゴリズム

理論系 • 近接中心性 • ルーティング • 支配集合問題

実験系 • 最短路 • 密部分グラフ • 可視化

次数分布,平均距離,三角形,…

Page 5: 大規模ネットワークの性質と先端グラフアルゴリズム

現実世界のネットワークにおける 特徴量と性質

4

Page 6: 大規模ネットワークの性質と先端グラフアルゴリズム

対象となるネットワーク

紹介するような性質を持っていることが多い

現実世界のネットワーク:

• ソーシャルネットワーク

• ウェブグラフ

• コンピュータネットワーク

• 生物情報学のネットワーク

• ……

※それらのネットワークが常にこうだと言っているわけではないです

※張り付けている実験結果は,自分がよく対象にするネットワーク達に偏っているかもしれません(ソーシャル・ウェブ)

5

Page 7: 大規模ネットワークの性質と先端グラフアルゴリズム

対象となるネットワーク

6

こういうやつ こうじゃないやつ

共著ネットワーク [http://www.cise.ufl.edu/research/sparse/matrices/SNAP/ca-GrQc.html]

道路ネットワーク(アメリカ)

Page 8: 大規模ネットワークの性質と先端グラフアルゴリズム

1. 次数分布 (Power Law, Scale Free)

次数分布:冪乗則 (Power Law) に従う

𝑝(𝑘) ∝ 𝑘−𝛾

• 𝑘:次数

• 𝑝(𝑘):次数が 𝑘 の頂点の割合

• 𝛾:定数 (べき指数)

– 典型的には 2 < 𝛾 < 3

両対数でプロットすると

直線っぽくなる (累積でプロットしたほうが良い)

7

[Mislove+’09,Fig.2]

Page 9: 大規模ネットワークの性質と先端グラフアルゴリズム

1. 次数分布 (Power Law, Scale Free)

冪乗則

• 人の収入とかも冪乗則らしい

• 正規分布とかと違い,ちょー大きな値が存在する – 一部の人がすごくお金持ち,大半の人は平均以下

– ネットワークでも,凄く次数が高い頂点がちらほらある

次数が冪乗則に従っているか?

1. 雑:両対数でそれっぽくなっているか

2. 真面目:統計モデルで 𝛾 を推定,検定 低い次数の部分では従わないことが多い

アルゴリズム的には,凄い次数が大きい頂点がちょっとある,とかそういうぐらいの事実が重要な気がする

8

Page 10: 大規模ネットワークの性質と先端グラフアルゴリズム

1. 次数分布 (Power Law, Scale Free)

ウェブグラフの累積次数分布

う,うーん……

9

Page 11: 大規模ネットワークの性質と先端グラフアルゴリズム

2. 距離 (Small World)

平均距離:短い

• 距離:二頂点の間の最短路の長さ

• 平均:全二頂点対 短いとは:𝑂 log𝑛 である,ランダムに繋ぎ変えても有意に小さくならない等

距離の分布の例

10

t s

[Potamias+,CIKM’09,Fig.2]

Page 12: 大規模ネットワークの性質と先端グラフアルゴリズム

2. 距離 (Small World)

実際の人間を通した実験

• 1960 年代,ミルグラム 「平均距離 6 だー!!!」

– 手紙を転送して貰って目的の人物に届ける

– 現代では,破棄の考慮や始点に疑問の声

• 2002 年,ワッツ 「似たような感じだったー!!!」 – 電子メール

– 始点の数や位置,破棄を今度は考慮しているらしい

コンピュータによるネットワークの解析

• カジュアルに計算されてる(やっぱ小さい)

• 2011 年,Backstrom (Facebook社) 「4.74 だー!!!」

– Facebook のネットワーク (721 M users / 69 B links)

– [Backstorm+’11] http://arxiv.org/pdf/1111.4570v3.pdf

11

Page 13: 大規模ネットワークの性質と先端グラフアルゴリズム

3. クラスター係数 (Small World)

クラスター係数:大きい

クラスター係数 𝐶 =三角形の個数

三頂点の組の個数

大きいとは:同じスケールのランダムに作るグラフより有意に大きい

• 友達と友達は友達

• 局所性のようなものがある

スモールワールド性:

小さい平均距離と大きいクラスター係数

(距離だけで言うこともある)

12

↑やべぇ

Page 14: 大規模ネットワークの性質と先端グラフアルゴリズム

他にもいっぱい特徴量 & 性質

• 次数相関,結合次数分布 (JDD)

• 中心性:次数,近接,媒介,固有ベクトル,…

• モチーフ

• コミュニティ構造

• 極大クリーク分布

• サイクル分布

• 固有値

• ……

13

Page 15: 大規模ネットワークの性質と先端グラフアルゴリズム

4. 木っぽさ

遠目に見るとなんか木っぽい,という主張がしばしば行われている

1. Shavitt, Tankel. Hyperbolic embedding of internet graph for distance estimation and overlay construction. IEEE/ACM Trans. Netw. 16, 1 (2008).

2. Melnik, Hackett, Porter, Mucha, Gleeson. The Unreasonable Effectiveness of Tree-Based Theory for Networks with Clustering. Physical Review E, Vol. 83, No. 3 (2010).

3. Gupta, Shankar, Li, Muthukrishnan, Iftode. Finding Hierarchy in Directed Online Social Networks. WWW (2011).

「インターネットは,超繋がった core + 周りの tendril だ.パスは基本的に,tendril→core→tendril だ.」

(1 つめの文献から引用&和訳)

14

Page 17: 大規模ネットワークの性質と先端グラフアルゴリズム

4. 木っぽさ

関係する実験

( Core-Fringe 構造と呼ばれたりもしている)

16

次数上位 数% の頂点 (Core) を 削除 →連結成分はばらばらに (ハブの存在的な話とも関係)

次数の低い部分 (Fringe) では クラスター性が非常に高い

[Mislove+,IMC’07,Fig.9]

[Mislove+,IMC’07,Fig.7]

Page 18: 大規模ネットワークの性質と先端グラフアルゴリズム

4. 木っぽさ

木っぽさを測るのは進行中の課題? [Sullivan+,MMDS’12]

• 𝛿-hyperbolicity [Gromov,’87]

– 幾何的な指標

– 双極空間に(距離の意味で)埋め込めたらツリー,を拡張

– 𝑂 𝑛4 かかってしまう → サンプリング等

• Tree-width (木幅) [Robertson,’84]

– 組合せ的な指標

– 厳密計算は NP-Hard

– Core 部分はあまり木っぽくはない,元の定義のままでは,この部分に完全に引きずられてしまい意味を成さない

17

[Sullivan+,MMDS’12,P.8]

Page 19: 大規模ネットワークの性質と先端グラフアルゴリズム

ネットワークの性質を活用した グラフアルゴリズム

18

Page 20: 大規模ネットワークの性質と先端グラフアルゴリズム

話すこと

1. 理論方面

i. 近接中心性の近似

ii. コンパクトルーティング

iii. 支配集合問題の近似

2. 実用方面

i. 密部分グラフ列挙

ii. グラフ可視化

iii. 最短経路クエリ

Page 21: 大規模ネットワークの性質と先端グラフアルゴリズム

1. 近接中心性の近似 (Small World)

近接中心性 𝑐𝑢 =𝑁

𝑑𝐺 𝑢,𝑣𝑣

(全頂点からの距離の平均の逆数)

• 真面目に求めると,全頂点から BFS

• 𝑂 𝑛𝑚 は無理

• 頂点集合をランダムサンプル → BFS

Small World なら嬉しい [Eppstein+,SODA’01]

• Θlog 𝑛

𝜖2 個の頂点を選ぶと

• 1 − 𝑜(1) の確率で逆数での誤差が 𝜖Δ 未満 (Δ は直径)

20

Page 22: 大規模ネットワークの性質と先端グラフアルゴリズム

2. コンパクトルーティング

コンパクトルーティング

• 各頂点に情報を蓄えておく

• ある頂点に居て,ある頂点に行きたい.次どこに進めば? をその頂点にある情報だけで計算する

• 移動距離は最短距離に近いほど望ましい

コンピュータネットワークにおけるパケットの輸送みたいな感じの問題

(ネットワークが静的でいいのかとかそういうツッコミはある)

21

Page 23: 大規模ネットワークの性質と先端グラフアルゴリズム

2. コンパクトルーティング

A Compact Routing Scheme and Approximate Distance Oracle for Power-law Graphs [Chen+, TALG’09]

• 現実のネットワークでは一般的な理論的結果よりも良い結果が出ている

• Power Law を入れて解析したら,良い結果が出た

• 理論と実世界のギャップを埋めた!(という主張)

• 実際には FDRG というモデルを仮定し解析 (クラスター性などはおそらく一切ない)

• 解析が長く,どう効いてるのかはすぐにはわからぬ

22

Page 24: 大規模ネットワークの性質と先端グラフアルゴリズム

3. 支配集合問題の近似

Structural and Algorithmic Aspects of Massive Social Networks [Eubank+,SODA’04]

• CL-model というモデルに言及

• このモデルの上で, 1 − 𝜖 -支配集合問題 (=NP-Hard) が貪欲アルゴリズムで 1 + 𝑜(1) 近似できると主張

• 次数の高いものをとるだけ

ちなみに,Power law の任意のグラフという制限下では色々な問題がNP-Hard のままで,近似可能性もあまり向上しない

[Shen+,COCOA’12]

23

Page 25: 大規模ネットワークの性質と先端グラフアルゴリズム

4. 密部分グラフ列挙

密に接続しあっている頂点集合を知りたい

• 𝑫𝑵-graph [Wang+,VLDB’11]

• 𝒌-truss [Cohen,’08][Wang+,VLDB’12]

古典的な密頂点集合のモデルは,次数・距離 (𝑘-core, quasi-clique, 𝑘-plex, 𝑛-clique, …)

→ あんまり接続してなくても 1 つにされちゃう

防止するため,三角形で制約を行う新しいモデル

24

次数≧5,距離≦3 だ…手強い…

→ こういうのを分断できる

Page 26: 大規模ネットワークの性質と先端グラフアルゴリズム

4. 密部分グラフ列挙

𝒌-core [Seidman,’83]

各頂点の次数 𝑘 以上になるような部分グラフ

𝒌-truss [Cohen,’08][Wang+,VLDB’12]

各辺が 𝑘 − 2 個の三角形に含まれるような部分グラフ (それぞれ,部分グラフ内での次数・個数,ということに注意)

25

𝒌-core

全頂点次数≧5 より,全体で 5-core.

𝒌-truss

真ん中の辺は三角形 0 個より,分断.

両側は 6-truss.

𝑘-truss は 𝑂 𝑚1.5 ですべての 𝑘 に関して列挙できる (三角形列挙の計算量と一致)

Page 27: 大規模ネットワークの性質と先端グラフアルゴリズム

5. 可視化

LGL: Large Graph Layout [Adai+’04] http://lgl.sourceforge.net/

数十万頂点のタンパク質ネットワークを可視化する目的

最もスケールする公開ソフトウェアの 1 つ (sfdpのほうが凄い?)

26

“インターネット地図” [www.opte.org] [Adai+’04, Fig.4]

Page 28: 大規模ネットワークの性質と先端グラフアルゴリズム

5. 可視化

27

1. 基本はバネモデル

ただし,スケールさせるため,

2. 最小全域木を作り,中央から配置

(木っぽさを活用している?)

[Adai+’04, Fig.1]

辺が無いところは

斥力(クーロン力) (LGL は斥力はバケット法で適当に処理)

辺があるところは

引力(バネ;フックの法則)

バネモデルは古典的ながら実は未だに最前線っぽい

(計算の効率化などの工夫は行われている)

Page 29: 大規模ネットワークの性質と先端グラフアルゴリズム

6. 最短経路クエリ:厳密

木分解に基づく最短路クエリ [Wei,SIGMOD’10][Akiba+,EDBT’12]

• ヒューリスティクスで木分解 – Fringe (Tendril) 部分がうまく分解される

– Core 部分は諦める (Relaxed Tree-Decomposition)

• 最短路行列を各バッグに対して前計算

• クエリには LCA まで DP して答える

tree-like fringes を活用している

28

Page 30: 大規模ネットワークの性質と先端グラフアルゴリズム

6. 最短経路クエリ:近似

ランドマークを用いた推定 [Potamias+,CIKM’09]等

• 頂点集合 𝐿:ランドマーク

• 𝑑𝐺 𝑙, 𝑣 (𝑙 ∈ 𝐿, 𝑣 ∈ 𝑉)を前計算

• クエリ 𝑠, 𝑡 には,以下を答える

– min𝑙∈𝐿

𝑑𝐺 𝑠, 𝑙 + 𝑑𝐺(𝑙, 𝑡)

– すなわち,ランドマークを経由した距離の最小値

ランドマークに,中心的な頂点を選ぶようにすると,

平均誤差は驚くほど小さくなる

tendril→core→tendril なので,かなりそれらを通るから

29

s t

Page 31: 大規模ネットワークの性質と先端グラフアルゴリズム

まとめ(話したこと)

• ネットワークの性質

–次数分布,平均距離,クラスター係数

–木っぽさ

• それを活用したアルゴリズム

–理論系:中心性,ルーティング,支配集合

–実装系:密部分グラフ,可視化,最短路

ありがとうございました

(・__________・)/またね

30