数理モデル


数理的なモデルの意義

Vito Volterra

数理モデルというのは,さまざまの自然現象や社会現象を コンピュータで扱えるモデルで表して,その振る舞いを調べようという 研究手法です。 そもそもコンピュータが登場したときに真っ先に行われた計算は, 核爆発の連鎖反応のような軍事目的のシミュレーションでした。 このシミュレーションでは, 数学のできる人が数式を使って計算して結果を出すというのではなく, 何千万回もの単純計算を計算機にやらせることで,人間の手に負えない問題を 解いてしまおうという手法が採られています。 なぜそんなことができるかというと,無数の原子が ある確率で勝手に核反応を 起こしては,周りに高速の中性子をぶつけるといったイメージをそのまま 表現して,計算機の中で再現することは,割合簡単なことだからです。

軍事利用という非人間的な動機でスタートした 計算機利用ですが,しかし手法自体に罪があるわけではありません。 有用な手法を悪魔的な目的に使うことを止めて, 人間の知的な生産の道具として活用すべきなのです。

この授業では,まず人口の変化を 簡単なモデルで取り扱ってみます。そして同じ手法で 温度の変化のような物理的な現象も解明できることを見ていきます。 また,このモデルから有名なロトカ&ヴォルテラ(Lotka&Volterra)のモデルという, 複雑な生態系を考える上で常に引き合いに出される有名なモデルに 発展させます。 このモデルはいわば現代の知識人の言葉のアイテムとしてよく登場する ものですから,その内容を知っておくことは悪くないでしょう。言葉に騙されないためにも。

その次に,数値シミュレーションの代表的な手法であるモンテカルロシミュレーション を使ったいくつかのモデルを取り上げます。まずは 1本道の上の動物の移動をモデル化してみます。 これは実際に交通流のモデルとして使われるものです。 さらにそれを発展させて, 平面上でのものの移動をコンピュータ上で実験してみることにしましょう。

もし時間があれば,経路探索のアルゴリズムを実装した シミュレーションなども扱ってみたいと思いますが, ちょっと無理かも知れません。



授業の進め方

ノートPCの上で各自プログラムを走らせながらシミュレーションについて 理解するという流れで進めます。 プログラム言語は Ruby とJava を用います。Java は未修得の人が 多いでしょうから,途中でインストールのための案内を行います。

資料など


成績の評価について

授業で提示したプログラムをアレンジしたものを提出してもらいます。


小波秀雄