Coupon Collector's Problem高级算法设计

1 Geometric Distribution

用X表示n 次投掷coin(独立伯努力分布)中,首次出现正面时,投掷的次数,X可能的取值为1,2,3,。。。N,假设每次正面的概率为1/2(一般化可设为p)
在这里插入图片描述
具体参考

2 Coupon Collector’s Problem(CCP)

2.1关注点

CCP关注的是分散,与Balls of Bin 问题不同(其关注的是会不会集中,集中的程度有多少)

2.2 问题定义

设有采票 m张,需要集起n 种不同的类型,当集起n种类型的采票时,可以进行对奖或其它操作
当然可以抽象为Balls of Bin 问题形式,其中所用有的m张采票为m个球,要求集起的n张采票为n个不同的盒子,因此可以问题定义为m个球装在不同的n个盒子里,要求同一个盒子装同一种采票,且每个盒子都必须装满。

2.2.1 具体说

定义问题 Y 为 Y 为 Y当m 是什么数量级时,使得n种采票 Z i Z_i Zi收集起
m = ? min ⁡ Z i > 0 m=?\\ \min{Zi} >0 m=?minZi>0

定义问题 Y K Y_K YK 投入多少球(或采票(m的值)),才能使 K K K个不同的盒子装(或收集起 n n n张不同的采票以对奖)
m = ? min ⁡ Z i > 0 ( i = 0 , 1 , 2 … K ) ( K ∈ n ) m=?\\ \min Z_i>0 \\(i=0,1,2\dots K)\\(K\in n) m=?minZi>0(i=012K)(Kn)

3 解决 Y K Y_K YK的求法

3.1 初始化

Y 0 Y_0 Y0=0,即不收集彩票,自然不需要采票,m=0
Y 1 Y_1 Y1=1

3.2 递推公式

定义 Y k − Y k − 1 = Z k Y_k-Y_{k-1}=Z_k YkYk1=Zk,先思考如何由 Y k − 1 Y_{k-1} Yk1求得 Y k Y_{k} Yk?
Y k − 1 Y_{k-1} Yk1表示需要多少个球,才能使得n 个盒子中有 k − 1 k-1 k1个盒子被装;
Y k Y_{k} Yk表示需要多少个球,才能使得n 个盒子中有 k k k个盒子被装;
在这里插入图片描述
如图红色表示需要 Y k − 1 Y_{k-1} Yk1个球装在了n个盒子中的 k − 1 k-1 k1个,那么计算需要 Y k Y_k Yk个球,装下n 个盒子中的k个盒子时,只需将第k个球装在剩下的n-k+1个盒子中。
定义 p k p_k pk表示第k个球恰好装入n-k+1(黑色盒子)的概率, 1 − p k 1-p_k 1pk表示进入k-1 个 盒子中的概率,即有如下表达:
p k = n − k + 1 n 1 − p k = k − 1 n p_k=\frac{n-k+1}{n}\\ \quad \\ 1-p_k=\frac{k-1}{n}\\ pk=nnk+11pk=nk1

那么上面定义的 Z k Z_k Zk便有了具体的物理意义,即是第一节提到的几何分布,表示需要新增 Z k Z_k Zk个球(可以理解为重复 Z k Z_k Zk次投掷coin )才能使得有一个球不落入红色部分的盒子中。

