简化递归均值计算

时间:2013-07-18 22:21:42

标签: algorithm recursion complexity-theory

如果我们有

E i =平均[abs(H i - p)p

sub ]

H =平均[H 0 ,H 1 ,... H i ,... H n

P = concat [P 0 ,P 1 ,... P i ,... P n

然后是否存在更有效的计算方法

E = p [p]中p的平均值[abs(H-p)]

就H,P和E i s和H i 而言,假设H,E和P继续用作H <对于某些i,sub> i ,E i 和P i ,处于更高的递归水平?

如果我们在每个阶段将P i 的长度存储为L i ,那么我们可以让

L = sum [L 0 ,L 1 ,... L i ,... L n

允许我们执行稍微简单的计算

E =总和([P] / L中p的[abs(H-p))

但是abs函数的使用似乎严重限制了我们可以用来简化分子的代数操作的种类。

1 个答案:

答案 0 :(得分:0)

没有。想象一下,你只有两组,一组有H1 = 1而另一组有H2 = 2.想象一下,P1中的每个p都是0或2,P2中的每个p都是1或3.现在你将无论P1和P2中的实际值如何,始终具有E1 = 1和E2 = 1。但是,您可以看到,如果P1中的所有p都是2,并且P2中的所有p都是1,那么E将被最小化(特别是0.5),因为H = 1.5。或者P1中的所有p都可以是0,P2中的所有p都可以是3,在这种情况下E将被最大化。 (特别是1.5)。你可以在0.5到1.5之间得到E的任何答案,具体取决于p的分布。如果你实际上没有去查看所有单个p,那么就没有办法告诉你在E和0.5之间的准确值是多少。所以你不能比O(n)时间更好地计算E,其中n是P的总大小,如果你直接根据它的定义公式计算你想要的数量E,那就是相同的运行时间。