当前位置: 代码迷 >> 综合 >> Coupon Collector's Problem高级算法设计
  详细解决方案

Coupon Collector's Problem高级算法设计

热度:99   发布时间:2023-12-24 21:29:35.0

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种采票ZiZ_iZi?收集起
m=?min?Zi>0m=?\\ \min{Zi} >0m=?minZi>0

定义问题YKY_KYK? 投入多少球(或采票(m的值)),才能使KKK个不同的盒子装(或收集起nnn张不同的采票以对奖)
m=?min?Zi>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 解决YKY_KYK?的求法

3.1 初始化

Y0Y_0Y0?=0,即不收集彩票,自然不需要采票,m=0
Y1Y_1Y1?=1

3.2 递推公式

定义Yk?Yk?1=ZkY_k-Y_{k-1}=Z_kYk??Yk?1?=Zk?,先思考如何由Yk?1Y_{k-1}Yk?1?求得YkY_{k}Yk??
Yk?1Y_{k-1}Yk?1?表示需要多少个球,才能使得n 个盒子中有k?1k-1k?1个盒子被装;
YkY_{k}Yk?表示需要多少个球,才能使得n 个盒子中有kkk个盒子被装;
在这里插入图片描述
如图红色表示需要Yk?1Y_{k-1}Yk?1?个球装在了n个盒子中的k?1k-1k?1个,那么计算需要YkY_kYk?个球,装下n 个盒子中的k个盒子时,只需将第k个球装在剩下的n-k+1个盒子中。
定义pkp_kpk?表示第k个球恰好装入n-k+1(黑色盒子)的概率,1?pk1-p_k1?pk?表示进入k-1 个 盒子中的概率,即有如下表达:
pk=n?k+1n1?pk=k?1np_k=\frac{n-k+1}{n}\\ \quad \\ 1-p_k=\frac{k-1}{n}\\ pk?=nn?k+1?1?pk?=nk?1?

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

