2016年度工学院大学 情報学部コンピュータ科学科

科学技術シミュレーション(Simulation in Science and Technology)[2E27]

試験情報を見る] [授業を振り返ってのコメント(学内限定)

2単位
飛松 敬二郎 准教授  [ 教員業績  JP  EN ]
最終更新日 : 2016/10/27

<授業のねらい>
シミュレーションは自然現象、社会現象、経済経営問題の予測・解明など様々な目的で、問題解法のモデルに基づいて行われる。この授業では乱数を利用するシミュレーションの基礎知識を学び、単純なモデルに基づいてシミュレーションを行うプログラムを作成します。計算の結果をヒストグラムや散布図で可視化したり、統計処理を行う方法を学ぶとともに、シミュレーションの役割について考えます。

<受講にあたっての前提条件>
初等関数の微積分法、確率統計の基礎、プログラミング言語(C、C++、VB、VBA、JAVA、JavaScriptなどの手続き型言語)を用いたプログラミングの基礎

<具体的な到達目標>
○ 一様分布乱数から各種分布の確率変数を生成する典型的手法を理解している。
○ Crudeモンテカルロ法またはHit-or-Missモンテカルロ法について理解している。
○ 乱数を用いた簡単なシミュレーションプログラムを作成することができる。
○ シミュレーションにより生成される変量のヒストグラムを作成して可視化できる。
○ シミュレーションにより生成される変量に対する統計処理(平均値と誤差)の計算ができる。
○ シミュレーションの役割について理解している。

<授業計画及び準備学習>
以下の内容を予定している。別のテーマを扱う場合は授業の中で説明する。

1.システマティック法とモンテカルロ法
準備学習 Kuportから第1回資料をダウンロードして読んでおく。

課題1. Systematic法とMonteCarlo法のサンプリングを行うプログラムを作成して、探索した点の分布と得られた解の位置を2次元図面上に示して、頂点と解の点を結ぶ線分が成す角度を求める。

2.一様分布の確率変数と検定方法
準備学習 Kuportから第2回資料をダウンロードして読んでおく。

3.任意分布の確率変数の発生方法、棄却法、合成法
準備学習 Kuportから第3回資料をダウンロードして読んでおく。

4.合成法の具体例
準備学習 Kuportから第4回資料をダウンロードして読んでおく。

課題2. 合成関数の確率密度を持つ確率変数を生成してヒストグラムを出力するプログラムを作り、生成されたヒストグラムと確率密度関数のグラフを同じグラフに可視化して一致することを確認する。

5.モンテカルロ法の一般原理
準備学習 Kuportから第5回資料をダウンロードして読んでおく。

課題3. 資料の内容を参考にして、半径1の円の面積をCurde Monte Carlo法で求めるプログラムとHit-or-Miss Monte Carloで求めるプログラムを作成する。標本数と誤差の比較を行う。

6.Buffonの針の実験
準備学習 Kuportから第6回資料をダウンロードして読んでおく。

課題4. 資料内容を参考にして、Buffonの針の実験によって円周率を求める方法を学ぶ。Laplaceの実験、Shusterの提案、PerlmanとWichuraの提案の各推定量に基づいた結果を得るプログラムを作成して、推定量毎の誤差を実際に計算で比較する。それぞれの方法で多数回計算した結果、ヒストグラムを作成して、各推定量の値のヒストグラムを比較して、最も優れている推定量を調べる。

7.ベルヌーイ試行と幾何分布の確率変数
準備学習 Kuportから第7回資料をダウンロードして読んでおく。

課題5. 資料の内容を参考にして、幾何分布の確率変数を発生する関数プログラムを作成して、正しく動作することをヒストグラムや理論的平均値、分散値との比較を行い確認する。
その後、Two-armed Banditのシミュレーションプログラムを作成して、多数回のシミュレーションの結果、コイン投げのゲームの得点を作戦毎にヒストグラムを作成して比較する。

8.2項分布と超幾何分布の確率変数
準備学習 Kuportから第8回資料をダウンロードして読んでおく。

課題6. 二項分布および超幾何分布の確率変数を発生する関数プログラムを作成して、正しく動作することを理論的な期待値と分散値と比較して確認する。
二項分布の確率変数を発生して、n個のダイスを振る場合にすべてのダイスが1となるまでにダイスを振った回数の分布をヒストグラムで求め、n=5〜10の分布を比較する。
超幾何分布の確率変数を利用して、有名なCASINOゲームの一つKINO(キイノ)の典型的なシミュレーションゲームを資料に基づいて作成する。1日に1000ゲームを行うものとして500日分のカジノハウスの利益分布を計算する。

9.正規分布の確率変数、Box-Mullerの方法、中心極限定理の応用
準備学習 Kuportから第9回資料をダウンロードして読んでおく。

課題7. Box-Muller法によって正規分布の確率変数を生成するプログラムを作り、正規分布乱数の分布のヒストグラムを作成する。同様に中心極限の定理の応用としてn個の一様分布乱数の和から正規分布の確率変数を生成するプログラムを作り、ヒストグラムを作成して2つの分布を比較する。

10.ポアッソン過程
準備学習 Kuportから第10回資料をダウンロードして読んでおく。
ポアッソン過程の特性から微分方程式を導き、それを解いてポアッソンの確率過程の理論式を得る。
ポアッソン過程とポアッソン分布の関係を理解する。

11.ポアッソン分布の確率変数
準備学習 Kuportから第11回資料をダウンロードして読んでおく。

課題8. ポアッソン分布乱数を発生する方法を考察してポアッソン分布乱数生成プログラムを作成する。得られるポアッソン分布乱数のヒストグラムの分布の形状および平均と分散の値を理論的な分布や期待値と比較して、誤差の範囲で一致するかどうかを確認する。

12.1次元と2次元のランダムウォーク、ピアソンの問題2次元と3次元
準備学習 Kuportから第12回資料をダウンロードして読んでおく。

課題9.一次元のランダムウォークの結果得られる到達位置の分布を求める。同様に二次元のランダムウォークのシミュレーションの結果得られる到達位置の2次元分布を求める。
学術誌Natureに掲載されたKerl Pearsonのランダムウォークの2次元問題をシミュレーションの方法で解き、歩数によって開始位置からの到達距離の確率分布がどう変化するかヒストグラムで示すとともに、平均距離の推移を求める。同じ問題を3次元に拡張してシミュレーションを行う。

13.シミュレーションのまとめ、基礎知識の総括
準備学習 学習した全ての項目を復習しておく。

14.学習内容の振り返り
準備学習 期末試験で解けなかった問題を解いておく。

<成績評価方法>
課題レポートと期末試験の合計点で成績をつける。

自作の課題レポートに対して、得点の高い順に3つを選定して以下の得点配分で採点する。

レポート3つ以上は課題点80点満点,期末試験20点満点で100点満点。
レポート2つ提出は課題点60点満点,期末試験40点満点で100点満点。
レポート1つ提出は課題点40点満点,期末試験60点満点で100点満点。
レポート提出なしの場合,期末試験を100点満点で採点する。

合計点が60点以上の場合に単位を認める。

課題点は課題の難易度と完成度により得点が異なるが、一般に正しく計算を行い、
報告すべき項目をもれなく整理して纏め、自分の考察をしっかり述べた報告書は
高得点になる。

レポートは返却しない。コピーと見られるプログラムや課題レポートが2つ以上ある場合、
課題全てを採点から除外する。

<教科書>
指定教科書なし。
資料はKuportからダウンロードしてください。

<参考書>
指定参考書なし。

<オフィスアワー>
水曜3時限
場所:八王子校舎 1E-306 研究室
授業前後の時間帯に、新宿校舎12階講師室または教室において質問を受けます。
そのほかに飛松(ct10519 [at] ns.kogakuin.ac.jp)までメールで連絡すれば対応します。


このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2016 Kogakuin University. All Rights Reserved.