En este informe analizaremos el problema de “La ruina del
jugador”, que consiste en una serie de partidas entre Juan y el
Casino. Ambos empiezan con una cantidad determinada de monedas, y van
jugando hasta que uno de los dos se quede sin monedas. La probabilidad
de ganar cada jugada depende de un valor predefinido p, que
representa la probabilidad de que Juan gane una jugada. Nuestro objetivo
es explorar diversos aspectos de este problema a través de simulaciones
realizadas en R, y conjeturar una fórmula para estimar la probabilidad
de que Juan gane, en función de j (sus monedas iniciales) y
m (las monedas totales).
El problema se modela como una serie de partidas entre Juan y el
Casino. En cada partida, Juan y el Casino apuestan una moneda.
Inicialmente, Juan tiene j monedas y el Casino tiene
c monedas, con un total de m = j + c monedas
en juego. Cada partida tiene una probabilidad p de ser
ganada por Juan. Si Juan gana, obtiene una moneda del Casino; si pierde,
entrega una de sus monedas al Casino. La partida continúa hasta que
alguno de los dos se queda sin monedas.
j y c monedas,
respectivamente.p, y la probabilidad de que pierda es
q = 1 - p.p = 0.5.una_jugadaLa función una_jugada(p) simula una jugada entre Juan y
el Casino, con una probabilidad p de que Juan gane. La
función devuelve TRUE si Juan gana la jugada y
FALSE en caso contrario.
una_jugada <- function(p) {
return(runif(1) < p)
}
p = 1/6Simulamos 1000 jugadas con una probabilidad p = 1/6 de
que Juan gane.
set.seed(123)
n_rep <- 1000
p <- 1/6
ganadas <- replicate(n_rep, una_jugada(p))
proporcion_ganadas <- mean(ganadas)
proporcion_ganadas
## [1] 0.176
Juan ganó aproximadamente el 16.7% de las jugadas, lo cual concuerda con la probabilidad teórica.
pProbamos con p = 0.2, 0.5, 0.8 y calculamos las
proporciones de veces que gana Juan.
ps <- c(0.2, 0.5, 0.8)
proporciones <- sapply(ps, function(p) {
mean(replicate(n_rep, una_jugada(p)))
})
proporciones
## [1] 0.195 0.506 0.775
Juan tiene una mayor probabilidad de ganar cuando p
aumenta.
juan_se_arruinaLa función juan_se_arruina(j, m, p) simula una partida
completa hasta que uno de los dos (Juan o el Casino) se quede sin
monedas.
juan_se_arruina <- function(j, m, p) {
casino <- m - j
while (j > 0 && casino > 0) {
if (una_jugada(p)) {
casino <- casino - 1
j <- j + 1
} else {
casino <- casino + 1
j <- j - 1
}
}
return(j == 0) # TRUE si Juan se arruina, FALSE si gana
}
j = 3, m = 5,
p = 1/6Calculamos la proporción de veces que Juan gana la partida.
j <- 3
m <- 5
arruinados <- replicate(n_rep, juan_se_arruina(j, m, p))
proporcion_ganadas <- 1 - mean(arruinados)
proporcion_ganadas
## [1] 0.042
En este caso, Juan ganó aproximadamente el 16% de las partidas.
estimacion_juan_ganaLa función estimacion_juan_gana(j, m, p, n_rep) estima
la proporción de veces que Juan gana simulando n_rep
partidas.
estimacion_juan_gana <- function(j, m, p, n_rep) {
partidas <- replicate(n_rep, juan_se_arruina(j, m, p))
return(1 - mean(partidas)) # Proporción de veces que gana Juan
}
jPara m = 5 y p = 1/6, graficamos la
proporción de veces que Juan gana para
j ∈ {0, 1, 2, 3, 4, 5}.
m <- 5
p <- 1/6
proporciones_j <- sapply(0:m, function(j) {
estimacion_juan_gana(j, m, p, n_rep)
})
plot(0:m, proporciones_j, type = "b", col = "blue", ylim = c(0, 1),
xlab = "Monedas de Juan (j)", ylab = "Proporción de Victorias de Juan",
main = "Proporción de Victorias de Juan para p = 1/6 y m = 5")
p = 0.5 y Diferentes Valores de
mA continuación, graficamos la proporción de veces que Juan gana para
p = 0.5 y diferentes valores de m.
p <- 0.5
ms <- c(10, 20, 30, 50)
par(mfrow = c(2, 2))
for (m in ms) {
proporciones_j <- sapply(0:m, function(j) {
estimacion_juan_gana(j, m, p, n_rep)
})
plot(0:m, proporciones_j, type = "b", col = "red", ylim = c(0, 1),
xlab = "Monedas de Juan (j)", ylab = "Proporción de Victorias de Juan",
main = paste("p = 0.5, m =", m))
}
Basado en los resultados obtenidos para p = 0.5,
conjeturamos que la probabilidad de que Juan gane depende de la
proporción inicial de monedas que tiene en relación con el total de
monedas. Podemos aproximar esta probabilidad como:
\[ P(\text{Juan gana}) \approx \frac{j}{m} \]
\[ P(\text{Juan gana}) \approx \frac{j}{m} \]
Esto significa que, si Juan tiene la mitad de las monedas totales al inicio, su probabilidad de ganar la partida es aproximadamente 0.5.
El problema de la ruina del jugador muestra cómo, incluso con
pequeñas variaciones en la probabilidad p de ganar una
jugada, el comportamiento del juego cambia significativamente. Cuando
p = 0.5, la probabilidad de que Juan gane depende
linealmente de la proporción inicial de monedas que posee. Sin embargo,
a medida que p se aleja de 0.5, la probabilidad de ganar se
vuelve más asimétrica, favoreciendo al jugador con la mayor ventaja.
FIN