これは簡単に計算できませんが、は大きすぎません。(この数は、クーポンの収集中に追跡する必要がある可能性のある状態をカウントします。)(m+kk)
答えを理解するためのシミュレーションから始めましょう。ここでは、100万回レゴのフィギュアを集めました。このプロットの黒い線は、10の異なる数字のうち少なくとも3つを収集するために必要な購入数の頻度を追跡します。
灰色の帯は、各カウントのおおよその両側95%信頼区間です。その下にはすべて赤い曲線があります。これが真の値です。
n=12k=3m=10xi00xi11xi22xi33ijk=0k=t∏kj=0xijj
i0i0/ni1/n
xi00xi11xi22xi33→1n(i0xi0−10xi1+11xi22xi33+⋯+i3xi00xi11xi2−12xi33).
(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx120=xn0p(n+kk)∏kj=0xijjpi3≥t(m+1)(n+kk)
6nk=21610−17
n = 12;
threshold = 10;
k = 3;
(* Draw one object randomly from an urn with `n` of them *)
draw[p_] :=
Expand[Sum[Subscript[x, i] D[#, Subscript[x, i - 1]], {i, 1, k}] +
Subscript[x, k] D[#, Subscript[x, k]] & @ p];
(* Find the chance that we have collected at least `k` each of `threshold` objects *)
f[p_] := Sum[
Coefficient[p, Subscript[x, k]^t] /.
Table[Subscript[x, i] -> 1, {i, 0, k - 1}], {t, threshold, n}]
(* Compute the chances for a long series of draws *)
q = f /@ NestList[draw[#]/n &, Subscript[x, 0]^n, 6 n k];
計算に約2秒かかる(シミュレーションよりも速い!)結果は、描画回数によってインデックスが付けられた確率の配列です。これは、カウントの関数として購入を終了する確率であるその違いのプロットです。
これらは正確に、最初の図で赤い背景曲線を描くために使用される数字です。(カイ2乗検定は、シミュレーションがこの計算と有意差がないことを示します。)
1−q50.7619549386733