モデルは3人、現実は6人
コンビニのシミュレーションでは、最長の列は、約3人でした。
ところが、実際に店で数えると、6人も並んでいました。
どちらが正しいのでしょうか。モデルが、現実とずれていたのです。
今日は、ずれを見つけて、モデルを直す方法を学びます。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| 検証 | モデルの結果を、現実と比べて、確かめることです。 | 実際に人数を数える |
| ずれ | モデルの結果と、現実のちがいです。 | 3人と6人 |
| 仮定 | モデルを作るとき、「こうだ」と決めたことです。 | 客は同じ割合で来る |
| 改善 | ずれの理由を考えて、モデルをよくすることです。 | 昼のピークを足す |
| 限界 | そのモデルでは、できないことです。 | 天気の影響は分からない |
学生が入力するセルは、このプレビューでは空白です。
検証の三つの手順
一つ目は、現実を調べることです。たとえば、店で実際に列の人数を数えます。
二つ目は、モデルの結果と比べることです。
三つ目は、ずれの理由を考えて、モデルを直すことです。これを何度もくり返して、モデルを育てます。
小さな確認: 検証
やってみよう
小さな確認: 検証
3問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。
例: モデルと現実のずれ(作った例)
| 調べること | 実際に数えたこと | 前のモデル |
|---|---|---|
| 最長の列 | 6人 | 約3人 |
| お客さんの来かた | 12時すぎに集中 | いつも同じ割合 |
| 1人の会計 | 1分から4分まで、いろいろ | いつも2分 |
| 列が長いとき | 店員が手伝って、早くなる | いつも1人で会計 |
学生が入力するセルは、このプレビューでは空白です。
ずれの理由は、仮定にある
表を見てください。ずれの理由は、モデルの仮定にあります。
「お客さんは、いつも同じ割合で来る」という仮定は、昼休みには合いません。
次のコードで、来かたのちがいが、列にどう影響するかを見ましょう。
やってみよう: 同じ8人、来かたがちがう
def longest_line(arrivals, service):
waiting = 0
busy = 0
longest = 0
for arrived in arrivals:
if arrived == 1:
waiting = waiting + 1
if busy == 0 and waiting > 0:
waiting = waiting - 1
busy = service
if waiting > longest:
longest = waiting
if busy > 0:
busy = busy - 1
return longest
# どちらも20分で、8人が来ます。
even = [1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0] # ばらばらに来る
peak = [1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0] # 最初に集中する
print("ばらばら:", longest_line(even, 2), "人")
print("集中する:", longest_line(peak, 2), "人")
人数が同じでも、列はちがう
重要
同じ8人でも、ばらばらに来れば、最長の列は0人です。最初に集中すると、3人になります。来かたの仮定を直すと、現実に近づけます。