シミュレーション

学習の目的

  • 1.シミュレーション

  • 2.モンテカルロ法

モデルを利用したシミュレーションについて学びましょう。

1.シミュレーション

シミュレーションとは、モデルを使って、現実の動きを再現することです。

実際に試すのが難しいことでも、モデル上で試すことができます。

シミュレーションってよく聞くけど、何をするものなんですか。

ゲームとかでもよくあるよね。「シミュレーションゲーム」ってジャンル。

モデルを使って、現実の動きを再現することです。

え、本当にやるんじゃないんですか。

実際ではなく、モデルの中で試します。

なぜシミュレーションを行うかというと、現実では、

「時間がかかる」

「お金がかかる」

「危険がある」

などの理由で、簡単に試せないことがあります。


そこで、モデルを使って安全に何度でも試すことができるのがシミュレーションです。

じゃあ、実際にどんな場面で使われるんですか。

いい質問ですね。具体例を見てみましょう。


例① 待ち行列

列の長さをもとに、どれくらいの時間がかかるかを測ります。

例② 確率

現実の状況をシミュレーションすることで、さまざまな確率の計算を行います。 たとえば、ゲームで特定のアイテムが手に入る確率や、 サイコロを振ったときに特定の目が出る確率などを求めることができます。

例③ 自動車の衝突検査

自動車を開発したら、交通事故が起きた時の被害を見るため、車のモデルと人のモデルで実際の事故をシミュレーションします。


シミュレーションを行うことで、未来のことを想定し、予測を行うことに役立てます。

2.モンテカルロ法

モンテカルロ法とは、ランダム(無作為)に何度も試し、シミュレーションによって結果を見積もる方法です。

コンピュータを利用したシミュレーションでは、人間が行うよりははるかに早いスピードで試行できるため、モンテカルロ法はとても有効な手段です。

モンテカルロ法って、名前がかっこいいですね。

なんかゲームみたいな名前だよね。

モンテカルロ法は、ランダムに試して確率を求める方法です。

え、適当にやるってことですか?

いいえ。何度も試して結果を集めるのがポイントです。

たとえば、サイコロを振ったとき、1から6までの目は本当に同じくらい出るのでしょうか。

少ない回数だけ振ると、結果にはばらつきが出ます。100回では、かなり偏ることもあります。

では、100回サイコロを振るシミュレーションを行った結果のグラフを見てみましょう。

1〜6の目の出た回数を、棒グラフで表しています。

赤い線はなんですか?

それは、試行回数のちょうど6分の1の時の回数です。

ランダムなので仕方ないですけど、少しばらつきがありますね。

それでは、試行回数を1,000回に増やしてみましょう。

まだばらつきがあるなぁ。

確率は6分の1なんですよね。

そうですね。1,000回ではまだ不十分かもしれません。

人間の手でやるには頑張ればなんとかなるかもですけど、それでもまだこの結果です。

1000回まで増やしても、まだばらつきは残りました。10000回になると、人の手で試すのはかなり大変です。

それをコンピュータで試してみましょう。次のグラフは試行回数10,000回のものです。

だいぶ平坦になってきましたね。

ばらつきもほんの少しになってきましたね。

でも、まだ少しだけばらつきがあります。

次は思い切って100万回で試してみましょう!!

ここまで来ると、本当に平坦になりましたね!!

試行回数増やせば、確率通りの結果になっていくんですね。

その通りです。人間の手で100万回試すのは大変ですが、コンピュータを使用することでシミュレーションが楽にできます。

それを利用して大量に試行するのがモンテカルロ法なんですね。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる