しばらくの間、私はあなたがモノイドへのマップを必要としていると思っていましたし、モノイドの乗算に応じて減らすことを減らしました。マップ/ Reduce: "howto"を超えた理論的基礎?
まず、これは正確にモノイドがどのように動作するかではなく、第2に、map/reduceが実際にどのように動作するかは正確ではありません。
つまり、ユビキタスな「カウント」の例を考えてみましょう。カウントするものがない場合、map/reduceエンジンは中立の要素ではなく空のデータセットを返します。バマー。
さらに、モノイドでは、2つの要素の操作が定義されています。我々はそれを有限シーケンスに、または連想のために有限集合に簡単に拡張することができる。しかし、実際にσ-algebraがなければ、それを任意の「コレクション」に拡張する方法はありません。
だから、理論は何ですか?私はそれを理解しようとしましたが、できませんでした。私はGoogleに行ってみましたが、何も見つかりませんでした。
これはおそらく[MapReduceをモナドとして](http://www.haskell.org/haskellwiki/MapReduce_as_a_monad)です。 – Peteris
シグマ代数のコメントが混乱しています。私が今までに見たすべてのマップリダクションエンジンは数えるコレクション(!)で動作するので、コレクションの順序付けを選択すると、結果を定義するのに十分です。シグマ代数は、あなたが(少なくとも)数えられないセットを扱うときに、測定理論で使用されます。 –
@RupertSwarbrick σ -algebraが表示される理由は、標準的な順序とバイナリ操作がなければ、明確に定義された順序です。しかし、あなたがそのような順序付けをしていない場合(そして、明示的なアルゴリズムについて話しているので、私たちは選択の公理を呼び出さない)、あなたは答えについて明確に定義された式を得ません。代数構造は、1つの定義を可能にし、誘発されたトポロジに評価を従属させます。 – eh9