El siguiente problema ha sido publicado en la página de Facebook de Mensa International:
La publicación en sí recibió más de 1000 comentarios, pero no entraré en detalles sobre el debate allí, ya que sé que esta es la paradoja de Bertrand y la respuesta es . Lo que me interesa aquí es cómo se responde a este problema utilizando un enfoque de Monte Carlo. ¿Cómo es el algoritmo para resolver este problema?
Aquí está mi intento:
- Genere números aleatorios distribuidos uniformemente entre y .0 1
- Deje que el evento de la caja contenga 2 bolas de oro (casilla 1) seleccionadas, sea menos de la mitad.
- Contar los números que menos de y llame el resultado como .
- Dado que es seguro obtener una bola de oro si se selecciona la casilla 1 y solo hay un 50% de posibilidades de obtener una bola de oro si se selecciona la casilla 2, por lo tanto, la probabilidad de obtener una secuencia GG es
Implementando el algoritmo anterior en R:
N <- 10000
S <- sum(runif(N)<0.5)
S/(S+0.5*(N-S))
La salida del programa anterior es de alrededor de que casi coincide con la respuesta correcta, pero no estoy seguro de que esta sea la forma correcta. ¿Hay una manera adecuada de resolver este problema mediante programación?
x <- boxes[[sample(3, 1)]]
Significa que tomas una caja de 3 cajas? Si es así, ¿por qué es necesario ya que sabemos que ya elegiste una bola de oro?