面试中的概率题-数学期望(1)
问题描述:
有一个木桶,里面有M个白球,小明每分钟从桶中随机取出一个球涂成红色(无论白或红都涂红)再放回,问小明将桶中球全部涂红的期望时间是多少?
分析过程:
数学期望类的题目,主要是要理解什么是数学期望,数学期望是干什么用的,关于这些问题的解答,大家可以自己去理解,思考或者翻书,我要讲的内容是如何利用这些数学期望的特点。
数学期望的递归特性:
飞行棋大家都玩过吧,应该知道每次抛到6,就有一架飞机可以出门了,那么问你一架飞机可以出门的时候,抛筛子次数的数学期望是多少?
你估计会毫不犹豫的说是6(P=1/6,E=1/P=6),但是你思考过深一层次的原因吗?
好吧,我来告诉你,我们记抛6的期望次数是E,如果第一次抛的是6,那么就是1次,概率是1/6;如果第一次不是6呢,那么次数是1+E,概率为5/6;
那么 E = 1 * (1/6) + (1+E) * (5/6),你可以很容易的解出 E = 6
上面加粗的红色字体用的就是类似一个递归的概念,希望你能理解吧,不行的话,那只能自己去努力理解了,呵呵。
现在我们开始解答上面的问题:
令P[i]代表M个球中已经有i个球是红色后,还需要的时间期望,去将所有球都变成红色。
So,给出递归式:P[i]= (i/M) * P[i] + (1-i/M)* P[i+1] + 1
我相信大家都能理解这个公式的含义,不过还是解释一下,在P[i]的情况下,我们选一次球,如果是红球,那么概率是i/M,子问题还是P[i],如果是白球,那么概率是1-i/M,子问题是P[i+1],注意你当前的选球操作要计算在内,即一次
化简如上递归式得:P[i] = P[i+1] + M/(M-i),显然P[M] = 0;
所以:
P[M-1] = P[M] + M/1
P[M-2] = P[M-1] + M/2
…
P[0] = P[1] + M/M
综上:P[0] = 0 + M/1 + M/2 + … + M/M,至此问题已经解决,不过我希望大家学到的不是这个答案,而是分析这个题目的过程
最终答案:
0 + M/1 + M/2 + M/3 + … + M/M