伯努力分布:掷硬币={pk正面,落入黑色部分1?pk反面,即落入红色的部分伯努力分布 :掷硬币=\left\{ \begin{aligned} p_k & & \ 正面,落入黑色部分\\ 1-p_k & & \ 反面 ,即落入红色的部分\\ \end{aligned} \right. ={ pk?1?pk???  ?
因此重复Zk=zZ_k=zZk?=z次投掷"coins"首次落入黑色的部分可以根据二项分布来计算:Pr(Zk=z)=(1?pk)z?1pkPr(Z_k=z)=(1-p_k)^{z-1}p_kPr(Zk?=z)=(1?pk?)z?1pk?
而首次落入黑色部分平均需要投郑几次,即E(Zk)=1pkE{(Z_k)}=\frac{1}{p_k}E(Zk?)=pk?1?,其方差Var(Zk)=1?pkpk2Var{(Z_k)}=\frac{1-p_k}{p_k^2}Var(Zk?)=pk2?1?pk??

3.3 求问题Y

由具体的物理意义可知

Y=Yn=(Y1?Y0)+(Y2?Y1)+(Y3?Y2)+(Y4?Y3)+?+(Yn?Yn?1)=Z1+Z2+Z3+Z4+?+ZnY=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_nY=Yn?=(Y1??Y0?)+(Y2??Y1?)+(Y3??Y2)+(Y4??Y3?)+?+(Yn??Yn?1?)=Z1?+Z2?+Z3?+Z4?+?+Zn?

求Y的均值
E(Y)=E(Z1)+E(Z2)+E(Z3)+E(Z4)+?+E(Zn)=∑k=1n1pk=∑k=1nnn?k+1=n∑k=1n1n?k+1=n∑k=1n1k=nHn(Hn为调和级数Harmonicseries,lnn+c)=nlnn+cnE(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=1n?pk?1?=k=1n?n?k+1n?=nk=1n?n?k+11?=nk=1n?k1?=nHn?(Hn?Harmonicserieslnn+c)=nlnn+cn
Y?nlnn±θ(n)withhighprobabilityY \sim nlnn \pm\theta(n) with \quad high \quad probability Y?nlnn±θ(n)withhighprobability
Y?(nln?n?cn,nln?n+cn)withhighprobabilityY \sim ( n\ln n -cn,n\ln n +cn)\quad with \quad high \quad probability Y?(nlnn?cn,nlnn+cn)withhighprobability
我们如果Y 的访差较小,即可以将Y的界限定在bound E(Y)附近。
Var(Y)=Var(Z1+Z2+Z3+Z4+?+Zn)Var(Y)=Var(Z_1+Z_2+Z_3+Z_4+ \dots+Z_n)Var(Y)=Var(Z1?+Z2?+Z3?+Z4?+?+Zn?)
ZkZ_kZk?服从独立分布
Var(Y)=Var(Z1+Z2+Z3+Z4+?+Zn)=∑k=1n1?pkpk2=∑k=1n1pk2?1pk=∑k=1n(n2(n?k+1)2?nn?k+1)==∑k=1nn2(n?k+1)2?∑k=1nnn?k+1==n2∑k=1n(n?k+1)2?n∑k=1n1n?k+1=n2∑k=1n1k2?n∑k=1n1k=π26n2?nlnnVar(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=1n?pk2?1?pk??=k=1n?pk2?1??pk?1?=k=1n?((n?k+1)2n2??n?k+1n?)==k=1n?(n?k+1)2n2??k=1n?n?k+1n?==n2k=1n?(n?k+1)2??nk=1n?n?k+11?=n2k=1n?k21??nk=1n?k1?=6π2?n2?nlnn
Var(Y)?θ(n2)Var(Y)\sim \theta(n^2)Var(Y)?θ(n2)

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

进一步思考

  • m?θ(nln?n)时m\sim\theta(n \ln n)时m?θ(nlnn),同时可以限定住min?Zi\min Z_iminZi?,max?Zi\max Z_imaxZi?:即min?Zi?θ(mn)=θ(ln?n)\min Z_i\sim \theta(\frac{m}{n})=\theta(\ln n)minZi??θ(nm?)=θ(lnn)
  • theorem
    m>cnln?n=8nln?nm>c n\ln n=8n\ln nm>cnlnn=8nlnnmin?Zi,max?Zi?θ(m/n)withhighprobability\min Z_i,\max Z_i\sim \theta(m/n) \\with \quad high \quad probability minZi?,maxZi??θ(m/n)withhighprobability
    即证 在m满足上面条件时有Pr(12mn≤min?Zi,max?Zi≤2mn)=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(21?nm?minZi?,maxZi?2nm?)=1?O(1)

证明

要证Pr(max?Zi≤2mn)=1?O(1)Pr(\max Z_i \leq 2\frac{m}{n})=1-O(1)Pr(maxZi?2nm?)=1?O(1)即证1?Pr(max?Zi≤2mn)=O(1)1-Pr(\max Z_i \leq 2\frac{m}{n})=O(1)1?Pr(maxZi?2nm?)=O(1)
即证
Pr(max?Zi>2mn)=O(1)即它的上界为小O(1)Pr(\max Z_i >2\frac{m}{n})=O(1)即它的上界为小O(1)\\ Pr(maxZi?>2nm?)=O(1)O(1)
Pr(max?Zi>2mn)=Pr(Z1>2mn)?Pr(Z2>2mn)???Pr(Zn>2mn)≤∑i=1nPr(Zi>2mn)不访设Z1对应的概率最大≤nPr?(Z1>2mn)(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=1n?Pr(Zi?>2nm?)访Z1?nPr(Z1?>2nm?)(1)

定义0-1 变量

X={X1,X2,…,Xi,…Xm}X=\{X_1,X_2,\dots,X_i,\dots X_m\}X={ X1?,X2?,,Xi?,Xm?}
Xi={1第i个球落入第1个盒子中withprobability1n0第i个球不落入第1个盒子withprobability1?1nX_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? i1withprobability1?n1??
因此Z1=∑i=1mXiZ_1= \sum_{i=1}^m X_iZ1?=i=1m?Xi?
E(Z1)=∑i=1mE(Xi)=mnE(Z_1)=\sum_{i=1}^mE(X_i)=\frac{m}{n}E(Z1?)=i=1m?E(Xi?)=nm?
利用CherNoff’s Bound
在这里插入图片描述
Pr(max?Zi>2mn)=≤nPr?(Z1>2mn)=nPr?(Z1>(1+1)mn)≤n{e4}mn(当m>8nln?n时即mn=8ln?n)≤n[e4]8ln?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?}nm?m>8nlnnnm?=8lnnn[4e?]8lnn=O(1)

证明Pr(min?Zi≥12mn)=1?O(1)Pr(\min Z_i \geq \frac{1}{2}\frac{m}{n})=1-O(1)Pr(minZi?21?nm?)=1?O(1)即证1?Pr(min?Zi≥12mn)=O(1)1-Pr(\min Z_i \geq \frac{1}{2}\frac{m}{n})=O(1)1?Pr(minZi?21?nm?)=O(1)

即证

Pr(min?Zi<12mn)=O(1)即它的上界为小O(1)Pr(\min Z_i <\frac{1}{2}\frac{m}{n})=O(1)即它的上界为小O(1)\\ Pr(minZi?<21?nm?)=O(1)O(1)
Pr(max?Zi<12mn)=Pr(Z1<12mn)?Pr(Z2<12mn)???Pr(Zn<12mn)≤∑i=1nPr(Zi<12mn)不访设Z1对应的概率最大≤nPr?(Z1<12mn)(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?<21?nm?)=Pr(Z1?<21?nm?)?Pr(Z2?<21?nm?)???Pr(Zn?<21?nm?)i=1n?Pr(Zi?<21?nm?)访Z1?nPr(Z1?<21?nm?)(1)

在这里插入图片描述
≤n[e?12(1/2)1/2]m/n=n[2/e]m/2n=n[2/e]4ln?n=n0.3ln?n=ne?1.2ln?n=O(1)(m/n=8ln?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/2e?21??]m/n=n[2/e]m/2n=n[2/e]4lnn=n0.3lnn=ne?1.2lnn=O(1)(m/n=8lnn)

  相关解决方案