这篇文章略有不同,在这里我们将做个数学题。许多人可能会自己解决,或在一些论坛上找到答案。我相信这是我们很多人真正喜欢的问题。因为,这个看似简单的、基本的问题背后蕴藏着深刻的数学哲理。
问题陈述
我们玩以下游戏:
设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是一个取整数值的随机变量。用期望的定义,我们有:
上面等式的右边有一种很方便的重写方法,就是这样:
我们现在