情報I 学習サイト
任意(範囲内の発展)60分

確率的モデルのシミュレーション

任意教材です。モデル化・シミュレーションの学習例として、共通テスト情報Iの範囲内で発展的に取り組めます。

学習目標
学習の作業時間の目安
読む(確率的モデルの仮定)10分
操作(待ち行列をシミュレーション)15分
操作(感染拡大をシミュレーション)20分
自力演習(結果の読み取り)10分
振り返り5分

確率的モデルでは、同じ条件でも乱数によって結果が変わります。ここでは仮定を明示し、条件を変えたり試行を繰り返したりして、結果の違いを観察します。

1. 待ち行列: 自動販売機の待ち時間

利用者は平均3分に1人来て、購入には常に2分かかるとします。到着間隔を毎回3分と固定すれば待ち時間はできません。一方、到着間隔を0〜6分の一様乱数にすると、平均は同じ3分でも、短い間隔が続いたときに列ができます。

単純化した設定です。利用時間は全員2分、到着は一列・窓口1台とし、利用者は途中で列を離れないものとします。

条件を選んでシミュレーションしてください。

表は横にスクロールして列を確認できます。

人到着 (分)待ち (分)利用開始 (分)利用終了 (分)
実行後に結果が表示されます。

到着の平均は 60÷3 = 20人/時です。窓口1台の処理能力は、1人2分なので上限が 60÷2 = 30人/時です。平均では処理できても、到着が短時間に集中すれば一時的な待ちが生じます。

2. 感染拡大: 40人のクラス

40人のうち1人が0日目に感染し、感染した生徒は翌日までにクラスの40人から1人を無作為に選んで感染させる、感染者は10日間回復しない、というモデルを考えます。相手がすでに感染しているかどうかは問いません。同じ人が重ねて選ばれた場合は感染者数が増えず、新たに感染した人が感染させるのは次の日からです。

実行すると、0〜10日目の感染者数が表示されます。

平均回数を増やすと、1回ごとの偶然のばらつきがならされます。1回の結果と平均を見比べてください。
日平均感染者数試行間の最小〜最大
実行後に結果が表示されます。

このモデルは感染しやすさ、接触人数、隔離、回復などを省いています。現実の感染者数を予測するものではなく、仮定を変えると結果がどう動くかを考えるための教材です。

段階別の練習

易(基本の確認)

  1. 到着間隔が毎回3分で、利用時間が2分なら、次の人が着いたとき前の人の利用は終わっているか。
    答えと解き方終わっている。前の利用者は到着から2分後に終わり、次の人は3分後に到着するため、1分の余裕がある。

標準(手順を組み合わせる)

  1. 前の人の利用終了が8.4分、次の人の到着が7.1分だった。次の人の待ち時間は何分か。
    答えと解き方8.4−7.1=1.3分。利用開始時刻は前の人の終了時刻と到着時刻の遅い方なので、8.4分に始まる。

共通テスト形式(読み取りと判断)

  1. 感染者が40人に達した結果が1回出た。これだけで「10日目には必ず全員感染する」と言えるか。
    答えと解き方言えない。乱数による1回の結果であり、感染力や接触などを単純化したモデルでもある。複数回の結果とモデルの仮定を確認する。
  2. 感染者数の平均を20回より100回の試行で求める利点を答えなさい。
    答えと解き方1回ごとの偶然のばらつきが平均でならされ、モデルの平均的な傾向を見やすくなる。ただし現実の予測精度が保証されるわけではない。

振り返り

← 前のページ 次のページ →