シミュレーションを体験しよう

実際に試すのが難しいことを、コンピュータの中で再現して調べます。

サイコロを何回も振ると、どうなるでしょうか

回数を増やすと、それぞれの目が出る割合はどうなるでしょうか。

振った回数
0
理論上の割合
16.67%
実際の割合の幅
–
理論からのずれ
–

でたらめに点を打って、円周率を求めます

正方形の中にでたらめに点を打ち、円の中に入った割合から円周率を推定します。

打った点
0
円の中
0
推定した円周率
–
本当の値との差
–

なぜ円周率が求まるのか

一辺が1の正方形の面積は 1、半径1の四分円の面積は π/4 です。 でたらめに点を打てば、円の中に入る割合は面積の比、つまり π/4 に近づきます。 したがって、割合を4倍すれば円周率が求められます。

レジを何台にすれば、行列ができないでしょうか

2 台
ふつう
待っている人
誰も並んでいません
来たお客さん
0
平均の待ち時間
–
最大の行列
0
レジが空いていた割合
–

シミュレーションとは

実際に試すのが難しいことを、模型やコンピュータの中で再現して調べることをシミュレーションといいます。

なぜ必要なのでしょうか。理由はいくつかあります。実際に試すと危険なもの(自動車の衝突試験)、費用がかかりすぎるもの(新しい橋の設計)、時間がかかりすぎるもの(100年後の気候)、そもそも試せないもの(地震や津波の被害予測)。こうした場面で、シミュレーションが力を発揮します。

また、条件を変えて何度でも繰り返せるという利点もあります。「レジを1台増やしたらどうなるか」を、実際の店で試すことはできませんが、計算の中でなら何度でも試せます。

確定的モデルと確率的モデル

シミュレーションのモデルは、大きく2つに分かれます。

種類特徴例
確定的モデル同じ条件なら必ず同じ結果物体の落下、電気回路
確率的モデル偶然の要素を含み、毎回結果が変わるレジの行列、感染症の広がり

確率的モデルでは、乱数を使って偶然を再現します。何度も繰り返して平均をとることで、傾向をつかみます。

乱数

でたらめな数を乱数といいます。サイコロの目やコインの裏表は、身近な乱数です。

コンピュータで乱数を作るには、計算式を使います。ある数から次の数を計算し、それがでたらめに見えるようにするのです。しかし計算で作る以上、本当にでたらめではありません。そのため擬似乱数と呼ばれます。

擬似乱数には、同じ出発点(シード)から始めれば同じ列が得られるという性質があります。一見欠点のようですが、実験を再現できるという点では利点にもなります。

大数の法則

サイコロを6回振っても、各目が1回ずつ出るとは限りません。しかし6000回振れば、それぞれおよそ1000回ずつに近づきます。

試行回数を増やすほど、実際の割合が理論上の確率に近づく。これを大数の法則といいます。シミュレーションで何度も繰り返すのは、この性質を利用するためです。

試行回数を増やす → 結果のばらつきが小さくなる → 真の値に近づく

モンテカルロ法

乱数を使って答えを求める方法を、モンテカルロ法といいます。カジノで有名な地名にちなんだ名前です。

代表的な例が、円周率の推定です。手順は驚くほど単純です。

  1. 正方形の中に、でたらめに点を打つ
  2. 円の中に入った点の数を数える
  3. 全体に対する割合を求める
  4. その割合を4倍する

なぜこれで円周率が出るのでしょうか。一辺1の正方形の面積は1、その中に入る半径1の四分円の面積は π/4 です。点をでたらめに打てば、円の中に入る割合はこの面積比に近づきます。

円の中の割合 ≒ π/4 → π ≒ 割合 × 4

上のツールで実際に試せます。点が少ないうちは値がふらつきますが、増やすと3.14に近づいていきます。

精度の上がり方

ここで注意すべき点があります。モンテカルロ法の精度は、試行回数の平方根に比例してしか上がりません。

つまり、精度を10倍にするには試行回数を100倍にする必要があります。1桁精度を上げるだけで、計算量が100倍になるのです。効率がよい方法とはいえません。

それでもモンテカルロ法が使われるのは、複雑な問題でも手順が単純なままだからです。次元が増えても、点を打って数えるという手順は変わりません。金融商品の価格計算や、粒子の動きの解析など、他の方法では手に負えない問題で活躍しています。

待ち行列

レジやATM、電話の受付。人が並んで待つ場面は、シミュレーションのよい題材です。

ここには、直感に反する性質があります。サービスの能力が足りているのに、行列ができるのです。

たとえば、1時間に50人来る店で、1台のレジが1時間に60人さばけるとします。計算上は余裕があります。しかし実際には行列ができます。お客さんが均等に来るわけではなく、たまたま集中する時間があるからです。

混雑の度合いは、利用率(来る割合 ÷ さばける割合)で決まります。利用率が1に近づくと、待ち時間は急激に長くなります。0.5から0.6への変化より、0.9から0.95への変化のほうが、体感の悪化は大きいのです。

だから店側は、余裕を持ってレジを配置します。上のツールで、レジの台数と混み具合を変えて確かめられます。

シミュレーションの限界

便利な道具ですが、注意点もあります。

第一に、モデルは現実そのものではないということです。何を考慮し、何を無視するかは人が決めます。重要な要素を落としていれば、結果は現実と食い違います。

第二に、入力が正しくなければ出力も正しくないという点です。もっともらしい数字が出てきても、前提となるデータが不正確なら意味がありません。

第三に、確率的モデルでは1回の結果だけを見てはいけないことです。偶然に左右されるので、何度も繰り返して傾向を見る必要があります。

シミュレーションの結果は、判断の材料であって答えそのものではありません。結果をどう解釈するかは、使う人の責任です。

使い方

© 2026 情報ラボ ホーム カリキュラム対応表 画像のデジタル化 音のデジタル化 ラスタとベクタ 画像のビット演算 色の表し方 2進数・16進数 文字コード データはすべて0と1 パリティマジック コンピュータのしくみ 論理回路 アルゴリズム ネットワークのしくみ 電子メールのしくみ 情報システムとデータの流れ シミュレーション データの分析 機械学習 回帰と予測 クラスタリング 統計的推測 パスワードの強さ 暗号のしくみ あやしいメールを見分ける データ量の計算 データ圧縮 JPEGのくり返し保存 運営者情報・お問い合わせ プライバシーポリシー 更新履歴