• 每天一道面试题(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

  • 相关阅读:
    模态视图的 弹出方式
    add childviewController
    Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable con
    实时监控textfield的 输入内容
    textField 左侧的小图标
    提高 代码 可读性的 一点小建议
    iOS 自动计算高度
    Hdoj 2062
    Hdoj 2059
    Hdoj 2058
  • 原文地址:https://www.cnblogs.com/lwer/p/3062985.html
Copyright © 2020-2023  润新知