クーポンコレクター問題

提供: testwiki
ナビゲーションに移動 検索に移動
クーポンの種類数 n と全種類を集めるのに必要な試行回数の期待値 E(T) のグラフ

クーポンコレクター問題(クーポンコレクターもんだい、テンプレート:Lang-en)とは、確率論における「全てのクーポンを集めると何らかの特典が得られる」場合に、何回クーポンを引けばよいかという問題である。「クーポンコレクター」と表現しているが、ソーシャルゲームで問題視されたコンプリートガチャをはじめ、トレーディングカードカプセルトイブラインドパッケージ食玩などで全種類を集める(コンプリートする)場合にも適用できる問題である。そのため、日本においては「食玩問題 [1]とも呼ばれる。

具体的には次のような問題である。

の中に n 種類の異なるクーポンが入っている。1回の試行で壺の中から1枚クーポンを引き、引いたものと同じ種類のクーポンを壺の中に戻すものとする。n 種類(全種類)のクーポンを集めようとしたとき、 t 回以上の試行回数が必要となる確率はいくつだろうか?

別の言い方をすると次のようになる。

n 種類の異なるクーポンがあるとき、各種類のクーポンを1回以上引くまでに、何回クーポンを引けば良いか?

数学的分析によれば、必要とされる試行回数の期待値Θ(nlog(n)) である[注釈 1]。例えば n = 50の場合、全50種類のクーポンを収集するには、平均で約225回の試行が必要となる[注釈 2]

解法

期待値の計算

T を全 n 種のクーポンを収集する時間とし、 tii - 1種のクーポンを収集した後に i 種類目のクーポンを収集する時間とする。Tti確率変数と考える。新しいクーポンを集める確率は pi = (n − (i − 1))/n である。従って、 ti は期待値を1/pi とする幾何分布となる。期待値の線形性により、以下が得られる。

E(T)=E(t1)+E(t2)++E(tn)=1p1+1p2++1pn=nn+nn1++n1=n(11+12++1n)=nHn

ここで、 Hnn 番目の調和数である。 調和数のテンプレート:仮リンクを使用して、以下が得られる。

E(T)=nHn=nlogn+γn+12+O(1/n)

ここで、 γ0.5772156649オイラーの定数である。

マルコフの不等式を使用して、所望の確率の上限を与えることができる。

P(TcnHn)1c

分散の計算

確率変数 ti の独立性を用いて、分散が以下のように計算できる。

Var(T)=Var(t1)+Var(t2)++Var(tn)=1p1p12+1p2p22++1pnpn2<(n2n2+n2(n1)2++n212)=n2(112+122++1n2)<π26n2

なぜならば、 π26=112+122++1n2+ であるからである(バーゼル問題を参照)。

チェビシェフの不等式を使用して、所望の確率を決めることができる。

P(|TnHn|cn)π26c2

テールの推定

異なる上限は、以下の計算から導き出すことができる。Zir を最初の r 回の試行で i 番目のクーポンが引けない事象を表すとする。

P[Zir]=(11n)rer/n

したがって、r=βnlognについてはP[Zir]e(βnlogn)/n=nβとなる。

P[T>βnlogn]=P[iZiβnlogn]nP[Z1βnlogn]nβ+1

拡張と一般化

P(T<nlogn+cn)eec(n)
  • テンプレート:仮リンクテンプレート:仮リンクは、全クーポンを m 枚ずつ収集する必要がある場合として、クーポンコレクター問題を一般化した。各クーポンを m 枚収集するのにかかる時間を Tm とする。彼らは、この場合の期待値が以下を満たしていることを示した。
E(Tm)=nlogn+(m1)nloglogn+O(n)(n)
ここで、 m は固定されている。 m = 1のとき、上述の式が得られる。
  • 同じ一般化のもとでエルデシュとレーニは以下を導いた。
P(Tm<nlogn+(m1)nloglogn+cn)eec/(m1)!(n)
E(T)=0(1i=1n(1epit))dt

関連項目

脚注

注釈

テンプレート:Notelist

出典

テンプレート:Reflist

出典

外部リンク

テンプレート:確率論


引用エラー: 「注釈」という名前のグループの <ref> タグがありますが、対応する <references group="注釈"/> タグが見つかりません