伯 努 力 分 布 : 掷 硬 币 = { p k   正 面 , 落 入 黑 色 部 分 1 − p k   反 面 , 即 落 入 红 色 的 部 分 伯努力分布 :掷硬币=\left\{ \begin{aligned} p_k & & \ 正面,落入黑色部分\\ 1-p_k & & \ 反面 ,即落入红色的部分\\ \end{aligned} \right. ={pk1pk  
因此重复 Z k = z Z_k=z Zk=z次投掷"coins"首次落入黑色的部分可以根据二项分布来计算: P r ( Z k = z ) = ( 1 − p k ) z − 1 p k Pr(Z_k=z)=(1-p_k)^{z-1}p_k Pr(Zk=z)=(1pk)z1pk
而首次落入黑色部分平均需要投郑几次,即 E ( Z k ) = 1 p k E{(Z_k)}=\frac{1}{p_k} E(Zk)=pk1,其方差 V a r ( Z k ) = 1 − p k p k 2 Var{(Z_k)}=\frac{1-p_k}{p_k^2} Var(Zk)=pk21pk

3.3 求问题Y

由具体的物理意义可知

Y = Y n = ( Y 1 − Y 0 ) + ( Y 2 − Y 1 ) + ( Y 3 − Y 2 ) + ( Y 4 − Y 3 ) + ⋯ + ( Y n − Y n − 1 ) = Z 1 + Z 2 + Z 3 + Z 4 + ⋯ + Z n Y=Y_n=(Y_1-Y_0)+(Y_2-Y_1)+(Y_3-Y2)+(Y_4-Y_3)+\dots+(Y_n-Y_{n-1})\\ =Z_1+Z_2+Z_3+Z_4+ \dots+Z_n Y=Yn=(Y1Y0)+(Y2Y1)+(Y3Y2)+(Y4Y3)++(YnYn1)=Z1+Z2+Z3+Z4++Zn

求Y的均值
E ( Y ) = E ( Z 1 ) + E ( Z 2 ) + E ( Z 3 ) + E ( Z 4 ) + ⋯ + E ( Z n ) = ∑ k = 1 n 1 p k = ∑ k = 1 n n n − k + 1 = n ∑ k = 1 n 1 n − k + 1 = n ∑ k = 1 n 1 k = n H n ( H n 为 调 和 级 数 H a r m o n i c s e r i e s , l n n + c ) = n l n n + c n E(Y) =E(Z_1)+E(Z_2)+E(Z_3)+E(Z_4)+ \dots+E(Z_n)\\=\sum_{k=1}^n \frac{1}{p_k}\\=\sum_{k=1}^n\frac{n}{n-k+1}\\=n\sum_{k=1}^n\frac{1}{n-k+1}\\=n\sum_{k=1}^n\frac{1}{k}=nH_n(H_n为调和级数Harmonic series,lnn+c)\\=nlnn+cn E(Y)=E(Z1)+E(Z2)+E(Z3)+E(Z4)++E(Zn)=k=1npk1=k=1nnk+1n=nk=1nnk+11=nk=1nk1=nHn(HnHarmonicserieslnn+c)=nlnn+cn
Y ∼ n l n n ± θ ( n ) w i t h h i g h p r o b a b i l i t y Y \sim nlnn \pm\theta(n) with \quad high \quad probability Ynlnn±θ(n)withhighprobability
Y ∼ ( n ln ⁡ n − c n , n ln ⁡ n + c n ) w i t h h i g h p r o b a b i l i t y Y \sim ( n\ln n -cn,n\ln n +cn)\quad with \quad high \quad probability Y(nlnncn,nlnn+cn)withhighprobability
我们如果Y 的访差较小,即可以将Y的界限定在bound E(Y)附近。
V a r ( Y ) = V a r ( Z 1 + Z 2 + Z 3 + Z 4 + ⋯ + Z n ) Var(Y)=Var(Z_1+Z_2+Z_3+Z_4+ \dots+Z_n) Var(Y)=Var(Z1+Z2+Z3+Z4++Zn)
Z k Z_k Zk服从独立分布
V a r ( Y ) = V a r ( Z 1 + Z 2 + Z 3 + Z 4 + ⋯ + Z n ) = ∑ k = 1 n 1 − p k p k 2 = ∑ k = 1 n 1 p k 2 − 1 p k = ∑ k = 1 n ( n 2 ( n − k + 1 ) 2 − n n − k + 1 ) = = ∑ k = 1 n n 2 ( n − k + 1 ) 2 − ∑ k = 1 n n n − k + 1 = = n 2 ∑ k = 1 n ( n − k + 1 ) 2 − n ∑ k = 1 n 1 n − k + 1 = n 2 ∑ k = 1 n 1 k 2 − n ∑ k = 1 n 1 k = π 2 6 n 2 − n l n n Var(Y)=Var(Z_1+Z_2+Z_3+Z_4+ \dots+Z_n)\\ =\sum_{k=1}^n \frac{1-p_k}{p_k^2}=\sum_{k=1}^n \frac{1}{p_k^2}- \frac{1}{p_k}\\=\sum_{k=1}^n( \frac{n^2}{(n-k+1)^2}- \frac{n}{n-k+1})=\\=\sum_{k=1}^n\frac{n^2}{(n-k+1)^2}- \sum_{k=1}^n\frac{n}{n-k+1}=\\ =n^2\sum_{k=1}^n\frac{}{(n-k+1)^2}-n \sum_{k=1}^n\frac{1}{n-k+1}=\\ n^2\sum_{k=1}^n\frac{1}{k^2}-n \sum_{k=1}^n\frac{1}{k}=\\ \frac{\pi^2}{6}n^2-nlnn Var(Y)=Var(Z1+Z2+Z3+Z4++Zn)=k=1npk21pk=k=1npk21pk1=k=1n((nk+1)2n2nk+1n)==k=1n(nk+1)2n2k=1nnk+1n==n2k=1n(nk+1)2nk=1nnk+11=n2k=1nk21nk=1nk1=6π2n2nlnn
V a r ( Y ) ∼ θ ( n 2 ) Var(Y)\sim \theta(n^2) Var(Y)θ(n2)

利用切比雪夫不等式
在这里插入图片描述 Pr ⁡ { ∣ X − E ( x ) ∣ ≥ c n } ≤ V a r ( Y ) c 2 n 2 = O ( 1 ) \Pr\{|X-E(x)|\ge cn\}\le \frac{Var(Y)}{c^2n^2}=O(1) Pr{XE(x)cn}c2n2Var(Y)=O(1)

进一步思考

  • m ∼ θ ( n ln ⁡ n ) 时 m\sim\theta(n \ln n)时 mθ(nlnn),同时可以限定住 min ⁡ Z i \min Z_i minZi, max ⁡ Z i \max Z_i maxZi:即 min ⁡ Z i ∼ θ ( m n ) = θ ( ln ⁡ n ) \min Z_i\sim \theta(\frac{m}{n})=\theta(\ln n) minZiθ(nm)=θ(lnn)
  • theorem
    m > c n ln ⁡ n = 8 n ln ⁡ n m>c n\ln n=8n\ln n m>cnlnn=8nlnn min ⁡ Z i , max ⁡ Z i ∼ θ ( m / n ) w i t h h i g h p r o b a b i l i t y \min Z_i,\max Z_i\sim \theta(m/n) \\with \quad high \quad probability minZi,maxZiθ(m/n)withhighprobability
    即证 在m满足上面条件时有 P r ( 1 2 m n ≤ min ⁡ Z i , max ⁡ Z i ≤ 2 m n ) = 1 − O ( 1 ) Pr(\frac{1}{2}\frac{m}{n}\leq \min Z_i,\max Z_i \leq 2\frac{m}{n})=1-O(1) Pr(21nmminZi,maxZi2nm)=1O(1)
证明

要证 P r ( max ⁡ Z i ≤ 2 m n ) = 1 − O ( 1 ) Pr(\max Z_i \leq 2\frac{m}{n})=1-O(1) Pr(maxZi2nm)=1O(1)即证 1 − P r ( max ⁡ Z i ≤ 2 m n ) = O ( 1 ) 1-Pr(\max Z_i \leq 2\frac{m}{n})=O(1) 1Pr(maxZi2nm)=O(1)
即证
P r ( max ⁡ Z i > 2 m n ) = O ( 1 ) 即 它 的 上 界 为 小 O ( 1 ) Pr(\max Z_i >2\frac{m}{n})=O(1)即它的上界为小O(1)\\ Pr(maxZi>2nm)=O(1)O(1)
P r ( max ⁡ Z i > 2 m n ) = P r ( Z 1 > 2 m n ) ⋃ P r ( Z 2 > 2 m n ) ⋃ ⋯ ⋃ P r ( Z n > 2 m n ) ≤ ∑ i = 1 n P r ( Z i > 2 m n ) 不 访 设 Z 1 对 应 的 概 率 最 大 ≤ n Pr ⁡ ( Z 1 > 2 m n ) ( 1 ) Pr(\max Z_i >2\frac{m}{n})=\\Pr(Z_ 1>2\frac{m}{n})\bigcup Pr(Z_ 2>2\frac{m}{n})\bigcup \dots \bigcup Pr(Z_ n>2\frac{m}{n}) \\ \leq\sum_{i=1}^n Pr(Z_i >2\frac{m}{n})不访设Z_1对应的概率最大 \\ \leq n\Pr(Z_1>2\frac{m}{n}) \quad \quad (1) Pr(maxZi>2nm)=Pr(Z1>2nm)Pr(Z2>2nm)Pr(Zn>2nm)i=1nPr(Zi>2nm)访Z1nPr(Z1>2nm)(1)

定义0-1 变量

X = { X 1 , X 2 , … , X i , … X m } X=\{X_1,X_2,\dots,X_i,\dots X_m\} X={X1,X2,,Xi,Xm}
X i = { 1   第 i 个 球 落 入 第 1 个 盒 子 中 w i t h p r o b a b i l i t y 1 n 0   第 i 个 球 不 落 入 第 1 个 盒 子 w i t h p r o b a b i l i t y 1 − 1 n X_i=\left\{ \begin{aligned} 1 & & \ 第i个球落入第1个盒子中 \quad with \quad probability \quad \frac{1}{n} \\ 0 & & \ 第i 个球不落入第1个盒子 \quad with \quad probability \quad 1-\frac{1}{n}\\ \end{aligned} \right. Xi=10 i1withprobabilityn1 i1withprobability1n1
因此 Z 1 = ∑ i = 1 m X i Z_1= \sum_{i=1}^m X_i Z1=i=1mXi
E ( Z 1 ) = ∑ i = 1 m E ( X i ) = m n E(Z_1)=\sum_{i=1}^mE(X_i)=\frac{m}{n} E(Z1)=i=1mE(Xi)=nm
利用CherNoff’s Bound
在这里插入图片描述
P r ( max ⁡ Z i > 2 m n ) = ≤ n Pr ⁡ ( Z 1 > 2 m n ) = n Pr ⁡ ( Z 1 > ( 1 + 1 ) m n ) ≤ n { e 4 } m n ( 当 m > 8 n ln ⁡ n 时 即 m n = 8 ln ⁡ n ) ≤ n [ e 4 ] 8 ln ⁡ n = O ( 1 ) Pr(\max Z_i >2\frac{m}{n})= \leq n\Pr(Z_1>2\frac{m}{n}) \\ =n\Pr(Z_1>(1+1)\frac{m}{n}) \leq n\{\frac{e}{4}\}^{\frac{m}{n}}\\ (当m>8n\ln n 时 即\frac{m}{n}=8\ln n) \\ \le n[\frac{e}{4}]^{8\ln n}=O(1) Pr(maxZi>2nm)=nPr(Z1>2nm)=nPr(Z1>(1+1)nm)n{4e}nmm>8nlnnnm=8lnnn[4e]8lnn=O(1)

证明 P r ( min ⁡ Z i ≥ 1 2 m n ) = 1 − O ( 1 ) Pr(\min Z_i \geq \frac{1}{2}\frac{m}{n})=1-O(1) Pr(minZi21nm)=1O(1)即证 1 − P r ( min ⁡ Z i ≥ 1 2 m n ) = O ( 1 ) 1-Pr(\min Z_i \geq \frac{1}{2}\frac{m}{n})=O(1) 1Pr(minZi21nm)=O(1)
即证

P r ( min ⁡ Z i < 1 2 m n ) = O ( 1 ) 即 它 的 上 界 为 小 O ( 1 ) Pr(\min Z_i <\frac{1}{2}\frac{m}{n})=O(1)即它的上界为小O(1)\\ Pr(minZi<21nm)=O(1)O(1)
P r ( max ⁡ Z i < 1 2 m n ) = P r ( Z 1 < 1 2 m n ) ⋃ P r ( Z 2 < 1 2 m n ) ⋃ ⋯ ⋃ P r ( Z n < 1 2 m n ) ≤ ∑ i = 1 n P r ( Z i < 1 2 m n ) 不 访 设 Z 1 对 应 的 概 率 最 大 ≤ n Pr ⁡ ( Z 1 < 1 2 m n ) ( 1 ) Pr(\max Z_i <\frac{1}{2}\frac{m}{n})=\\Pr(Z_ 1<\frac{1}{2}\frac{m}{n})\bigcup Pr(Z_ 2<\frac{1}{2}\frac{m}{n})\bigcup \dots \bigcup Pr(Z_ n<\frac{1}{2}\frac{m}{n}) \\ \leq\sum_{i=1}^n Pr(Z_i <\frac{1}{2}\frac{m}{n})\quad \quad 不访设Z_1对应的概率最大 \\ \leq n\Pr(Z_1<\frac{1}{2}\frac{m}{n}) \quad \quad (1) Pr(maxZi<21nm)=Pr(Z1<21nm)Pr(Z2<21nm)Pr(Zn<21nm)i=1nPr(Zi<21nm)访Z1nPr(Z1<21nm)(1)

在这里插入图片描述
≤ n [ e − 1 2 ( 1 / 2 ) 1 / 2 ] m / n = n [ 2 / e ] m / 2 n = n [ 2 / e ] 4 ln ⁡ n = n 0. 3 ln ⁡ n = n e − 1.2 ln ⁡ n = O ( 1 ) ( m / n = 8 ln ⁡ n ) \leq n[\frac{e^{-\frac{1}{2}}}{(1/2)^{1/2}}]^{m/n}=n[2/e]^{m/2n}=n[2/e]^{4 \ln n}=n0.3^ {\ln n}=ne^{-1.2 \ln n} \\=O(1) (\quad m/n=8\ln n) n[1/21/2e21]m/n=n[2/e]m/2n=n[2/e]4lnn=n0.3lnn=ne1.2lnn=O(1)(m/n=8lnn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值