地图/减少:超越“howto”的任何理论基础?

时间:2011-12-17 22:52:44

标签: math mapreduce

有一段时间我以为你只需要一张monoid的地图,然后根据monoid的乘法减少就会减少。

首先,这并不是幺半群是如何工作的,其次,这并不是map / reduce在实践中如何运作。

即,采用无处不在的“计数”示例。如果无需计算,任何map / reduce引擎都将返回空数据集,而不是中性元素。长号。

此外,在monoid中,为两个元素定义了一个操作。我们可以很容易地将它扩展到有限序列,或者由于相关性,可以扩展到有限有序集。但除非我们实际拥有σ-algebra,否则无法将其扩展到任意“集合”。

那么,理论是什么?我试图解决它,但我不能;我试图去谷歌但却一无所获。

1 个答案:

答案 0 :(得分:0)

我认为考虑map-reduce的正确方法本身并不是一种计算范式,而是一种类似于while循环的控制流构造。您可以将while视为具有两个参数的程序构造函数,谓词函数和任意程序。类似地,map-reduce构造有两个名为mapreduce的参数,每个参数都是函数。类似于while,要问的有用问题是关于证明相对于给定前提条件和后置条件的构造程序的正确性。像往常一样,这些问题涉及(a)终止和运行时性能以及(b)不变量的维护。