17 votos

¿Cómo puedo modelo de volteretas hasta N éxitos?

Usted y yo decidimos jugar un juego donde nos turnamos lanzar una moneda. El primer jugador para voltear 10 cabezas en total, gana el juego. Naturalmente, no es un argumento acerca de que debe ir primero.

Las simulaciones de este juego demuestra que el jugador voltea primera gana un 6% más que el jugador voltea segundo (el primer jugador gana aprox 53% del tiempo). Estoy interesado en el modelado de este analíticamente.

Esto no es una variable aleatoria binomial, ya que no hay número fijo de ensayos (flip hasta que alguien consigue 10 cabezas). ¿Cómo puedo modelo de esto? Es el negativo de la distribución binomial?


Así como para ser capaz de recrear los resultados de mi, aquí está mi código de python:

import numpy as np
from numba import jit


@jit
def sim(N):

    P1_wins = 0
    P2_wins = 0

    for i in range(N):

        P1_heads = 0
        P2_heads = 0
        while True:

            P1_heads += np.random.randint(0,2)

            if P1_heads == 10:
                P1_wins+=1
                break

            P2_heads+= np.random.randint(0,2)
            if P2_heads==10:
                P2_wins+=1
                break
    return P1_wins/N, P2_wins/N


a,b = sim(1000000)

19voto

jldugger Puntos 7490

La distribución del número de colas antes de alcanzar la $10$ cabezas es Binomial Negativa con parámetros de $10$$1/2$. Deje $f$ ser la función de probabilidad y $G$ la supervivencia de la función: para cada $n\ge 0$, $f(n)$ es el jugador la oportunidad de $n$ colas antes de $10$ jefes y $G(n)$ es el jugador la oportunidad de $n$ o más de las colas antes de $10$ cabezas.

Porque los jugadores hacen rodar de forma independiente, la probabilidad de que el primer jugador gana con rolling exactamente $n$ colas se obtiene multiplicando esa oportunidad por la probabilidad de que el segundo jugador rollos $n$ o más de las colas, igual a $f(n)G(n)$.

Sumando sobre todos los posibles $n$ da el primer jugador de posibilidades de ganar como

$$\sum_{n=0}^\infty f(n)G(n) \approx 53.290977425133892\ldots\%.$$

That is about $3\$ more than half the time.

In general, replacing $%10$ by any positive integer $m$, the answer can be given in terms of a Hypergeometric function: it is equal to

$$1/2 + 2^{-2m-1} {_2F_1}(m,m,1,1/4).$$

When using a biased coin with a chance $p$ of heads, this generalizes to

$$\frac{1}{2} + \frac{1}{2}(p^{2m}) {_2F_1}(m, m, 1, (1 - p)^2).$$


Here is an R simulation of a million such games. It reports an estimate of $0.5325$. A binomial hypothesis test to compare it to the theoretical result has a Z-score of $-0.843$, que es una insignificante diferencia.

n.sim <- 1e6
set.seed(17)
xy <- matrix(rnbinom(2*n.sim, 10, 1/2), nrow=2)
p <- mean(xy[1,] <= xy[2,])
cat("Estimate:", signif(p, 4), 
    "Z-score:", signif((p - 0.532909774) / sqrt(p*(1-p)) * sqrt(n.sim), 3))

15voto

Bauna Puntos 176

Podemos modelar el juego como este:

  • Jugador tira una moneda repetidamente, la obtención de resultados $A_1, A_2, \dots$ hasta llegar a un total de 10 cabezas. Deje que el índice de tiempo de 10 cabezas ser la variable aleatoria $X$.
  • El jugador B hace lo mismo. Deje que el índice de tiempo de 10 cabezas ser la variable aleatoria $Y$, que es un iid copia de $X$.
  • Si $X \le Y$, el Jugador a gana; de lo contrario, el Jugador B gana. Que es, $$\Pr(A\text{ wins}) = \Pr(X > Y) + \Pr(X = Y),$$ while $$\Pr(B\text{ wins}) = \Pr(Y > X) = \Pr(X > Y).$$

La brecha en las tasas de victoria es así $$ \Pr(X = Y) = \sum_k \Pr(X = k, Y = k) = \sum_k \Pr(X = k)^2 .$$

Como se sospechaba, $X$ (e $Y$) se distribuyen esencialmente de acuerdo a una distribución binomial negativa. Notaciones para esto varían, pero en Wikipedia, parametrización, tenemos la cabeza como un "fracaso" y colas como un "éxito"; necesitamos $r = 10$ "fracasos" (cabezas) antes de que el experimento se detiene, y la probabilidad de éxito $p = \tfrac12$. A continuación, el número de "éxitos", que es$X - 10$, $$\Pr(X - 10 = k) = \binom{k + 9}{k} 2^{-10 - k},$$ y la probabilidad de colisión es $$ \Pr(X = Y) = \sum_{k=0}^\infty \binom{k + 9}{k}^2 2^{-2k - 20} ,$$ que Mathematica amablemente nos dice es $\frac{76\,499\,525}{1\,162\,261\,467} \approx 6.6\%$.

Ya que el Jugador a gana también la mitad del resto de partidos, su porcentaje de victorias total es $\frac{619\,380\,496}{1\,162\,261\,467} \approx 53.3\%$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X