EL PROBLEMA DE MONTY HALL

Marcos Matabuena

07/10/2015

EL PROBLEMA DE MONTY HALL

El Problema de Monty Hall es un problema de probabilidad que está inspirado por el concurso televisivo estadounidense Let’s Make a Deal (Hagamos un trato) . Su nombre proviene del presentador, Monty Hall.
Con titulo

En este concurso, el concursante escoge una puerta entre tres, y su premio consiste en lo que se encuentra detrás. Una de ellas oculta un coche, y tras las otras dos hay una cabra. Sin embargo, antes de abrirla, el presentador, que sabe dónde está el premio, abre una de la s otras dos puertas y muestra que detrás de ella hay una cabra. Ahora tiene el concursante una última oportunidad de cambiar la puerta escogida .
La pregunta que surge es: ¿Cúal sería la estrategia correcta?

Simulación en R

Código R

# Sea X una variable aleatoria que toma el valor 0 si en la puerta hay un coche y 1 si es una cabra
# Utilizamos una función para el problema
res= function(n){
  # Generamos n simulaciones de las posiciones de los objetos en cada puerta
puertas=replicate(n,sample(c(1,1,0),replace=F))
# Expresamos los resultados del experimento en una matrix nx3
experimento= t(puertas)
# generamos n eleciones aleatorias del juego del concursante
jugador= replicate(n,sample(c(1,2,3),size=1))
# variable auxiliar necesaria para devolver la posicion del coche dentro cada fila de la matriz  
idpos= 3*(0:(n-1))
# Puerta donde esta el coche
poselm= which(t(experimento==0))-idpos
# Numero de veces donde acertamos donde esta el coche si no cambiamos la puerta
cuantos=sum(jugador==poselm)
# Probabilidad de acertar en nuestra elección inicial
probnc= cuantos/n
# Probabilidad de acertar si cambiamos de puerta
probc= 1-probnc
probnc
probc
resultados= c(probc)
}

Para conseguir una aproximación asintótica fiable debemos hacer que el número de simulaciones tienda a infinito, en este caso fijamos el número de simulaciones a $n=1000000.

probc= res(1000000)
probnc= 1-probc

Si decidimos no cambiar la puerta , la probabilidad de éxito de acertar donde esta el coche es:

## [1] 0.333799

En caso contrario:

## [1] 0.666201

En definitiva, la mejor estrategia es cambiar de puerta, tenemos el doble de probabilidades

Simulación en R

Comportamiento de la distribución asintótica con diferentes tamaños muestrales

Probabilidad de acercar el coche si cambiamos de puerta

Resolución matemática

Sean \(X(\omega,P)\to\{1,2,3\}\) una variable aleatoria que indica la probabilidad de que se encuentre el coche en cada una de las puertas y sea \(Y(\omega,P)\to\{1,2,3\}\) la variable aleatoria que se define como la puerta que escoge el concurstante al azar mientras \(Z(\omega,P)\to\{coche,cabra\}\) la variable aleatoria del elemento que seleciona el presentador, es claro que \(P(M=cabra)=1\).
Tenemos que calcular:
\(P(X=Y|M=cabra)\)

es decir la probabilidad de que el concursante escogiendo al azar la puerta acierte donde esta el coche.
Aplicando la definición de la probabilidad condicionada:
\(P(X=Y|Z=cabra)=\frac{P(X=Y\cap Z=Cabra)}{P(Z=Cabra)}=P(X=Y)=\frac{1}{3}\)

Mientras que la probabilidad de acertar la posición del coche si cambiamos la puerta es:
\(P(X\neq Y|Z=cabra)=1-P(X=Y|Z=cabra)=\frac{2}{3}\)

Siendo los valores que obteniamos de manera aproximada con la simulación.

Problema modificado

Problema con 4 puertas simulado

# Sea X una variable aleatoria que toma el valor 0 si en la puerta hay un coche y 1 si es una cabra
# Utilizamos una función para el problema
res= function(n){
  # Generamos n simulaciones de las posiciones de los objetos en cada puerta
puertas=replicate(n,sample(c(1,1,1,0),replace=F))
# Expresamos los resultados del experimento en una matrix nx3
experimento= t(puertas)
# generamos n eleciones aleatorias del juego del concursante
jugador= replicate(n,sample(c(1,2,3,4),size=1))
# variable auxiliar necesaria para devolver la posicion del coche dentro cada fila de la matriz  
idpos= 4*(0:(n-1))
# Puerta donde esta el coche
poselm= which(t(experimento==0))-idpos
# Numero de veces donde acertamos donde esta el coche si no cambiamos la puerta
cuantos=sum(jugador==poselm)
# Probabilidad de acertar en nuestra elección inicial
probnc= cuantos/n
# Probabilidad de acertar si cambiamos de puerta
probc= 1-probnc
probnc
probc
resultados= c(probc)
}

Para conseguir una aproximación asintótica fiable debemos hacer que el número de simulaciones tienda a infinito, en este caso fijamos el número de simulaciones a $n=1000000.

probc= res(1000000)
probnc= 1-probc

Si decidimos no cambiar la puerta , la probabilidad de éxito de acertar donde esta el coche es:

## [1] 0.250375

En caso contrario:

## [1] 0.749625

En definita, es mejor tambien en esta opción cambiar de puerta.