Мы с тобой решили сыграть в игру, в которой мы по очереди подбрасываем монету. Первый игрок, который перевернет 10 голов, выигрывает игру. Естественно, есть спор о том, кто должен идти первым.
Моделирование этой игры показывает, что игрок, который переворачивает первый, выигрывает на 6% больше, чем игрок, который переворачивает второй (первый игрок выигрывает примерно в 53% времени). Я заинтересован в моделировании этого аналитически.
Это не биноминальная случайная величина, так как не существует фиксированного количества испытаний (переворачивайте, пока кто-то не получит 10 голов). Как я могу смоделировать это? Это отрицательное биномиальное распределение?
Чтобы восстановить мои результаты, вот мой код на 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)