始める無料で始める

トムとエヴァの勝負

トムとエヴァのゲームで遊んでみましょう!

トムは標準的な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)
コードを編集して実行