Design Patterns for Efficient Graph Algorithms in MapReduce Jimmy Lin and Michael Schatz University of Maryland, College Park {jimmylin,mschatz}@umd.edu ABSTRACT Graphs are analyzed in many important contexts, includ- ing ranking search results based on the hyperlink struc- ture of the world wide web, module detection of protein- protein interaction networks, and privacy analysis of social network
"Graph algorithms" を考えます。 下図の S, A, B, C, D は 5 つの Web ページで、矢印は、Web リンクを表しているとします。(このような関係は、『有向グラフ』と捉えることができます。)このとき、ページ S からスタートして、最低、何クリックで、A 〜 D の各ページに到達するかを計算します。 ___________ ___________ | ↓| ↓ S → A → B → C ← D ↑____|↑__________|____↑ 再帰的な計算をごにょごにょすれば、何とかなる気がしますが(普通は、ダイクストラのアルゴリズムを使います)、MapReduce の場合は、基本的には『端から順番になめていく』タイプの計算しかできないので、次のように考えます。 1. 各ページの求める答えを(最初は不明なので)『?』と定義します。(S 自身は、不明で
ダイクストラ法 (Dijkstra's Algorithm) は最短経路問題を効率的に解くグラフ理論におけるアルゴリズムです。 スタートノードからゴールノードまでの最短距離とその経路を求めることができます。 アルゴリズム 以下のグラフを例にダイクストラのアルゴリズムを解説します。 円がノード,線がエッジで,sがスタートノード,gがゴールノードを表しています。 エッジの近くに書かれている数字はそのエッジを通るのに必要なコスト(たいてい距離または時間)です。 ここではエッジに向きが存在しない(=どちらからでも通れる)無向グラフだとして扱っていますが, ダイクストラ法の場合はそれほど無向グラフと有向グラフを区別して考える必要はありません。 ダイクストラ法はDP(動的計画法)的なアルゴリズムです。 つまり,「手近で明らかなことから順次確定していき,その確定した情報をもとにさらに遠くまで確定していく
METIS stable version: 5.1.0, 3/30/2013; MT-METIS version: 0.7.3, 6/4/2020 METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes developed in our lab. METIS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く