开卡包的期望

问题描述

目前有N个卡包,K种卡牌,每次开卡包等概率的开出K种卡牌中任意一张

求N个卡包能够开出的卡牌种类期望数

开出所有种类的卡包期望数

问题1

设随机变量 X 表示 N 包卡包开出的卡牌种类数,每张卡牌未被开出的概率为 ( 1 − 1 k ) N \left(1 - \frac{1}{k}\right)^N (1−k1)N 。

根据期望线性性质, X 的期望为:

E ( X ) = k ⋅ [ 1 − ( 1 − 1 k ) N ] E(X) = k \cdot \left[1 - \left(1 - \frac{1}{k}\right)^N\right] E(X)=k⋅[1−(1−k1)N]

  • 对每张卡牌定义指示变量 X i X_i Xi(开出第 i 张牌时 X i = 1 X_i = 1 Xi=1 ,否则为 0 )。
  • 单张卡牌未被开出的概率为 ( 1 − 1 k ) N ,故 E ( X i ) = 1 − ( 1 − 1 k ) N \left(1 - \frac{1}{k}\right)^N ,故 E(X_i) = 1 - \left(1 - \frac{1}{k}\right)^N (1−k1)N,故E(Xi)=1−(1−k1)N 。
  • 总期望 E ( X ) = K ∗ ( 1 − ( 1 − 1 k ) N ) E(X) =K*(1 - \left(1 - \frac{1}{k}\right)^N) E(X)=K∗(1−(1−k1)N)

问题2

设 X 为收集所有 k 种卡牌所需的开包次数。将 X 分解为 k 个阶段的随机变量之和:

X = X 1 + X 2 + ⋯ + X k X = X_1 + X_2 + \cdots + X_k X=X1+X2+⋯+Xk

其中 X i X_i Xi表示从已收集 i-1 种卡牌到收集第 i 种卡牌所需的开包次数。

第 1 阶段( X 1 ):初始时未收集任何卡牌,每次开包必获得新卡牌,因此 X 1 = 1 第 1 阶段( X_1 ):初始时未收集任何卡牌,每次开包必获得新卡牌,因此 X_1 = 1 第1阶段(X1):初始时未收集任何卡牌,每次开包必获得新卡牌,因此X1=1 。
第 i 阶段( X i , i ≥ 2 ):已收集 i − 1 种卡牌,剩余 k − ( i − 1 ) = k − i + 1 种新卡牌。此时每次开包获得新卡牌的概率为 p i = k − i + 1 k ,因此 X i 服从参数为 p i 的几何分布。几何分布的期望为 1 p i ,即: E [ X i ] = k k − i + 1 . 第 i 阶段( X_i, i \geq 2 ):已收集 i-1 种卡牌,剩余 k - (i-1) = k - i + 1 种新卡牌。此时每次开包获得新卡牌的概率为 p_i = \frac{k - i + 1}{k} ,因此 X_i 服从参数为 p_i 的几何分布。几何分布的期望为 \frac{1}{p_i} ,即: \mathbb{E}[X_i] = \frac{k}{k - i + 1}. 第i阶段(Xi,i≥2):已收集i−1种卡牌,剩余k−(i−1)=k−i+1种新卡牌。此时每次开包获得新卡牌的概率为pi=kk−i+1,因此Xi服从参数为pi的几何分布。几何分布的期望为pi1,即:E[Xi]=k−i+1k.

根据期望的线性性质,总期望为各阶段期望之和:

E [ X ] = E [ X 1 ] + E [ X 2 ] + ⋯ + E [ X k ] . \mathbb{E}[X] = \mathbb{E}[X_1] + \mathbb{E}[X_2] + \cdots + \mathbb{E}[X_k]. E[X]=E[X1]+E[X2]+⋯+E[Xk].

代入各阶段期望:

E [ X ] = 1 + k k − 1 + k k − 2 + ⋯ + k 1 = k ( 1 1 + 1 2 + ⋯ + 1 k ) . \mathbb{E}[X] = 1 + \frac{k}{k-1} + \frac{k}{k-2} + \cdots + \frac{k}{1} = k \left( \frac{1}{1} + \frac{1}{2} + \cdots + \frac{1}{k} \right). E[X]=1+k−1k+k−2k+⋯+1k=k(11+21+⋯+k1).

这里用到了调和数 H k = 1 + 1 2 + ⋯ + 1 k H_k = 1 + \frac{1}{2} + \cdots + \frac{1}{k} Hk=1+21+⋯+k1,因此最终期望为:

E [ X ] = k ⋅ H k . \mathbb{E}[X] = k \cdot H_k. E[X]=k⋅Hk.

结论:

无论卡包种类数 n 是多少(只要每种卡包开出每张卡牌的概率均为 1/k ),收集所有 k 种卡牌的期望开包次数为:

k ( 1 + 1 2 + 1 3 + ⋯ + 1 k ) \boxed{k \left( 1 + \frac{1}{2} + \frac{1}{3} + \cdots + \frac{1}{k} \right)} k(1+21+31+⋯+k1)

或用调和数表示为:

k ⋅ H k \boxed{k \cdot H_k} k⋅Hk

相关推荐
深邃-1 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k
We་ct4 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
王老师青少年编程8 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮8 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说9 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove9 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung10 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了10 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL10 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
jiejiejiejie_10 小时前
Flutter for OpenHarmony 心情日记功能实战指南
flutter·华为