Ми з вами вирішили пограти в гру, де ми по черзі гортаємо монету. Перший гравець, який перевернув 10 головок, виграє гру. Природно, є аргумент про те, хто повинен йти першим.
Симулятори цієї гри показують, що гравець, який перевертає спочатку, виграє на 6% більше, ніж той, хто перевертає другий (перший гравець виграє приблизно 53% часу). Мені цікаво моделювати це аналітично.
Це не біноміальна випадкова величина, оскільки немає фіксованої кількості випробувань (гортайте, поки хтось не отримає 10 головок). Як я можу це моделювати? Це негативний біноміальний розподіл?
Щоб мати можливість відтворити мої результати, ось мій пітон:
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)