আপনি এবং আমি এমন একটি গেম খেলার সিদ্ধান্ত নিয়েছি যেখানে আমরা মুদ্রা উল্টিয়ে পাল্টে ফেলি। সর্বমোট 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)