Mis cálculos no son iguales a los de los demás, así que comparemos.
Si los relanzamientos del Jugador 1 son cuando $x_1$ y $x_2$, y el relanzamiento del Jugador 2 es cuando $y_1$ o menos, pienso (asumiendo $x_2 \le y_1\le x_1$) que la probabilidad de que el Jugador 2 gane es
$$\int_0^{x_2} y_1(x_1x_2y)\, dy \\+\int_{x_2}^{y_1} y_1(x_1x_2y+x_1y- x_1x_2)\, dy \\+ \int_{y_1}^{x_1} (y_1+1)(x_1x_2y+x_1y- x_1x_2)\, dy \\+ \int_{x_1}^1 (y_1+1)(x_1x_2y+x_1y- x_1x_2+y-x_1)\, dy$$ dando
$$p_2=\tfrac12(1-x_1x_2y_1^2-x_1y_1^2+x_1x_2^2y_1+x_1x_2y_1+x_1^2y_1-x_1y_1+y_1-x_1x_2+x_1^2-x_1)$$ y $p_1=1-p_2$. Entonces pienso que las derivadas son cero cuando
- $\frac{dp_1}{dx_2}=0 \implies x_2= \frac{y_1^2-y_1+1}{2y_1}$ y
- $\frac{dp_1}{dx_1}=0 \implies x_1=\frac{\left( x_2+1\right) {{y_1}^{2}}+\left( -{{x_2}^{2}}-x_2+1\right) y_1+x_2+1}{2 (y_1+1)}$ y
- $\frac{dp_2}{dy_1}=0 \implies y_1=\frac{x_1 {{x_2}^{2}}+x_1 x_2+{{x_1}^{2}}-x_1+1}{2 x_1 (x_2+1)}$
así que tres ecuaciones simultáneas no lineales con tres incógnitas y la solución de $(x_1,x_2,y_1) \approx (0.697910,0.593225,0.651477)$ dando $p_1 \approx 0.576461$ y $p_2 \approx 0.423539$.
Comparemos esto con una simulación (usando la misma semilla para reproducibilidad):
firstplayerwins <- function(x1,x2,y1){
x <- runif(1)
if (x < x1){x <- runif(1)}
if (x < x2){x <- runif(1)}
y <- runif(1)
if (y < y1){y <- runif(1)}
return(x > y)
}
set.seed(2023)
sims <- replicate(10^5, firstplayerwins(0.697910, 0.593225, 0.651477))
c(mean(sims), mean(!sims))
# 0.57728 0.42272
así que cerca, teniendo en cuenta el ruido de la simulación.
La respuesta de AnCars parece sugerir el uso de $(\frac23,\frac12,\frac12)$ (como también lo hace Paul Smith) lo cual da
set.seed(2023)
sims <- replicate(10^5, firstplayerwins(2/3, 1/2, 1/2))
c(mean(sims), mean(!sims))
# 0.58361 0.41639
lo cual es peor para el segundo jugador, pero el Jugador 2 cambiando $y_1$ mejorarían la probabilidad $p_2$ (en este caso óptimamente en $c=\frac{23}{36}\approx 0.6389$)
set.seed(2023)
sims <- replicate(10^5, firstplayerwins(2/3, 1/2, 23/36))
c(mean(sims), mean(!sims))
# 0.574 0.426
aunque entonces el Jugador 1 podría cambiar $x_1$ y $x_2$, y así sucesivamente hasta llegar a la solución de derivada cero.
Harish Vemuri sugiere $(0.69,0.55,0.74)$ lo cual nuevamente da una ventaja al Jugador 1
set.seed(2023)
sims <- replicate(10^5, firstplayerwins(0.69, 0.55, 0.74))
c(mean(sims), mean(!sims))
# 0.58287 0.41713
y nuevamente cambiando $y_1$ mejorarían la probabilidad para el Jugador 2
set.seed(2023)
sims <- replicate(10^5, firstplayerwins(0.69, 0.55, 0.62976))
c(mean(sims), mean(!sims))
# 0.57578 0.42422
De hecho, podemos utilizar las consecuencias de las derivadas cero para iterar hacia la solución de equilibrio:
iterated <- function(x1, x2, y1, rounds=20){
for (n in 1:rounds){
x1[n+1] <- ((x2[n]+1)*y1[n]^2 + (-x2[n]^2-x2[n]+1)*y1[n] + x2[n] + 1) /
(2*(y1[n]+1))
x2[n+1] <- (y1[n]^2 - y1[n] + 1) / (2*y1[n])
y1[n+1] <- (x1[n]*x2[n]^2 + x1[n]*x2[n] + x1[n]^2 - x1[n] + 1) /
(2*x1[n]*(x2[n]+1))
}
print(cbind(x1,x2,y1))
}
iterated(2/3, 1/2, 1/2)
dando (a pesar de un pequeño desliz en $x_2$ al principio y luego en $y_1$)
x1 x2 y1
[1,] 0.6666667 0.5000000 0.5000000
[2,] 0.6666667 0.7500000 0.6388889
[3,] 0.6909134 0.6020531 0.7083333
[4,] 0.7115098 0.5600490 0.6562810
[5,] 0.6988111 0.5900093 0.6380170
[6,] 0.6949647 0.6026866 0.6502897
[7,] 0.6976317 0.5940330 0.6550889
[8,] 0.6987173 0.5907996 0.6517936
[9,] 0.6979795 0.5930108 0.6505392
[10,] 0.6977016 0.5938628 0.6513951
[11,] 0.6978917 0.5932808 0.6517233
[12,] 0.6979648 0.5930584 0.6514990
[13,] 0.6979149 0.5932104 0.6514132
[14,] 0.6978958 0.5932686 0.6514718
[15,] 0.6979088 0.5932288 0.6514943
[16,] 0.6979138 0.5932136 0.6514789
[17,] 0.6979104 0.5932240 0.6514730
[18,] 0.6979091 0.5932280 0.6514771
[19,] 0.6979100 0.5932253 0.6514786
[20,] 0.6979104 0.5932242 0.6514775
[21,] 0.6979101 0.5932249 0.6514771