自己ループ確率の除去による メトロポリスウォークの高速化 西関研究室 9524 近藤啓介 2015/9/30 1 はじめに インターネット,センサネットワークが発展 • 記憶しきれない程大規模 • 動的に変化する 全体を記憶しきれない “ランダム”な探索 2015/9/30 2 ランダムウォーク v Vから出発する. 2. v の隣接頂点v N v をランダムに選択し , v に推移する. 3. v に対しても 2.と同様の操作を行い, 以下同様に繰り返す. 1. ある頂点 0 0 1 0 1 1 探索時間は速いほうが良い 0.2 0.3 1 0.3 0.5 0.7 0.5 3 0.4 0.6 2015/9/30 2 0.5 G 4 0 0.3 0 0.7 0.2 0 0.3 0.5 P 0 0.4 0.6 0 0.5 0.5 0 0 3 ランダムウォークの速さ 到達時間(hitting time) 𝐻G 𝑃; 𝑢, 𝑣 : 頂点𝑢から始まるランダムウォークが初めて 頂点𝑣に到達するまでに必要な遷移数の期待値 𝐻𝐺 𝑃 = max 𝐻𝐺 (𝑃; 𝑢, 𝑣) 𝑢,𝑣∈𝑉 全訪問時間(cover time) 𝐶𝐺 (𝑃; 𝑢): 頂点𝑢から始まるランダムウォークが𝐺のすべての頂点 を訪れるために必要な遷移数の期待値 𝐶𝐺 𝑃 = max 𝐶𝐺 (𝑃; 𝑢) 𝑢∈𝑉 2015/9/30 4 単純ランダムウォーク 1/3 ½ 1 2 1/3 ½ 1/3 ½ 3 1 ½ 4 0 1/ 2 0 1/ 2 1 / 3 0 1 / 3 1 / 3 P 0 1 0 0 1 / 2 1 / 2 0 0 G 𝐻𝐺 𝑃 = 𝑂 𝑛3 , 𝐶𝐺 𝑃 = 𝑂(𝑛3 ) ※nは頂点数 2015/9/30 Lollipopグラフ 5 定常分布 遷移行列𝑃に対して 𝜋𝑃 = 𝜋 を満たす頂点上の確率分布 𝜋 = (𝜋1 , 𝜋2 , … , 𝜋𝑛 )を𝑃の 定常分布という 2015/9/30 6 メトロポリスウォーク • Metropolis-Hastings法に基づく -Markov Chain Monte Carlo(MCMC)の手法 -𝜋(定常分布)を任意に設定可能 -隣接頂点の情報を利用 1 𝑑𝑢 𝜋 𝑣 min ,1 𝑑𝑢 𝑑𝑣 𝜋 𝑢 𝑝𝑢𝑣 = 1− 𝑝𝑢𝑤 if 𝑣 ∈ 𝑁 𝑢 , 𝑑𝑢 : 𝑢の次数 𝑁 𝑢 : 𝑢の隣接頂点の集合 if 𝑣 = 𝑢, 𝑤∈𝑁(𝑢) 0 2015/9/30 otherwise. [W.K Hastings, 1970] 7 メトロポリスウォークの速さ 2 到達時間 : 𝑂 𝑓𝑛 2 全訪問時間 : 𝑂 𝑓𝑛 log 𝑛 ただし, 𝑓 = max 𝜋𝑢 / 𝜋𝑣 𝑢,𝑣∈𝑉 Glitter star グラフ [Y.Nonaka, 2009] ※nは頂点数 • 単純ランダムウォークは 𝐻𝐺 𝑃 = 𝑂(𝑛3 ), 𝐶𝐺 𝑃 = 𝑂(𝑛3 ) 2015/9/30 8 メトロポリスウォークの改善点 1 𝑑𝑢 𝜋 𝑣 min ,1 𝑑𝑢 𝑑𝑣 𝜋 𝑢 𝑝𝑢𝑣 = 1− 𝑝𝑢𝑤 if 𝑣 ∈ 𝑁 𝑢 , if 𝑣 = 𝑢, 𝑤∈𝑁(𝑢) 0 otherwise. • 同じ点にとどまることもあり,それが自己ループで 表される • 高速なランダムウォークの実現という意味では自 己ループは不要 2015/9/30 9 新しい遷移確率の提案 メトロポリスウォークの遷移確率の定義式 min 𝑝𝑢𝑣 = 1 1 , 𝑑𝑣 𝑑𝑢 1− 𝑝𝑢𝑤 すべての頂点の定常分布を 1 とする 𝑛 if 𝑣 ∈ 𝑁 𝑢 , if 𝑢 = 𝑣, 𝑤∈𝑁(𝑢) 0 otherwise. 新しい遷移確率の定義式 𝑝′𝑢𝑣 2015/9/30 𝑝𝑢𝑣 = 1 − 𝑝𝑢𝑢 0 if 𝑣 ∊ 𝑁 𝑢 , otherwise. 10 新しい遷移確率 𝑝′𝑢𝑣 = 1 1 min , 𝑑 𝑣 𝑑𝑢 1 1 𝑤∈𝑁(𝑢) min 𝑑 , 𝑑 𝑤 𝑢 0 𝑣∊𝑁 𝑢 , otherwise. • メトロポリスウォークにおいて自己ループをカ ウントしない場合と等価 2015/9/30 11 シミュレーション1 • 頂点数が21~401個のGlitter starグラフ • 中心から出発し,全頂点を訪問するまでの移 動回数と自己ループ回数を求める • 1000回の試行の平均 Glitter starグラフ 2015/9/30 12 Glitter starグラフでシミュレーション 総移動回数 移 動 回 数 頂点数 図1: メトロポリスウォーク 2015/9/30 13 Glitter starグラフでシミュレーション 総移動回数 自己ループ 総移動回数 移 動 回 数 移 動 回 数 頂点数 図1: メトロポリスウォーク 頂点数 図2 : 新しいランダムウォーク • 総移動回数の約半分が自己ループ • 新しいランダムウォークでは,既存のメトロポリス ウォークの総移動回数は約半分 2015/9/30 14 シミュレーション2 • 頂点数が50~400個のBAモデルに基づく グラフ • 完全グラフから出発し,全頂点を訪問するまで の移動回数と自己ループ回数を求める • 1000回の試行の平均 2015/9/30 15 頂点𝑛に基づく BAモデルに基づくグラフ 1. 𝑚個の完全グラフK m から始める 2. 新しい頂点を追加し、既存の頂点に対して 次数に比例する確率で辺を張る 3. 𝑛個なるまで2を繰り返す BAモデルに基づくグラフ 2015/9/30 16 BAモデルに基づく グラフでシミュレーション 総移動回数 移 動 回 数 頂点数 図3: メトロポリスウォーク 2015/9/30 17 BAモデルに基づく グラフでシミュレーション 総移動回数 自己ループ 総移動回数 移 動 回 数 移 動 回 数 頂点数 図3: メトロポリスウォーク 頂点数 図4: 新しいランダムウォーク • 自己ループを起こしやすいグラフ • 新しいランダムウォークでは約4倍高速 2015/9/30 18 考察 • 自己ループを除去することによって自己ループ の分だけ高速にすることができる • 次数が大きい頂点と次数が小さい頂点が隣り 合っているグラフでは自己ループが起こりやす いと言える • BAモデルに基づくグラフでは,辺の両端点の次数 の差が大きいので,自己ループを除去することに よって効果的である 2015/9/30 19 今後の課題 • 今回扱っていないグラフ,特に現実に現れる ネットワークに対して検証を行うこと • 新しいランダムウォークが既存のメトロポリス ウォークと比べてどの程度速くなるか理論的 な解析を行うこと 2015/9/30 20 予備スライド 2015/9/30 21 Glitter starグラフでの 移動回数と自己ループの比率 • 頂点数の増加に伴い自己ループが増加している • 自己ループの割合は約5割で収束している 2015/9/30 22
© Copyright 2024 ExpyDoc