การแข่งพนันระหว่าง Tom กับ Eva
ถึงเวลาเล่นเกมระหว่าง Tom กับ Eva แล้ว!
ทบทวนกันสักนิด — Tom มีลูกเต๋า 6 หน้าทั่วไป ผลที่ได้จากการทอยจะเป็นไปตาม discrete uniform distribution ในช่วง 1 ถึง 6 ส่วน Eva มีเหรียญที่ลำเอียง โดยมีความน่าจะเป็น p ที่จะออกหัว จำนวนครั้งที่ Eva ต้องโยนเหรียญจนได้หัวจะเป็นไปตาม geometric distribution
กติกาของเกมนี้มีดังนี้:
- คะแนนของ Tom: ค่าที่ได้จากการทอยลูกเต๋า
- คะแนนของ Eva: จำนวนครั้งที่ต้องโยนเหรียญจนได้หัว
- ผู้ที่ได้คะแนนสูงกว่าจะเป็นผู้ชนะ
โจทย์ของคุณคือการจำลองเกมนี้! สำหรับรายการค่า p ที่เป็นไปได้ [0.1, 0.2, 0.3, 0.5, 0.7, 0.8, 0.9] ซึ่งแทนความน่าจะเป็นที่เหรียญของ Eva จะออกหัว คิดว่าใครจะชนะ?
มีการนำเข้า NumPy เป็น np และโมดูล stats ของ SciPy เป็น st แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- จำลองการทอยลูกเต๋าของ Tom จำนวน 10,000 ครั้ง แล้วกำหนดผลลัพธ์ให้กับตัวแปร
die_samples - จำลองการโยนเหรียญของ Eva จนได้หัว จำนวน 10,000 ครั้ง แล้วกำหนดผลลัพธ์ให้กับตัวแปร
coin_samples
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
for p in [0.1, 0.2, 0.3, 0.5, 0.7, 0.8, 0.9]:
low = 1
high = 7
# Simulate rolling Tom's die 10,000 times
die_samples = ____
# Simulate Eva's coin flips to land heads 10,000 times
coin_samples = ____
diff = np.mean(die_samples - coin_samples)
print(diff)