期望随机序列的最大连续子序列和

时间:2012-06-29 11:36:35

标签: algorithm programming-pearls

这是编程珍珠第2版(第8.7章)中的一个问题:

  

考虑一个实数序列,其元素是从[-1, 1]范围内均匀绘制的,预期的最大连续子序列和是多少? (如果所有元素都是负数,则最大总和为0。)

假设序列的长度为N,是否存在预期最大子序列和f(N)的封闭形式?我尝试做一些模拟,但未找到任何线索。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

执行大量模拟并保存所有结果。将它们放入 Histogram ,您将看到某些值具有更频繁出现的属性。由于随机性,你必须执行大量的测试,以使你的直方图变得更可靠(即使那时我也不确定结果的公平性。)

答案 1 :(得分:0)

这与1D中的Brownian motion类似,但步长的分布不同寻常。对于大N,它接近Wiener process

(不确定其中任何一个是非常有用的,但如果您不了解这些连接,它可能会提供额外的位置)。

答案 2 :(得分:0)

此问题也在Quora中提交。链接为here

其中一个回复是关于模拟:

以下是一些小案例的确切答案,由Mathematica提供。不幸的是,在这些之后计算变得非常慢。

In[1]:= f[n_] := Expectation[Max[0, Max[Table[Sum[x[k], {k, i, j}], {i, n}, {j, i, n}]]], Distributed[Table[x[i], {i, n}], UniformDistribution[Table[{-1, 1}, {n}]]]]

In[2]:= Table[f[n], {n, 5}]

Out[2]= {1/4, 1/2, 23/32, 291/320, 4141/3840}