2012-09-26 12 views
5

ページランクアルゴリズムのコードを作成しようとしましたが、主な複雑さは行列乗算を効率的に解くことですが、このタスクの実行方法を理解できず、それは私の範囲を超えています。私は彼が適用する概念を理解していませんでした。 行列乗算のためのマッパーとリデューサ関数の背後にあるコンセプトを教えてください。前もって感謝します。ハープープの行列乗算

私はこれを読んで、あなたが提供link

答えて

-1

リンクは、(それに加えて、ソース・コードが含まれて)何も、このように明確に説明しています。それでも操作のコンセプトに苦しんでいるのであれば、行列/線形代数についてもう少し詳しく読むことから始めましょう。基礎となる数学を理解することができます。

+2

質問には答えられません、コメントとしては良いかもしれません。 – amit

+0

@amit質問者は「マップの乗算をmap/reduceで教えてください」と言っています。私の答えは、線形代数を読んで数学を理解することです。どのように答えはありませんか?あるいは、誰かが参照や演習で完全な講義シリーズを投稿することを期待していますか? – pap

+0

あなたは私にマッパーと減速機の機能の背後にある基本的なコンセプトを教えてくれますか? – devsda

1

考え方は、行列の乗算をStrassen Algorithmのようなもので部分的な問題に分解し、それらの部分的な問題をさまざまなコンピュータに送信できるという考えです。これらの部分問題が終了すると、異なる部分問題をまとめて行列自体にまとめることもできる。 Mapreduceを使用するための鍵は、すべての部分問題を基本的に並列に計算することができることです。これは、Mapreduceのためのものです。

0

Apache Hamaのようなフレームワークのカップルは、PageRankのimplementationを持っています。 Apache GiraphPagerankをサポートしています。

MapReduceはPageRankにはあまり適していないため、Googleは大規模なグラフ計算のためにPregel paperを公開しました。