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

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

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

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

<学位授与の方針>
1. 基礎知識の習得
2. 専門分野知識の習得
3. 汎用的問題解決技能
4. 道徳的態度と社会性
5. 創成能力

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

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

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

<授業計画及び準備学習>
以下の内容を予定している。別のテーマを扱う可能性もあり、その場合は授業の中で説明する。
1.システマティック法とモンテカルロ法準備学習 第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のシミュレーションプログラムを作成して、多数回のシミュレーションの結果、コイン投げの2つの作戦のうちで、どちらが儲かるかをヒストグラムの分布を比較して示す。

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.待ち行列モデルのシミュレーション準備学習 Kuportから第13回資料をダウンロードして読んでおく。
マルチサーバーの待ち行列モデルを固定時間法で計算するシミュレーションプログラムを作成する。
顧客別一覧表と時系列事象一覧を作成する方法について検討する。

14.シミュレーションのまとめ、基礎知識の総括
15.学習成果の確認(期末試験)

<成績評価方法>
課題レポートと定期試験の得点比率は、課題レポートの提出数によって異なる。
課題の難易度、レポートの完成度によって課題レポートの得点は異なる。

自作の課題レポートを一人最高3つまで提出できる。

3つ提出はレポート点が高い順に40点満点, 20点満点, 20点満点,試験20点満点で100点満点。
2つ提出はレポート点が高い順に40点満点, 20点満点,試験40点満点で100点満点。
1つ提出はレポートを最高40点満点,試験60点満点で100点満点。

レポートの提出がない場合は試験を100点満点で採点する。

合計点が60点以上で合格となる。

レポートは返却しない。コピーと見られるレポートが2つ以上ある場合は採点から除外します。

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

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

<オフィスアワー>
火曜日 3時限
場所:A-1475 情報処理研究室
飛松 (ct10519 [at] ns.kogakuin.ac.jp) まで連絡してください。


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