Le problème suivant a été publié sur la page Facebook de Mensa International:
Le message lui-même a reçu plus de 1000 commentaires, mais je n'entrerai pas dans les détails du débat là-bas, car je sais que c'est le paradoxe de la boîte de Bertrand et la réponse est . Ce qui m'intéresse ici, c'est comment répondre à ce problème en utilisant une approche Monte Carlo? Comment est l'algorithme pour résoudre ce problème?
Voici ma tentative:
- Générez nombres aléatoires uniformément répartis entre et .0 1
- Que l'événement de la boîte contient 2 boules d'or (boîte 1) sélectionnées inférieures à la moitié.
- Compter le nombre que moins de et de communiquer avec le résultat que .S
- Puisqu'il est certain d'obtenir une boule d'or si la case 1 est sélectionnée et que c'est seulement 50% de chances d'obtenir une boule d'or si la case 2 est sélectionnée, d'où la probabilité d'obtenir une séquence GG est
Implémentation de l'algorithme ci-dessus dans R:
N <- 10000
S <- sum(runif(N)<0.5)
S/(S+0.5*(N-S))
La sortie du programme ci-dessus est d'environ ce qui correspond presque à la bonne réponse, mais je ne suis pas sûr que ce soit la bonne façon. Existe-t-il un moyen approprié de résoudre ce problème par programme?
x <- boxes[[sample(3, 1)]]
signifie- t - il que vous prenez une boîte de 3 boîtes? Si oui, pourquoi est-ce nécessaire puisque nous savons que vous avez déjà choisi une boule d'or?