Ini adalah masalah penghitungan: ada mungkin penugasan b ulang tahun ke n orang. Dari jumlah tersebut, misalkan q ( k ; n , b ) adalah jumlah penugasan di mana tidak ada ulang tahun yang dibagi lebih dari k orang, tetapi setidaknya satu ulang tahun sebenarnya dibagi oleh k orang. Probabilitas yang kita cari dapat ditemukan dengan menjumlahkan q ( k ; n ,bnbnq(k;n,b)kk untuk nilai k yang sesuaidan mengalikan hasilnya dengan b - n .q(k;n,b)kb−n
Hitungan ini dapat ditemukan dengan tepat untuk nilai kurang dari beberapa ratus. Namun, mereka tidak akan mengikuti formula langsung: kita harus mempertimbangkan pola cara di mana ulang tahun dapat ditetapkan . Saya akan mengilustrasikan ini sebagai pengganti memberikan demonstrasi umum. Misalkan n = 4 (ini adalah situasi menarik terkecil). Kemungkinannya adalah:nn=4
- Setiap orang memiliki hari ulang tahun yang unik; kodenya adalah {4}.
- Tepatnya dua orang berbagi ulang tahun; kodenya adalah {2,1}.
- Dua orang memiliki satu hari ulang tahun dan dua lainnya memiliki yang lainnya; kodenya adalah {0,2}.
- Tiga orang berbagi ulang tahun; kodenya adalah {1,0,1}.
- Empat orang berbagi ulang tahun; kodenya adalah {0,0,0,1}.
Secara umum, kode adalah tupel hitungan yang k{a[1],a[2],…}elemen nya menentukan berapa banyak tanggal lahir berbeda yang dibagikan olehorang-orang k . Jadi, khususnya,kthk
1a[1]+2a[2]+...+ka[k]+…=n.
Perhatikan, bahkan dalam kasus sederhana ini, bahwa ada dua cara untuk mencapai maksimum dua orang per ulang tahun: satu dengan kode dan satu lagi dengan kode{0,2} .{2,1}
Kami dapat langsung menghitung jumlah kemungkinan tugas ulang tahun yang sesuai dengan kode yang diberikan. Nomor ini adalah produk dari tiga istilah. Salah satunya adalah koefisien multinomial; ia menghitung jumlah cara partisi orang ke sebuah [ 1 ] kelompok 1 , sebuah [ 2 ] kelompok 2 , dan seterusnya. Karena urutan kelompok tidak masalah, kita harus membagi koefisien multinomial ini dengan sebuah [ 1 ] ! a [ 2 ] ! ⋯na[1]1a[2]2a[1]!a[2]!⋯; kebalikannya adalah masa jabatan kedua. Terakhir, susun grup dan berikan mereka masing-masing ulang tahun: ada kandidat untuk grup pertama, ⋯ ( b - m + 1b untuk yang kedua, dan seterusnya. Nilai-nilai ini harus dikalikan bersama, membentuk istilah ketiga. Ini sama dengan "produk faktorial" b ( a [ 1 ] + a [ 2 ] + ⋯ ) di mana b ( m ) berarti b ( b - 1 )b−1b(a[1]+a[2]+⋯)b(m) .b(b−1)⋯(b−m+1)
Ada rekursi yang jelas dan cukup sederhana yang menghubungkan hitungan untuk suatu pola dengan hitungan untuk pola { a [ 1 ] , ... , a [ k - 1 ] } . Ini memungkinkan penghitungan cepat penghitungan untuk nilai n sederhana . Secara khusus, sebuah [ k ] merupakan suatu [ orang masing-masing. Setelah ini sebuah [ k ]{a[1],…,a[k]}{a[1],…,a[k−1]}na[k] tanggal lahir bersama oleh persis ka[k]ka[k]kelompok orang telah diambil dari n orang, yang dapat dilakukan dalam x cara yang berbeda (katakanlah), masih menghitung jumlah cara untuk mencapai pola { a [ 1 ] , ... , a [ k - 1 ]knx antara orang-orang yang tersisa. Mengalikan ini dengan x memberikan rekursi.{a[1],…,a[k−1]}x
Saya ragu ada rumus bentuk tertutup untuk , yang diperoleh dengan menjumlahkan jumlah untuk semua partisiq(k;n,b) yang istilah maksimumnya sama dengan k . Izinkan saya menawarkan beberapa contoh:nk
Dengan (lima kemungkinan ulang tahun) dan n =b=5 (empat orang), kami memperolehn=4
q(1)q(2)q(3)q(4)=q(1;4,5)=360+60=120=420=80=5.
Di mana, misalnya, kesempatan bahwa tiga orang atau lebih dari empat orang berbagi "ulang tahun" yang sama (dari tanggal yang mungkin) sama dengan ( 80 + 5 ) /5 .(80+5)/625=0.136
Sebagai contoh lain, ambil dan n = 23 . Berikut adalah nilai-nilai q ( k ; 23 , 365 ) untuk k yang terkecilb=365n=23q(k;23,365)k (hanya untuk enam sig ara):
k=1:k=2:k=3:k=4:k=5:k=6:k=7:k=8:0.492700.4945920.01253080.0001728441.80449E−61.48722E−89.92255E−115.45195E−13.
Dengan menggunakan teknik ini, kita dapat dengan mudah menghitung bahwa ada sekitar 50% kemungkinan (setidaknya) tabrakan ulang tahun tiga arah di antara 87 orang, 50% kemungkinan tabrakan empat arah di antara 187, dan kemungkinan 50% dari tabrakan lima arah di antara 310 orang. Perhitungan terakhir itu mulai memakan waktu beberapa detik (dalam Mathematica, bagaimanapun) karena jumlah partisi yang dipertimbangkan mulai bertambah besar. Untuk secara substansial lebih besar kita membutuhkan perkiraan.n
Satu pendekatan diperoleh dengan cara distribusi Poisson dengan harapan , karena kita dapat melihat penugasan ulang tahun yang timbul dari b hampir (tetapi tidak cukup) variabel Poisson independen masing-masing dengan harapan n / b : variabel untuk setiap kemungkinan ulang tahun yang diberikan menjelaskan berapa banyak dari n orang memiliki ulang tahun itu. Distribusi maksimum karena itu kira-kira F ( k ) b di mana F adalah CDF Poisson. Ini bukan argumen yang keras, jadi mari kita lakukan sedikit pengujian. Perkiraan untuk n = 23 , bn/bbn/bnF(k)bFn=23 memberib=365
k=1:k=2:k=3:k=4:0.4987830.4968030.0141870.000225115.
Dengan membandingkan dengan yang sebelumnya Anda dapat melihat bahwa probabilitas relatif bisa menjadi buruk ketika mereka kecil, tetapi probabilitas absolut diperkirakan cukup baik sekitar 0,5%. Pengujian dengan berbagai dan b menunjukkan perkiraan biasanya tentang kebaikan ini.nb
Untuk menyelesaikannya, mari kita pertimbangkan pertanyaan awal: ambil (jumlah pengamatan) dan b = 1n=10,000 (jumlah kemungkinan "struktur," sekitar). Perkiraan distribusi untuk jumlah maksimum "ulang tahun bersama" adalahb=1000000
k=1:k=2:k=3:k=4:k>4:00.8475+0.1520+0.0004+<1E−6.
(Ini adalah perhitungan cepat.) Jelas, mengamati satu struktur 10 kali dari 10.000 akan sangat signifikan. Karena dan b keduanya besar, saya berharap perkiraannya bekerja dengan cukup baik di sini.nb
Kebetulan, seperti yang Shane katakan, simulasi dapat memberikan pemeriksaan yang bermanfaat. Simulasi Mathematica dibuat dengan fungsi seperti
simulate[n_, b_] := Max[Last[Transpose[Tally[RandomInteger[{0, b - 1}, n]]]]];
yang kemudian diulang dan diringkas, seperti dalam contoh ini yang menjalankan 10.000 iterasi dari , b = 1n=10000 kasus:b=1000000
Tally[Table[simulate[10000, 1000000], {n, 1, 10000}]] // TableForm
Outputnya adalah
2 8503
3 1493
4 4
Frekuensi-frekuensi ini sangat sesuai dengan yang diprediksi oleh perkiraan Poisson.