On the Streaming Complexity of Computing Local Clustering Coefficients

「On the Streaming Complexity of Computing Local Clustering Coefficients」の編集履歴(バックアップ)一覧はこちら

On the Streaming Complexity of Computing Local Clustering Coefficients」(2014/01/23 (木) 16:58:39) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* On the Streaming Complexity of Computing Local Clustering Coefficients - Konstantin Kutzkov, Rasmus Pagh - WSDM 2013 * 概要 - ワンパスでlocal clustering coefficientを求めたい -- ローカルなので、頂点ごと -- 辺リストが任意の順でもらえる + 全く三角形が無い or 1/2以上のCCを持つ次数2d以上の頂点がある、かをある程度の確率でワンパスで判定するためにはΩ(m/d)ビット必要 + ↑の限界にマッチした乱択アルゴリズムを考案 * Lower bound - Theorem 1 - ワンパス乱択アルゴリズムが + 次数2dの頂点はクラスタ係数0 + クラスタ係数1/2位上の次数2dの頂点が存在する - を1/3以上の確率で正しく区別するためにはΩ(m/d)bit以上を必要とする * One pass algorithm ** 準備1 - 各辺を確率pでサンプリングする - ↑で出来たグラフについてクラスタ係数をもとめる - 頂点v、三角形<u,v,w>について - (u,v,w)が残る確率: p^2 - <u,v,w>が残る確率: p^3 - ∴サンプルで求めたクラスタ係数に1/pをかければ期待値では真のクラスタ係数に一致する - サンプルには精度が必要、でもpがでかいと空間計算量がやばい、トレードオフ~ ** 準備2 - (u,v,w)を一杯とってくる - (u,w)はあるかしら? - ↑は3パスで可能 ** 提案手法 - ↑のを組み合わせてワンパス - monochromatic sampling - 各頂点を適当に彩色 - 端点が同色な辺だけとってくる - 何がうれしいの? -- もし、(u,v)と(v,w)があったら(u,w)もサンプルしたはず、無ければ、そもそも(u,w)は存在しない -- つまり、<u,v,w>も(u,v,w)もサンプルする確率が同じ - 彩色方法 -- 単純にfloor(C f(u))するだけ(fは適当な[0,1]関数) - SparsifyGraph -- 各辺が同色だったら捕獲、しきい値t以上になったら失敗 - CheckTwoPaths -- SparsifyGraphでサンプルしたグラフについて行う -- 次数2以上の頂点vについて、2つの近傍u,wをとってくる -- (u,w)があったらvに関するindicator X_△(v)=1、そうじゃなかったらX_△(v)=0 -- 上手くサンプルした頂点について(v, X_△(v))を返す - EstimateClusteringCoefficients -- K並列でCheckTwoPathsを実行 -- ↑ので(v, X_△(v))があったらvのwedgeをp_v++ -- さらにX_△(v)なら三角形をt_v++ -- (v, t_v/p_v)を返す - 細かなパラメータ -- K=4/(αε^2) * log(n/δ) -- t=9m/d -- C=d/4 -- これで、各頂点について(ε,δ)近似 * 実験 - 比較方法に色々使っていて面白い ++ 平均相対誤差 ++ Pearson相関係数 ++ Spearman 順位相関係数 - どうも真の値と近似値にはかなりの開きがあるように見える(´・ω・`) - 大体数百並列している感じ - ちょっと結果もはしょっている - 主張: - 次数分布が歪んでいると推定が良い - 近似が辺でもまぁ、相関はある * まとめ - アルゴリズムはちょっとおもしろいかも - ただ、CheckTwoPathsは各頂点について1回しかwedgeを確かめないので勿体無い気がした - 相関はちょー適当な推定でも出る気がするのであんまり参考にならなさそう -- 次数でとかね? &tags() &update()
* On the Streaming Complexity of Computing Local Clustering Coefficients - Konstantin Kutzkov, Rasmus Pagh - WSDM 2013 * 概要 - ワンパスでlocal clustering coefficientを求めたい -- ローカルなので、頂点ごと -- 辺リストが任意の順でもらえる + 全く三角形が無い or 1/2以上のCCを持つ次数2d以上の頂点がある、かをある程度の確率でワンパスで判定するためにはΩ(m/d)ビット必要 + ↑の限界にマッチした乱択アルゴリズムを考案 * Lower bound - Theorem 1 - ワンパス乱択アルゴリズムが + 次数2dの頂点はクラスタ係数0 + クラスタ係数1/2位上の次数2dの頂点が存在する - を1/3以上の確率で正しく区別するためにはΩ(m/d)bit以上を必要とする * One pass algorithm ** 準備1 - 各辺を確率pでサンプリングする - ↑で出来たグラフについてクラスタ係数をもとめる - 頂点v、三角形<u,v,w>について - (u,v,w)が残る確率: p^2 - <u,v,w>が残る確率: p^3 - ∴サンプルで求めたクラスタ係数に1/pをかければ期待値では真のクラスタ係数に一致する - サンプルには精度が必要、でもpがでかいと空間計算量がやばい、トレードオフ~ ** 準備2 - (u,v,w)を一杯とってくる - (u,w)はあるかしら? - ↑は3パスで可能 ** 提案手法 - ↑のを組み合わせてワンパス - monochromatic sampling - 各頂点を適当に彩色 - 端点が同色な辺だけとってくる - 何がうれしいの? -- もし、(u,v)と(v,w)があったら(u,w)もサンプルしたはず、無ければ、そもそも(u,w)は存在しない -- つまり、<u,v,w>も(u,v,w)もサンプルする確率が同じ - 彩色方法 -- 単純にfloor(C f(u))するだけ(fは適当な[0,1]関数) - SparsifyGraph -- 各辺が同色だったら捕獲、しきい値t以上になったら失敗 - CheckTwoPaths -- SparsifyGraphでサンプルしたグラフについて行う -- 次数2以上の頂点vについて、2つの近傍u,wをとってくる -- (u,w)があったらvに関するindicator X_△(v)=1、そうじゃなかったらX_△(v)=0 -- 上手くサンプルした頂点について(v, X_△(v))を返す - EstimateClusteringCoefficients -- K並列でCheckTwoPathsを実行 -- ↑ので(v, X_△(v))があったらvのwedgeをp_v++ -- さらにX_△(v)なら三角形をt_v++ -- (v, t_v/p_v)を返す - 細かなパラメータ -- K=4/(αε^2) * log(n/δ) -- t=9m/d -- C=d/4 -- これで、各頂点について(ε,δ)近似 * 実験 - 比較方法に色々使っていて面白い ++ 平均相対誤差 ++ Pearson相関係数 ++ Spearman 順位相関係数 - どうも真の値と近似値にはかなりの開きがあるように見える(´・ω・`) - 大体数百並列している感じ - ちょっと結果もはしょっている - 主張: - 次数分布が歪んでいると推定が良い - 近似が辺でもまぁ、相関はある * まとめ - アルゴリズムはちょっとおもしろいかも - ただ、CheckTwoPathsは各頂点について1回しかwedgeを確かめないので勿体無い気がした - 相関はちょー適当な推定でも出る気がするのであんまり参考にならなさそう -- 次数でとかね? &tags() &update()

表示オプション

横に並べて表示:
変化行の前後のみ表示: