Upload
eurydice-charis
View
30
Download
0
Embed Size (px)
DESCRIPTION
C11: 大量データ処理のための領域効率の良いアルゴリズム. 定兼 邦彦 小野 廣隆 山下 雅史 ( 九大 ) 2007 年 5 月 15 日. 研究の目的. 大量データを効率的に処理するための アルゴリズムとデータ構造の開発 アプローチ データおよびデータ構造の圧縮 局所情報のみを用いた探索 確率アルゴリズム. これまでの成果. グラフ探索アルゴリズム ( 論文 4) ランダムウォーク Right-Hand-on-the-Wall walk Forest search 無線ネットワークでのオンライン broadcast - PowerPoint PPT Presentation
Citation preview
C11: 大量データ処理のための領域効率の良いアルゴリズム
定兼 邦彦 小野 廣隆 山下 雅史 ( 九大 )
2007 年 5 月 15 日
2
研究の目的• 大量データを効率的に処理するための
アルゴリズムとデータ構造の開発• アプローチ
– データおよびデータ構造の圧縮– 局所情報のみを用いた探索– 確率アルゴリズム
3
これまでの成果• グラフ探索アルゴリズム ( 論文 4)
– ランダムウォーク– Right-Hand-on-the-Wall walk
– Forest search
– 無線ネットワークでのオンライン broadcast
• 簡潔データ構造 ( 論文 11)– 透過的データ圧縮法– 順序木の超簡潔データ構造– 圧縮接尾辞配列・接尾辞木– 実用的 rank/select データ構造
• 分散アルゴリズムでの故障検知器• センサーネットワークでの省電力データ収集
4
問題
• 入力 : n ノード連結グラフ G
• 出力 : G の枝ラベル1. 各枝は 2 つのラベルを持つ ( 両端に 1 つずつ )
2. 各ノード v の周りのラベルは [1,deg(v)] の異なる整数
3. “Right-Hand-on-the-Wall” walk が存在
1
2 31
32 12
3
1
23
5
Right-Hand-on-the-Wall Walk
• エージェントがあるノードの 1 ラベル枝から出発
• 点 v に枝 i から着いたら,枝 i+1 から出る ( 無記憶 )
• エージェントは全点を訪れる 2 31
32 11 2
3
1
23
6
結果• どんなグラフにも Right-Hand-on-the-Wall
Walk が存在• walk の長さは高々 10n
• 参考– グラフに木を定義してその上を探索するなら
walk の長さは 4n だが,エージェントは 3 つの状態が必要
7
Forest Search
• 仮定– グラフ全体は記憶できない– ノードを訪れるとそのノードの隣接点がわかる– グラフには情報を書けない– ノードは異なる ID を持っている
• 解きたい問題– 点 u を出発し v に着くまでの step 数を減らす– 全点を訪れるまでの step 数を減らす– 全点を少ないメモリで重複無く列挙– P2P に有効 (?)
8
Forest Search
• 逆探索の拡張– グラフに森を定義する– 1 つの木の中は逆探索– それぞれの木を 1 点に縮約したグラフで DFS– 必要メモリは木の数に比例– ステップ数 O(|V|+|E| ・ h) ( h: 木の中で最大の深さ)
• スケールフリーネットワークの探索に適している
9
スケールフリーネットワーク• 次数の分布がベキ則に従う : P(d) ~ d –γ
• 生成モデルのひとつ: BA モデル [Barabasi and Albert 99 ] – Growth: 単位ステップあたり1点とそこから出る辺を m 本追加– Preferential attachment:
追加する辺の一端は既存の頂点へ その次数に比例した確率で決定する
次数 d
傾き: - γ頂点数
10
仮想的な森
ネットワークの構造の部分グラフ( spanning
forest )が仮想的な森になる
forest search は仮想的な木の構造に従って,ネットワークを探索する
11
仮想的な木を作る• 親の選び方 : 単純ルール
– Nk(u) : 頂点 u からの距離が高々 k(>=0) である頂点の集合– N 1 (u) から最も次数の高い頂点を頂点 u の親 π(u) に選ぶ– 2つ以上あればその中で最も ID の小さい頂点
局所情報だけで 任意の頂点の親と子を一意に
決められるため,木構造を記憶しておく必要がない
各頂点 u にはちょうどひとつの親 π(u) が存在し,
deg(π(u)) > deg(u) or ID(π(u)) < ID(u) (π(u)≠u)
deg(π(u)) = deg(u) (π(u) =u)
12
仮想的な木を作る (追加ルール)• 親の選び方 : 追加ルール
– 目的:仮想木を統合して木の数を減らしたい– 単純ルールで仮想木の根になる頂点 u に対して, π(u)
を選び直す– N 2 (u) で最も次数の高い頂点を π(u) に選ぶ ( 2つ以上
あればその中で ID が最小の頂点 )
単純ルール 追加ルール
u uπ(u)
π(u)
13
追加ルールによって作られるグラフの性質
• 定理:追加ルールによって定義されるグラフ F は次の性質を満たす1.単純ルールにおける木の根 u が異なる木に属する頂
点と隣接していたなら,追加ルールにおいて u は木の根ではない
2. F には長さ2以上のサイクルは存在しないu
π(u)
14
計算機実験• 探索手法
– forest search– β-random walk ( 比較対象 )
• ネットワーク– 頂点数 n , 辺数 2n– ネットワーク生成モデル
• ER モデル : ランダムグラフ [ Erdos and Renyi ]
• WS モデル : スモールワールドネットワーク [ Watts and Strogatz ]
• BA モデル : スケールフリーネットワーク– 全 n(n-1)/2 個の起点・目標頂点対に対して探索を実行し平均を
取る– それぞれ 20 個のネットワークに対する平均を取る
15
実験結果 : ステップ数 ( n = 500 )
• random walk に対する性能向上の割合– 最も高いモデル : BA – 最も低いモデル : WS
探索手法 ER WS BA
平均
forest search 627 962 516
β-random walk 902 1380 1031
最大
forest search 4025 5121 2259
β-random walk 4886 3947 3173※β-random walk は β=0.5 の結果
16
実験結果 : 仮想的な森に関する量(単純ルール)
• BA モデル : 最大の木のサイズが大きく,木の数は少ない• WS モデル : 最大の木のサイズが小さく,木の数は多い
木の数 最大の木のサイズ
ER
WS
ER
WS
BA
BA
17
実験結果 : 仮想的な森に関する量(追加ルール)
• BA モデル :木の数は劇的に減少90 %以上の頂点が最大の木に含まれる
木の数 最大の木のサイズ
18
実験結果 : cover time• ネットワークの全頂点を訪れるときのステップ
数
・ BA モデル・ n=~500
β-random walk
記憶有り β-random walk
forest search (単純ルール)
forest search ( 追加ルール )
20
簡潔データ構造 (Succinct Data Structures)
• 簡潔データ構造=データの簡潔表現+簡潔索引• 簡潔データ構造の例
– 木,グラフ– 文字列– 順列,関数
21
簡潔表現• サイズが情報理論的下限に (ほぼ )一致する表現• 入力が L 通りのとき,情報理論的下限は log L
bits• 例 1: 集合 S {1,2,...,n} のサイズの下限
– log 2n = n bits
• 例 2: n 頂点の順序木
• 例 3: n 文字の文字列– n log bits (: アルファベットサイズ )
bits log21
12
12
1log nn
n
n
n
22
簡潔索引
• 決められた操作を実現するためのデータ構造• サイズ : o(log L) bits
• 従来の表現と ( ほぼ ) 同じ操作時間• 計算モデル : word RAM
– ポインタサイズ w bits (2w 個のメモリセル )– w ビットの四則演算が定数時間– 連続する w ビットのメモリの読み書きが定数時
間– 前述の例では w = log n = log log L
23
簡潔データ構造の例文字列 S
(n 文字 )
順序集合S {1,2,...,n}
順序木(n ノー
ド )
情報理論的下限 n log n 2no(n)
簡潔データ構造 (n+o(n)) log [GV00]
n+o(n)[J89][M96]
2n+o(n)[MR97]超簡潔データ
構造nHk(S)+o(n log )
[GGV03]
nH0(S)+o(n)
[RRR02]
nH*+o(n)
[ 本研究 ]
超簡潔 (ultra-succinct) データ構造• サイズがデータのある種のエントロピーと一致• 問い合わせ計算量が変わらない
24
新しい順序木の表現• BP と DFUDS での基本演算は全て定数時間• サイズは木のある種のエントロピーに圧縮
– 最悪 2n+o(n) ビット
定義 : 木次数エントロピー– ni: 次数 i のノード数
例 : 全 2 分木 ( 全内部ノードが丁度 2 つの子を持つ )– BP, DFUDS: 2n ビット– 本研究 : n ビット
i i
i
n
n
n
nTH log*
25
サイズの下限
• 次数 i のノード数が ni である順序木の数は
• より,このエントロピーは木の次数を固定した場合の情報理論的下限と一致
110
1
nnnn
n
nL
TnHL *log
[Rote 96]
26
透過的データ圧縮法
• 任意箇所を瞬時に復元 (log n ビットを定数時間 )– word RAM モデルでは最適 ⇒データは圧縮されていないとみなせる
• 圧縮率は従来通り bits
log
logloglog)1(O
n
nknnH k
( 全ての k 0 に対して同時に成立 )
27
今年度の予定• Forest Search と USTCONN アルゴリズムの
関係– V. Trifonov. An O(log n log log n) space algorithm f
or undirected st-connectivity, STOC 05.
• 簡潔データ構造の応用– 頻出アイテム集合– (Web) グラフの符号化