每天一道面试题(1)~~~

2011年 阿里巴巴 笔试题集 第23题

一个骰子,6面,1个面是 1, 2个面是2, 3个面是3, 问平均掷多少次能使1、2、3都至少出现一次.

方法1:传统求期望的方法

这题可以翻译为,一个骰子,6面,1个面是 1, 2个面是2, 3个面是3,随机扔骰子,在第x次时3个数都出现,求这个x的期望(也就是扔无数次,x的平均值是多少)

思路:

第一二次肯定不可能出现这种情况

第x(x > 2)次三个都出现的情况分三种(x ^ y 表示 x 的 y 次方)

1:第x次出现 1,那么前面出现的必然是 2 和 3 ,且至少出现一次

出现1的概率为 1 / 6,前面x-1次不出现1的概率为(1 - 1 / 6) ^ (x - 1),

但是其中包含全是 2 和全是 3 的情况,去掉全 2 的概率 (1 / 2) ^ (x - 1),全部为3的概率(1 / 3) ^ (x - 1),

那么情况 1 的概率为 ((1 - 1 / 6) ^ (x - 1) - (1 / 2) ^ (x - 1) - (1 / 3) ^ (x - 1)) * (1 / 6)

2:第x次出现2,那么前面出现的必然是 1 和 3 ,且至少出现一次 同样,概率为 ((1 - 1 / 3) ^ (x - 1) - (1 / 2) ^ (x - 1) - (1 / 6) ^ (x - 1)) * (1 / 3)

3:第x次出现3,那么前面出现的必然是 1 和 2 ,且至少出现一次 同样,概率为 ((1 - 1 / 2) ^ (x - 1) - (1 / 3) ^ (x - 1) - (1 / 6) ^ (x - 1)) * (1 / 2)

p(x)就为上面三种情况的和

那么,根据期望公式,平均值就等于从x = 3 到 n(无穷)求(x * p(x))的和

以上引用:http://ilewen.com/questions/1534

这个用组合数学的方法也很强,主要是他求极限的方法:http://blog.csdn.net/wongson/article/details/7974587

设在第n次实验中1、2、3没有全部出现的事件为Xn(n>=3)

在某次抛骰子中 1出现的概率为1/6; 2出现的概率为1/3;3出现的概率为1/2;

P(Xn) = (1/6+1/3)n+(1/6+1/2)n+(1/3+1/2)n-(1/6)n-(1/3)n-(1/2)n             //容斥原理

 

方法2:指示器随机变量

首先介绍一下指示器随机变量。
指示器随机变量为概率与期望之间的转换提供了一个便利的方法。给定一个样本空间S和事件A,那么事件A对应的指示器随机变量I{A}定义为
I(A)=1 如果A发生的话;0 如果A不发生的话。

首先证明以下结论:
抛N次,123没有全部出现的概率,记为p(n),很容易通过容斥原则求出p(n)。
对p(n)从n=0到无穷求和。即为题目所求的期望。

定义随机变量X_n=1表示事件“前n次投掷骰子,123没能全部出现”发生,X_n=0表示这个事件没发生,即X_n是该事件的指示变量。
令p(n)为“投n次骰子,123没能全部出现”的概率,即X_n的数学期望为:
E[X_n] = 1*Pr[X_n=1]+0*Pr[X_n=0]=p(n)
令随机变量X表示投掷到多少次时,123刚好全部出现过。
最关键的一步是发现一下的恒等关系:
X=X_0+X_1+X_2+X_3+......
即X为所有X_n的和,n=0到无穷。
例如:假设投掷到第7次时123刚好全部出现,即X=7,即X_0到X_6都为1,从X_7开始至n无穷,X_n都为0.
我们的目标是求E[X],根据期望的线性,有:
E[X] = E[X_0] + E[X_1] + E[X_2] + E[X_3]+...
注意尽管各个X_n之间并不独立,但线性期望对于任何随机变量都是无条件成立的,所以我们总可以轻松吧问题化整为零。

前面已经能够知道E[X_n]=p(n),而且p(n)可以用容斥原理则轻松算出。因此所求期望就是所有p(n)的和,n=0到无穷,这是一个简单的几何级数。

p(n)=(1/2+1/3)^n + (1/2+1/6)^n+(1/3+1/6)^n - (1/2)^n-(1/3)^n-(1/6)^n
=(5/6)^n+(2/3)^n-(1/3)^n-(1/6)^n ;(n>=3)
而p(0)=p(1)=p(2)=1;

那么这个答案应该是
而几何级数1+q+q^2+q^3+....=1/(1-q)
因此E[x] = 3+f(5/6)+f(2/3)-f(1/3)-f(1/6) = 7.3

f(x) = x^3/(1-x);

 以上引用:http://blog.csdn.net/quanben/article/details/6918209(4楼评论)加以修改了

方法3:分叉树递归列方程法

L2,L3如最右L1一样,还可以继续展开,如下方程所示

根据这个树状结构和其中的递归关系,这个方程组就是:
L123 = p1 (L23+ 1) + p2 (L13+1) + p3 (L12 + 1) = p1 L23 +p2 L13+ p3 L12 + 1
(以这个L123为例,投掷1的概率是p1而由此得到的结果是需要期待后续2和3各至少出现一次,于是长度期望是L23+ 1,加1是因为投掷了一次,亦即即增进一级)
L23 = p1 L23 +p2 L3+ p3 L2 + 1
L13 = p1 L3 +p2 L13+ p3 L1 + 1
L12 = p1 L2 +p2 L1+ p3 L12 + 1
L1 =p1 ·1 + p2 (L1+1) + p3 (L1 +1) = p2 L1+ p3 L1 + 1
L2 = p1 L2 + p3 L2 + 1
L3 = p1 L3 +p2 L3+ 1
带入p1=1/6,p2=1/3,p3=1/2即可得到。

引用参考:

http://unix8.net/%E5%88%86%E5%8F%89%E6%A0%91%E9%80%92%E5%BD%92%E5%88%97%E6%96%B9%E7%A8%8B%E6%B3%95%E8%A7%A3%E6%A6%82%E7%8E%87%E9%97%AE%E9%A2%98.html

原文地址:https://www.cnblogs.com/lwer/p/3062985.html