Skip to main content
QUICK REVIEW

[論文レビュー] Graph partitioning and a componentwise PageRank algorithm

Christopher Engström, Sergei Silvestrov|arXiv (Cornell University)|Sep 28, 2016
Data Management and Algorithms参考文献 6被引用数 3
ひとこと要約

本論文は、有向グラフを強連結成分(SCC)と連結無環成分(CAC)に分割する新しいグラフ分割手法を提案する。これにより、並列処理と成分別PageRank計算が可能となり、分割後のグラフの階層的構造を活用することで、合計反復回数を削減し、収束を高速化する。特に大規模グラフや低誤差許容範囲の場合に顕著に効果を発揮し、シリアスおよび並列環境の両方で標準的なべき乗反復法を上回る性能を示す。

ABSTRACT

In this article we will present a graph partitioning algorithm which partitions a graph into two different types of components: the well-known `strongly connected components' as well as another type of components we call `connected acyclic component'. We will give an algorithm based on Tarjan's algorithm for finding strongly connected components used to find such a partitioning. We will also show that the partitioning given by the algorithm is unique and that the underlying graph can be represented as a directed acyclic graph (similar to a pure strongly connected component partitioning). In the second part we will show how such an partitioning of a graph can be used to calculate PageRank of a graph effectively by calculating PageRank for different components on the same `level' in parallel as well as allowing for the use of different types of PageRank algorithms for different types of components. To evaluate the method we have calculated PageRank on four large example graphs and compared it with a basic approach, as well as our algorithm in a serial as well as parallel implementation.

研究の動機と目的

  • 有向グラフを強連結成分(SCC)と連結無環成分(CAC)に分解するグラフ分割アルゴリズムの開発を目的とし、PageRank計算の改善を図ること。
  • 分割後のグラフの階層的構造を活用して、並列処理と成分別PageRank計算を可能とすること。
  • 構造的性質の異なる成分を分離することで、収束に必要なべき乗反復回数を削減すること。
  • 大規模な実世界および合成グラフを用いて、提案手法と標準的なPageRankとの性能を比較評価すること。
  • メモリ制約環境やインクリメンタルな更新への応用可能性を検討すること。

提案手法

  • グラフの圧縮(コンデンセーション)から強連結成分(SCC)を特定し、それをもとに連結無環成分(CAC)を導出する修正版タージャンのアルゴリズムを用いる。
  • 成分が形成する有向無環グラフ(DAG)における位置に基づき、各成分にレベルを割り当て、上位から下位の順に階層的に処理を実行可能にする。
  • CACの無環性を活かし、各レベルごとに1回の反復でPageRankを計算するCAC-PageRankアルゴリズムを適用する。
  • SCC内の強連結性を活かし、各SCC内で標準的なべき乗反復法を用いるSCC-PageRankアルゴリズムを適用する。
  • CACとSCCの各成分からの結果を、レベルごとの伝搬モデルを用いて統合し、グラフ全体で一貫性を確保する。
  • シリアルおよび並列バージョンの両方を実装し、同じレベルに属する成分間で並列処理を実施する。

実験結果

リサーチクエスチョン

  • RQ1SCCとCACに基づくグラフ分割戦略は、PageRankの収束に必要なべき乗反復回数を削減できるか?
  • RQ2実行時間および収束速度の観点から、成分別PageRankアルゴリズムは標準的なべき乗反復法と比べてどの程度優れているか?
  • RQ3同じレベルに属する成分間での並列処理は、特に大規模グラフにおいて性能向上にどの程度寄与するか?
  • RQ4誤差許容範囲が小さくなるに従って、本手法はスケーリングに適しているか。高精度下でも効率性を維持できるか?
  • RQ5成分別アプローチにより、グラフの変更後のPageRankの更新がより速く行えるか?

主な発見

  • 提案された分割アルゴリズムは、グラフをSCCとCACに一意に分解し、成分の有向無環グラフ(DAG)を形成する。
  • 収束に必要なべき乗反復回数が顕著に削減され、特に高連結性を持つ大規模グラフにおいて顕著な効果を示す。
  • バラバシ=アルバートモデルのグラフでは、誤差許容範囲が変化してもPageRank計算時間がほぼ一定を保ち、ロバストで効率的な性能を示した。
  • シリアル実装は、グラフサイズが増大し、誤差許容範囲が低下するにつれて、基本的なべき乗反復法を上回った。
  • 並列実装では想定より高いオーバーヘッドが観察されたため、低レベルのメモリ管理およびタスク管理の最適化の余地があると考えられる。
  • SCCが少ないグラフ、例えばスケールフリーネットワークにおいては、CACの反復回数が減少するため、成分別アプローチにより収束がより速くなった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。