Ini tidak mudah untuk dihitung, tetapi dapat dilakukan, asalkan tidak terlalu besar. (Nomor ini menghitung status yang mungkin Anda perlu lacak saat mengumpulkan kupon.)(m+kk)
Mari kita mulai dengan simulasi untuk mendapatkan jawaban. Di sini, saya mengumpulkan angka LEGO satu juta kali. Garis hitam dalam plot ini melacak frekuensi jumlah pembelian yang diperlukan untuk mengumpulkan setidaknya tiga dari sepuluh angka yang berbeda.
Pita abu-abu adalah perkiraan interval kepercayaan 95% dua sisi untuk setiap hitungan. Di bawahnya semua adalah kurva merah: ini adalah nilai sebenarnya.
Untuk mendapatkan nilai yang benar, pertimbangkan keadaan saat Anda mengumpulkan angka, di mana ada jenis yang mungkin dan Anda ingin mengumpulkan setidaknya dari jenis yang berbeda. Satu-satunya informasi yang perlu Anda perhatikan adalah berapa banyak angka yang belum Anda lihat, berapa banyak yang Anda lihat hanya sekali, berapa banyak yang telah Anda lihat dua kali, dan berapa banyak Anda telah melihat tiga kali atau lebih . Kita dapat mewakili ini dengan nyaman sebagai monomial mana adalah jumlah yang terkait, indeks dari hingga . Secara umum, kita akan menggunakan monomial dalam bentukn=12k=3m=10xi00xi11xi22xi33ijk=0k=t∏kj=0xijj .
Setelah mengumpulkan objek acak baru, itu akan menjadi salah satu objek tak terlihat dengan probabilitas , salah satu objek yang terlihat hanya sekali dengan probabilitas , dan sebagainya. Hasilnya dapat dinyatakan sebagai kombinasi linear dari monomial,i0i0/ni1/n
xi00xi11xi22xi33→1n(i0xi0−10xi1+11xi22xi33+⋯+i3xi00xi11xi2−12xi33).
Ini adalah hasil dari penerapan operator diferensial linier ke monomial. Jelas, aplikasi berulang ke keadaan awal akan memberikan polinomial , memiliki paling banyak istilah , di mana koefisien adalah kesempatan untuk berada dalam kondisi yang ditunjukkan oleh eksponennya. Kita hanya perlu fokus pada persyaratan dalam dengan : jumlah koefisien mereka akan menjadi peluang telah menyelesaikan pengumpulan kupon. Oleh karena itu seluruh perhitungan membutuhkan hingga(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx120=xn0p(n+kk)∏kj=0xijjpi3≥t(m+1)(n+kk) perhitungan mudah pada setiap langkah, diulang sebanyak yang diperlukan untuk hampir pasti berhasil dengan koleksi.
Mengekspresikan proses dengan cara ini memungkinkan untuk mengeksploitasi efisiensi sistem aljabar komputer. Di sini, misalnya, adalah solusi Mathematica umum untuk menghitung peluang hingga hasil imbang. Itu menghilangkan beberapa kemungkinan, tetapi peluang totalnya kurang dari , memberi kita gambaran distribusi yang hampir lengkap.10 - 176nk=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];
Hasilnya, yang membutuhkan waktu sekitar dua detik untuk menghitung (lebih cepat dari simulasi!) Adalah berbagai probabilitas yang diindeks oleh jumlah undian. Berikut adalah plot perbedaannya, yang merupakan probabilitas untuk mengakhiri pembelian Anda sebagai fungsi dari penghitungan:
Ini adalah angka-angka yang digunakan untuk menggambar kurva latar belakang merah pada gambar pertama. (Uji chi-squared menunjukkan simulasi tidak berbeda secara signifikan dari perhitungan ini.)
Kami dapat memperkirakan jumlah undian yang diharapkan dengan menjumlahkan ; hasilnya harus baik hingga 14-15 tempat desimal. Saya mendapatkan (yang benar di setiap digit, sebagaimana ditentukan oleh perhitungan yang lebih panjang).50.76195493867331−q50.7619549386733