Il seguente problema è stato pubblicato sulla pagina Facebook di Mensa International:
Il post stesso ha ricevuto oltre 1000 commenti, ma non entrerò nei dettagli del dibattito in quanto so che questo è il paradosso del box di Bertrand e la risposta è . Ciò che mi interessa qui è come si può rispondere a questo problema utilizzando un approccio Monte Carlo? Come è l'algoritmo per risolvere questo problema?
Ecco il mio tentativo:
- Genera numeri casuali distribuiti uniformemente tra e .0 1
- Lascia che l'evento della scatola contenga 2 palline d'oro (casella 1) selezionate siano meno della metà.
- Contare i numeri che meno di e chiamare il risultato come .S
- Poiché è una certezza ottenere una palla d'oro se la casella 1 è selezionata ed è solo il 50% di probabilità di ottenere una palla d'oro se la casella 2 è selezionata, quindi la probabilità di ottenere una sequenza GG è
Implementazione dell'algoritmo sopra in R:
N <- 10000
S <- sum(runif(N)<0.5)
S/(S+0.5*(N-S))
L'output del programma sopra è di circa che corrisponde quasi alla risposta corretta, ma non sono sicuro che questo sia il modo corretto. Esiste un modo corretto per risolvere questo problema a livello di codice?
x <- boxes[[sample(3, 1)]]
significa che si prende una scatola da 3 scatole? Se è così, perché è necessario poiché sappiamo che hai già scelto una palla d'oro?