Menu
CoddyTech

復習:サイコロ屋台の当たり確率

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 18/64。

challenge icon

チャレンジ

中級

学校祭のサイコロ屋台の価格を決めましょう。来場者はそれぞれサイコロを2個振ります。出た目の合計で景品ボックスが決まり、ゾロ目(両方のサイコロが同じ目)ならボーナスチケットがもらえます。tokensには各ボックスのトークン数が入っています。

合計2から12までの景品ボックスを並べたもの:2と12は12トークン、5と9は3トークン、7は5トークン、それ以外の合計はすべて0トークン

スターターコードでは、firstとsecondに2400回分の来場者のシミュレーション結果が用意されています。プログラムは目標の合計値を読み込みます。次を出力してください。

  1. ゾロ目が出る確率
  2. 目標以上の合計が出る確率
  3. ゾロ目が出た場合に、目標以上の合計が出る確率
  4. 各合計のシミュレーション上の割合をその確率として使った、1回の来場あたりの期待トークン数

確率は小数点以下3桁、トークン数は小数点以下2桁で表示します。別のシミュレーションで、目標を6にした場合:

Chance of doubles: 0.171
Chance of 6 or more: 0.705
Chance of 6 or more after doubles: 0.616
Expected tokens per visit: 2.16

自分で試してみよう

import numpy as np
import pandas as pd

goal = int(input())

# 合計が2から12までの各場合に景品箱に入っているトークンの数を順に示す
tokens = np.array([12, 0, 0, 3, 0, 5, 0, 3, 0, 0, 12])

# 以下の行は変更しないでください:シミュレーションした2400回の訪問で、それぞれサイコロを2個振ります
rng = np.random.default_rng(18)
first = rng.integers(1, 7, size=2400)
second = rng.integers(1, 7, size=2400)

# 以下にコードを書いてください

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