• 抽奖概率的计算推导


    场景:抽奖池里有6个物品,每个物品的被抽概率相等,求问平均抽多少次能抽到所有6个物品。

    前提:抽到6个物品后不再继续抽奖。

    高中数学已经忘的差不多了,只能硬推导了。

    第n次抽全6个物品,说明前n-1次抽到了5个物品,所以可以做如下推导

    抽n次只拿到1个物品的组合:C(6,1) * H1.  (H1=1)

    抽n次只拿到2个物品的组合:C(6,2) * H2.  (H2=2^n-C(2,1)*H1) (所有组合减去只抽到一个物品的组合)

    抽n次只拿到3个物品的组合:C(6,3) * H3.  (H3=3^n-C(3,2)*H2-C(3,1)*H1)

    抽n次只拿到4个物品的组合:C(6,4) * H4.  (H4=4^n-C(4,3)*H3-C(4,2)*H2-C(4,1)*H1)

    抽n次只拿到5个物品的组合:C(6,5) * H5.  (H5=5^n-C(5,4)*H4-C(5,3)*H3-C(5,2)*H2-C(5,1)*H1)

    多项式合并得到抽n次拿到5个物品组合的个数是H(n) = 5^n-5*4^(n-1)+10*3^(n-1)-10*2^(n-1)+5

    易得到第n次抽全6个物品的概率是 H(n-1) * 6 / (6^n) = H(n-1) / 6^(n-1)

    继续使用excel

    从表中看到,当n超过12的时候,随着n越来越大,第n次抽全的概率越来越小,看上去有点奇怪,其实是因为第n次抽全要求前面n-1次必须抽到刚好5个奖品,所以概率会越来越小。

    验证了一下,所有概率加起来趋向于1,说明公式是正确的。

    计算结果:平均大概15次就能抽全6个物品。

    多项式合并好tm累啊,推导加验算来回折腾搞了2个多小时,又没法lol了。

  • 相关阅读:
    数组迭代方法
    promise
    Gulp执行预处理
    第一个gulp 项目
    vue 单元素过渡
    webpack 入门
    webpack初始化
    v-for 指令
    ajax 工作原理
    面试小问题
  • 原文地址:https://www.cnblogs.com/kumbayaco/p/3434752.html
Copyright © 2020-2023  润新知