トムとエヴァの勝負
トムとエヴァのゲームで遊んでみましょう!
トムは標準的な6面体のサイコロを持っており、その出目は1から6の離散一様分布に従います。エヴァは表が出る確率 p の偏ったコインを持っています。エヴァが表を出すまでに必要なトス回数は幾何分布に従います。
ゲームのルールは次のとおりです。
- トムの得点:出たサイコロの目
- エヴァの得点:表が出るまでに必要なトス回数
- 得点が高い人が勝ち
このゲームをシミュレーションしてください。エヴァのコインで表が出る確率を表す p の候補 [0.1, 0.2, 0.3, 0.5, 0.7, 0.8, 0.9] について、どちらが勝つと予想しますか?
NumPy は np、SciPy の stats モジュールは st としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶモンテカルロ・シミュレーション
演習の手順
- トムのサイコロを1万回振ってシミュレーションし、結果を
die_samplesに代入します。 - エヴァが表を出すまでのコイントスを1万回シミュレーションし、結果を
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)