Masalah berikut telah diposting di Halaman Facebook Mensa International:
Posting itu sendiri menerima 1000+ komentar tetapi saya tidak akan membahas detail tentang perdebatan di sana karena saya tahu ini adalah paradoks kotak Bertrand dan jawabannya adalah . Apa yang membuat saya tertarik di sini adalah bagaimana seseorang menjawab masalah ini menggunakan pendekatan Monte Carlo? Bagaimana algoritma untuk mengatasi masalah ini?
Ini usaha saya:
- Hasilkan angka acak yang terdistribusi secara seragam antara 0 dan 1 .
- Biarkan acara kotak berisi 2 bola emas (kotak 1) yang dipilih kurang dari setengah.
- Menghitung angka yang kurang dari dan memanggil hasil sebagai S .
- Karena kepastian untuk mendapatkan bola emas jika kotak 1 dipilih dan itu hanya peluang 50% untuk mendapatkan bola emas jika kotak 2 dipilih, maka kemungkinan mendapatkan urutan GG adalah
Menerapkan algoritma di atas dalam R:
N <- 10000
S <- sum(runif(N)<0.5)
S/(S+0.5*(N-S))
Output dari program di atas sekitar yang hampir cocok dengan jawaban yang benar tetapi saya tidak yakin ini adalah cara yang benar. Apakah ada cara yang tepat untuk menyelesaikan masalah ini secara terprogram?
sumber
x <- boxes[[sample(3, 1)]]
berarti Anda mengambil kotak dari 3 kotak? Jika demikian, mengapa itu perlu karena kami tahu Anda sudah memilih bola emas?boxes <- list(c(0, 1), c(1, 1))
lalux <- boxes[[sample(2, 1)]]
, tetapi karena ini waktu komputasi yang hampir sama, mengapa tidak menggunakan langkah ekstra yang persis menyerupai proses pengambilan sampel? Itu tidak mengubah apa pun tentang hasilnya, tetapi membuat simulasi eksplisit.mean
).return(NA)
mengembalikan nilai yang hilang dan kemudianmean(, na.rm = TRUE)
digunakan, di manana.rm = TRUE
argumen memberitahu fungsi untuk mengabaikan nilai yang hilang. Dalam bahasa pemrograman lain ini dapat dilakukan secara berbeda, misalnya menggunakancontinue
ataupass
kata kunci.Saya merasa
S/(S+0.5*(N-S))
perhitungan Anda tidak benar-benar simulasiCoba sesuatu seperti ini
sumber
Mengapa tidak daftar kasus saja?
Di sini: G adalah untuk "emas", S adalah untuk "perak", modal untuk ekstraksi awal:
Gg
gG
Gs
... semua kasing lainnya mengekstraksi perak awal (S) dan tidak memenuhi syarat (ekstraksi awal G).
Tersebut, P (g | G) = 2/3.
sumber