Analisis
Mari kita tebak dan kemudian secara sistematis meningkatkan tebakan itu sampai benar.
Mulailah dengan menebak jawabannya 1. Tentu saja itu salah. Untuk melihat betapa salahnya, beri label satu pasangan di setiap pasangan "Merah" dan lainnya "Biru". Dari sudut pandang setiap individu Merah, ada a1 / ( 2 n - 1 )kemungkinan pasangan (Biru) mereka akan duduk di hadapan mereka. Karena adan individu merah, mari kita kurangi n × 1 / ( 2 n - 1 ) dari tebakan awal itu.
Tapi tunggu - itu masih kurang tepat, karena semua pasangan dari pasangan telah ganda dihitung. Jika satu pasangan duduk berseberangan, masih adan - 1 pasangan, 2 n - 2 tempat, dan dari sudut pandang individu Merah mana pun, kemungkinan bahwa mereka adalah bagian dari pasangan kedua 1 / ( 2 n - 3 ). Karena itu kita perlu menambahkan kembali .(n2) ×1/(2n-1)×1/(2n-3)
Tetapi sekarang kami telah menghitung kontribusi yang kurang untuk hasil dari tiga kali lipat pasangan, yang perlu kita koreksi. Dan begitu seterusnya, sampai akhirnya kami telah ditampung semua pasangan dalam formula. (Ini, tentu saja, hanya Prinsip Inklusi-Pengecualian dalam tindakan.) n
Formula yang dihasilkan adalah
∑i = 0n( - 1)saya(nsaya)1( 2 n - 1 ) ( 2 n - 3 ) … ( 2 n - 2 i + 1 )=1F1( - n , - n +12, -12) .(1)
Komputasi
Untuk bilangan bulat positif , fungsi hypergeometric confluent Kummer adalah polinomial derajat dalam . Dari Transformasi Kummern 1F1( - n , - n +12, z)nz
1F1( - n , - n +12, -12) =e- 1 / 2 1F1(12, - n +12,12)
mudah untuk menyimpulkan bahwa nilai pembatas probabilitas ketika bertambah besar adalah . Konvergensi lambat: Anda harus mengalikan dengan untuk mendapatkan digit desimal tambahan. Namun demikian, nilai-nilai akurat (presisi ganda) dapat dengan cepat dihitung untuk setiap dengan mencatat bahwa istilah-istilah dalam jumlah kiri tumbuh lebih lambat daripada kekuatan . Jadi, pada saat mencapai , nilai-nilai baru pada dasarnya akan nol dibandingkan dengan (dan pada kenyataannya analisis yang lebih dekat menunjukkan bahwa menghentikan penjumlahan denganne- 1 / 2≈ 0.6065306597 …n10n( 1 )- 1 / 2saya52e- 1 / 2i = 45 akan bekerja).
Formula ini akan dipecah untuk lebih dari 10.000.000 di lingkungan komputasi tertentu karena ketidaktepatan dalam fungsi log Gamma. Masalah muncul dari pembatalan perbedaan yang timbul saat menghitung istilah dalam seri. Perkiraan yang sangat baik untuk perbedaan-perbedaan tersebut ketika cukup besar dapat ditemukan dalam hal , di mana adalah turunan dari ( fungsi digamma ). Itu diimplementasikan dalam kode di bawah ini, dengan sedikit biaya dalam waktu perhitungan.nnψ(n−1/4)ψlogΓ
Penerapan
R
Kode berikut menghitung sekitar 20.000 nilai presisi ganda per detik.
f <- function(n) {
h <- function(n) {
ifelse(n < 1e6, lfactorial(n) - lfactorial(n-1/2), digamma(n+3/4)/2)
}
m <- min(n, 46)
k <- 0:m
x <- exp(h(n) - h(n-k) - lfactorial(k) - k*log(2)) * (-1)^k
sum(x)
}
Sebagai contoh, mari kita lacak seberapa dekat log(f(n))
nilai pembatasnya untuk besar . Seperti diklaim di atas, masing-masing faktor in menambahkan satu tempat desimal untuk membatasi akurasi. Oleh karena itu mari kita lihat tempat desimal dalam logaritma rasio ke , untuk seluruh kekuatan dari hingga :−1/2n10nnthf(n)e−1/210n=101n=1014
> round(sapply(1:14, function(n) 10^n * (log(f(10^n)) + 1/2)), 3)
[1] -0.255 -0.251 -0.250 ... -0.250 -0.249 -0.249 -0.400
(Tujuh nilai telah dihilangkan dari tengah, semua sama dengan -0.250
.) Pola konstannya jelas. Pada akhirnya, dengan , itu mulai rusak, menunjukkan hilangnya presisi. Memperbaiki ini kemungkinan akan membutuhkan aritmatika presisi tinggi.n=1014
Mengapa metode intuitif bekerja?
Pikirkan meja sebagai kumpulan pasangan; yaitu, alih-alih persilangan tradisional jembatan Barat Laut-Timur-Selatan-Selatan, kita melihatnya seperti meja dengan dua baris:
Utara selatan
Barat-Timur
Jika kita mengkondisikan Utara sebagai mitra senior dari satu pasangan, maka ada peluang 1/3 bahwa Selatan akan menjadi mitra junior dari pasangan itu, yang kemudian memaksa Barat dan Timur untuk menjadi pasangan, dan peluang 2/3 bahwa Selatan akan menjadi anggota dari pasangan lain, dan kemudian set terakhir juga pasti bukan pasangan.
Ketika kita memperluas dari ke , kita cukup menambahkan baris ke tabel:n=2 n=3
Barat Laut-Tenggara
Utara selatan
Barat-Timur
Jika kita menetapkan Northwest sebagai selalu mitra senior dari pasangan pertama, maka jelas ada peluang bahwa ada pasangan berpasangan dan kita bisa berhenti, dan peluang yang tidak ada, dan kita bisa melanjutkan, dengan masalah yang lebih kecil .15 45
Perhatikan bahwa masalah yang lebih kecil adalah masalah yang berbeda , yang 'kebetulan' sama. Alih-alih memiliki empat orang dan dua pasangan masuk ke masalah, kita harus memiliki satu pasangan dan dua lajang, dan kemungkinan pasangan itu berpasangan adalah (untuk alasan yang sama seperti sebelumnya).13
Ini memberi kita pendekatan rekursif; kita dapat berbicara tentang masalah dengan dua parameter, , di mana merujuk pada jumlah orang dan mengacu pada jumlah pasangan. Jadi memberi kita (yang mengatakan, empat pasangan dengan 8 orang memberi kita kemungkinan kegagalan ketika menetapkan pertama pasangan, dan kemudian peluang kegagalan untuk 2 pasangan dan 6 orang dalam kasus di mana kita bertahan hidup), dan kemudian untuk kita perlu memperluas empat kasus:(n,c) n c (8,4) 67(6,2) 17 (6,2)
Pasangan berikutnya adalah lajang:2∗16∗5(4,2)
Satu adalah lajang, yang lain dalam pasangan:4∗2∗26∗5(4,1)
Keduanya dalam pasangan yang berbeda: (Perhatikan bahwa , untuk alasan yang jelas.)4∗26∗5(4,0) (4,0)=1
Keduanya berada dalam pasangan yang sama: (Ini adalah kondisi kerugian)4∗16∗5
Jika Anda melakukan dan menghitung semua matematika, saya pikir Anda berakhir dengan untuk kasus 8 orang, yang bukan . (Ini lebih tinggi karena kemungkinan kita benar-benar memecah pasangan sejak dini.)2035 67815
Saya tidak mengetahui adanya trik langsung yang memungkinkan Anda untuk hanya menggunakan formula kombinatorik untuk mendapatkan jawaban dalam bentuk tertutup, tetapi sepertinya ada satu kemungkinan. [edit: Lihat jawaban whuber untuk solusinya.]
sumber