トップへ
田村研究室

コンピュータリテラシー1

Computer Literacy 1

2011
7/6

第11回

目標

  • Excelを使ったシミュレーション
  • レポート作成の練習をしてみよう

Excelでシミュレーション

モンテカルロシミュレーション

シミュレーション(simulation)とは

シミュレーションという言葉自体は,現在皆聞いたことはある言葉であろう.(注:「シュミレーション」 と間違えている人が時々いるが,とても恥ずかしい)

もともとの英語では,「…の真似をする」という意味から,現在のコンピュータ分野では軍事・経済・政治・物理など様々な現象にたいしてモデルを構築し,コンピュータによる模擬実験を行い,状況変化や結果を予測することを指す言葉となった.

通常は,理論式がわからない,あるいは理論式があっても複雑すぎて解くことができないような自然現象一般に対して,その現象をどうしても解きたいときにシミュレーション手法を用いる.例えば,ビル崩壊のメカニズムの解析など,複雑な物理現象がどのように発生したかを推測するために用いたりする.

シミュレーションといえども,対象とする現象を正しく真似できなければ,間違った答を導いてしまう.シミュレーションを行う際には,シミュレーションに用いる入力が適切か,その入力を処理するモデルが適切か,十分検討する必要がある.

モンテカルロ法とシステマティック法

シミュレーション手法は,大きくモンテカルロシミュレーションとシステマティックシミュレーションに分けることができる.他にも数値シミュレーションか非数値シミュレーションかなどいくつか分類の切り口があり,また実際に用いられる手法はこれらを巧みに組み合わせて使うことも多い.ある手法を単純に分類することはできない場合もある.

シミュレーション手法の中でも特に有名なモンテカルロ法とは,シミュレーション対象の現象に対して,その入力に大量の乱数を十分与えて出力値を観測することで,その現象を確率的に解いてみる手法である.乱数を用いることから,賭け事の街として有名なモナコの都市モンテカルロの名がつけられた.乱数は,シミュレーション対象の自然現象への入力として最もふさわしい確率分布,例えば一様分布など,に従う必要がある.

それに対してシステマティック法では,乱数は使わずに,決定的に(ただ一回の計算で)解を求める.

例: ランダムウォークとギャンブラーの破産問題

一回コインを投げて表が出れば勝ちといった単純な賭けを考える.一回の賭けで勝てば1万円もらえ,負ければ1万円払うとする.ギャンブラーA氏は最初にx万円持っていたとして,この賭けをし続けたとき,M万円まで増やせればA氏の勝ちで終了,0万円になればA氏の破産で終了とする.

A氏の勝てる確率は,ランダムウォーク理論で解析することができ,コイントスのように確率がちょうど1/2の勝負の場合には,A氏が勝てる確率は

x/M

逆にA氏が破産する確率は

1-(x/M)

として表される.

また,賭けが終了するまでに必要なコイントスの回数は,平均で

x(M-x)

となる.