从0,1中随机选择一个数,直到其和超

这篇文章略有不同,在这里我们将做个数学题。许多人可能会自己解决,或在一些论坛上找到答案。我相信这是我们很多人真正喜欢的问题。因为,这个看似简单的、基本的问题背后蕴藏着深刻的数学哲理。

问题陈述

我们玩以下游戏:

设S=0。从[0,1]区间均匀随机地选取一个实数x。设S=S+x。如果S1,则停止,否则请执行步骤2。

我要澄清的是,上述步骤2中的每个随机选择都是独立的。

现在的问题是:

我们所选择的随机数的期望数目是多少?换句话说,在过程终止之前,我们将执行步骤2的预期次数是多少?

我鼓励所有的读者在这里停下来,花几分钟思考一下如何解决上面的问题。

一个简单的计算实验

在深入研究这个问题的解决方案之前,我们或许可以先试着了解一下答案是什么样子的。由于所描述的过程非常简单,我们可以很容易地对其进行编程。下面是这个问题的Python代码:

importrandomdefPlayGame(n):count=0foriinrange(n):S=0.0whileS1:S=S+random.uniform(0,1)count=count+1return(count/n)defmain():n=res=PlayGame(n)print(Theexpectednumberis+str(res))if__name__==__main__:main()

运行代码,我得到了一个答案:

解这个问题

让Y表示在执行过程中我们必须进行的选择的期望数量。Y是一个取整数值的随机变量。用期望的定义,我们有:

上面等式的右边有一种很方便的重写方法,就是这样:

我们现在


转载请注明:http://www.aierlanlan.com/rzdk/3934.html