数理情報演習:さの
Pythonで計算論モデリング。
Pythonで計算論モデリング
計算論モデリング?
「計算論モデリング」とは、計算機でのシミュレーションを前提として、さまざまな自然現象や社会現象をモデル化した、広い意味での「数理モデル」のことです。
これまでの授業では、微分方程式や確率モデルなどで物理現象などを表現した、狭い意味での「数理モデル」を扱ってきたと思います。しかし一般の数理モデルは、数式で記述できても解析的に解けないことがよくあります。その場合でも、数理モデルを計算機でシミュレートすれば、現象を再現して振る舞いを調べられます。さらに、複雑な現象のなかには、そもそも数式で表すのが難しいものもあります。そうした現象も、アルゴリズムとしてモデル化してプログラムを書き、計算機でシミュレートすれば調べられます。
ざっくり言うと、「計算論モデリング」は「数理モデル」+「プログラミング」+「計算機シミュレーション」というイメージです。
どうしてPython?
一般に、計算機では0.1のような実数や1/3のような有理数を正確に扱えず、必ず数値誤差が生じます。Pythonは豊富な関数ライブラリ(モジュール)をもつプログラミング言語で、標準ライブラリだけでこうした有限実数や有理数を正確に扱えます。結果のグラフ化や数式処理も簡単にできます。実行速度の面では大規模なシミュレーションに向きません。それでもインタプリタ型言語として手軽に扱えるため、この演習ではPythonを使います。
実施方法は?
初回は、Pythonでの数値計算や誤差、数式処理など、計算論モデリングに必要な基本事項を学びます。また、Google Colaboratoryなどのオンライン環境か各自のPCに、Pythonの実行環境を用意します。2回目以降は、各自が興味のあるトピックを選び、計算論モデリングに関する内容を輪講形式で学習します。『Pythonコンピュータシミュレーション入門』(橋本洋志・牧野浩二著、オーム社)をネタ本として使い、本は貸し出します。各自が選んだトピックを予習し、30分程度で内容を説明してください。
トピックには、たとえば次のようなものがあります。
- SIRモデル(感染症モデル)
- ロジスティック方程式(カオス)
- 文章単語の共起ネットワーク(構文解析とグラフ理論)
- ランダムウォーク、モンテカルロ法(確率モデル)
- ベイズ統計 など
資料












お問い合わせ
質問などがあれば、Teamsチャットでさのまで連絡してください。