आप और मैं एक खेल खेलने का फैसला करते हैं जहाँ हम एक सिक्का उछालते हैं। कुल में 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)