【发布时间】:2012-01-22 19:51:30
【问题描述】:
有一段时间我在想你只需要一个映射到一个幺半群,然后 reduce 会根据幺半群的乘法进行归约。
首先,这不是幺半群的工作方式,其次,这不是 map/reduce 在实践中的工作方式。
即,以无处不在的“计数”为例。如果没有什么可计算的,任何 map/reduce 引擎都将返回一个空数据集,而不是一个中性元素。无赖。
此外,在幺半群中,为两个元素定义了一个操作。我们可以很容易地将它扩展到有限序列,或者由于关联性,扩展到有限有序集。但是没有办法将它扩展到任意“集合”,除非我们实际上有一个σ-algebra。
那么,理论是什么?我试图弄清楚,但我做不到;我试图去谷歌它但什么也没找到。
【问题讨论】:
-
也许这很有趣MapReduce as a monad。
-
我对您的 sigma 代数评论感到困惑。由于我见过的每个 map reduce 引擎都在可数集合上运行(!),如果您在集合关联性上选择一个排序就足以定义结果。当您有(至少)不可数的集合要处理时,Sigma 代数用于测度论。
-
@RupertSwarbrick 出现 σ-algebra 的原因是,如果您没有规范排序和二元运算,那么您有一个定义明确的序列。但是,如果您没有这样的排序(并且因为我们正在讨论显式算法,我们不会调用选择公理),您就不会得到一个明确定义的答案表达式。代数结构允许定义一个,将评估从属于诱导拓扑。