オンライン
応用数理シミュレーション+同演習
応用数理シミュレーションと応用数理シミュレーション演習の共通のHPです。これらの科目は全日程オンライン実施です。途中で対面講義になることはありません。皆さんのネット環境・計算機環境は様々です。やれるところまで頑張って学習してください。
応用数理シミュレーション 履修者の皆さんは、このHPを上から順番に学習してください。この科目は全日程オンライン実施です。単位認定は本文中にある課題1,2,3の提出によって行います。
応用数理シミュレーション演習 履修者の皆さんは、応用数理シミュレーションの内容を理解してください(演習のみ履修した場合は、課題1,2,3の提出は不要です)。内容を理解した上で本文中にある演習問題1,2,3の解答を提出してください。
課題や演習問題は時間的余裕はあると思いますが、少しずつやって行きましょう。すべてのファイルはグーグルドライブから落として貰います。計算機環境によっては、ビデオ視聴可能ですが、文字情報のファイルは文字化けする可能性があります。右上のダウンロードボタンをクリックしてファイルを落としてください。提出はすべてオンラインです。提出方法の指示に従ってください。
シミュレーションとはなんだろうか
シミュレーションとは
1.数理モデルを作り
2.それを計算機に実装し
3.実装したプログラムを走らせて
4.得られたデータを解析する
ことです.
これら一連の行為がシミュレーションですが,数理モデルの構築が最も重要でセンスが問われます.まず数理モデリングの方法論として数学を使って現象を理解するとはどういうことかを説明します.
致死性ウイルスが街を襲ったら?
現在新型コロナ感染症が世界を襲っています。世界レベルの話を考える前に、伝染病はどのように社会に広がっていくのだろうか? という問題を、街レベルで考えてみましょう。
ホットゾーン.下手なスリラーよりずっと恐ろしいノンフィクションです.長らく絶版になっていましたが,再刊されました.読む価値あります!
スペイン風邪の悲劇
今から100年前に新型コロナ感染症のようなパンデミックが世界を襲いました。それがスペイン風邪です。先ずは歴史に学ぶために、スペイン風邪について説明します。
スペイン風邪が起きた時代の重大事件としての第一次世界大戦(読んで理解しましょう)
スペイン風邪ってそもそもインフルエンザだよね?(読んで理解しましょう)
スペイン風邪のウイルス同定に使われ、新型コロナ感染症の陽性判定にも使われるPCR法(読んで理解しましょう)
数理疫学序論
数理モデリングの具体例として、現在新型コロナ感染症の感染拡大のシミュレーションでも活躍している数理疫学モデルを考えます。
「死亡率の非常に高い感染症で全人類の大半が死滅するような事態が生じるか?」
という問題を糸口に,極端に死亡率が高い感染症は蔓延できず総死亡者数は少なくなるという所謂「死亡率のパラドックス」をSIRモデルを使って説明します.伝染病の感染伝播現象の数理モデルとして一番基本的なSIRモデルの成立過程についても説明をします.同モデルは3元連立の非線形常微分方程式系で記述されるので,微分の基礎概念の成立の歴史についても考える予定です.モデルの説明を行う前に,スペイン風邪の流行とはどういうものだったのか説明します.そして数理疫学とは何かについて説明をし,モデル表す数学的道具としての『微分』概念の歴史的発展について,17世紀科学革命を中心に考察しましょう.そして4回目に考えたまた『凶暴な殺人ウイルスによって全人類が滅亡することがあるだろうか?』という物騒な問題の答えをを考えます.
Visual Studio Community 2019 をインストールしましょう
さていよいよシミュレーションをしましょう。SIRモデルの数値計算プログラムを実際に走らせてデータを取り,死亡率の上昇に伴って総死亡者数が減少する様子を観察しましょう。そのためにまず、Visual Studio Community 2019 をインストールしましょう。
はい、それでは自分でインストールしてみましょう。
インストールが終わったら、プロジェクトを作ります。
プロジェクトを作ろう。
それでは自分でプロジェクトを作ってみましょう。
プログラムを実行しよう。
プログラムを機械への命令書(ファイル)と思うなら、それを機械にわかるように処理してくれるバインダーのようなものです。バインダーだから、そこにこの落としたファイルを入れないといけません。
右上のボタンをクリック。デスクトップに保存してください。
前回で説明したプロジェクトが開いたままだったら、そこから始めましょう。
もしも閉じてたら、プロジェクトの再開方法は以下のビデオで説明します。
ここが一番の山場です。頑張りましょう。
それでは自分で落してきたファイルをプロジェクトに取り込んでプログラムを実行しましょう。
計算結果をエクセルでグラフ表示してみよう。
前回実行した計算結果をエクセルで表示してみましょう。
読んで理解しましょう(グラフ表示の一般的な方法です。ざーっと読んでください)
それでは自分でグラフを描いてみましょう。
プログラムの意味を理解しよう。
C言語の参考書は情報処理科目のシラバスを見てください。
プリプロセッサ指令を書き換えてみよう。
課題1(配点30点)
1.係数をいろいろ変化させてどんな現象が観察されるのか調べよう。
2.調べた結果をこの様式(ダウンロードしてください)にまとめる。
3.調べるときに作ったグラフと2のファイルを添付ファイルで、授業支援システムの冒頭に記載されているアドレス
へ送ってください。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『課題1報告』としてください。学籍番号が正しくないと処理できません.注意して入力をお願いします.
新型コロナ感染症
現在我々は22世紀の世界史の教科書に必ず載るであろう大事件の渦中にいます。経済はもちろん社会全体に大きな影響を与えています。スペイン風邪について学んだ皆さんなら、よく分かっていると思いますが、最短で3年、場合によっては5年以上に渡って、この困難な状況は続くでしょう。
2021年の10大リスクの一つに新型コロナ感染症が入っています。
新型コロナ感染症を数理疫学の立場から見てみましょう。事態は極めて流動的です。毎日事実が更新されます。以下のリンクが参考になります。
医療環境はどの程度逼迫しているのか(現在使用中の人工呼吸器とECMOの台数)
今後の感染拡大予測
グーグルの予測もあります.
IHMEの予測もあります.
経済モデルと疫学モデルを組み合わせたモデルも研究されています.
基礎になっている SEIR model の説明はここを見てください.
基本再生産数・実効再生産数ってなんだろう?
皆さんはテレビや新聞で『基本再生産数』とか『実効再生産数』という言葉を聞いたことがあるでしょう。1人の最初の感染者が死ぬか治癒するまでに何人の人に感染させてしまうか?という意味だということは聞いて知っていると思います。以下のリンクに定義式と意味の説明が出てきます。
実効再生産数<1となれば感染症は消えます。日本の実効再生産数はここで見れます.
感染拡大を防ぐにはどうすればいいのか?
SIRモデルを基礎にして感染拡大を阻止する方法を考えよう(ビデオを観て学習しましょう)
課題2(配点35点)
1.ネットを検索して様々な意見を参考にして、新型コロナ感染症の感染拡大防止のためにはどうしたらいいか考えましょう。
2.考察した結果をこの様式(ダウンロードしてください)にまとめる。
3.まとめた結果を授業支援システムの冒頭に記載されているアドレスへ送ってください。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『課題2報告』としてください。学籍番号が正しくないと処理できません.注意して入力をお願いします.
数理生態学入門.代表的な数理生態学のモデルであるLotka-Volterra 方程式について歴史的経緯も含めて解説します.外来種が生態系に与える影響についてモデルを使って調べます.また一方の種が急減するとどんな現象が起きるかシミュレーションします.Lotka-Volterra 方程式を用いて生態系のデリケートさや一旦条件が変わるともとには戻らない性質について考察したいと思います.
ビデオの中で紹介した2種のLotka-Volterra 方程式のプログラムをここからデスクトップに落としましょう。
ビデオを観Lotka-Volterra方程式のシミュレーション方法を理解しましょう。
さあ、自分で実行してビデオで観たようなグラフを描くことができるかやってみましょう。
数理生態学入門で学んだことを実際に応用してみよう。ブラックバスを琵琶湖から駆除することは可能なのだろうか?
実際に数理生態学モデルを動かしてみて,どんな解が現れるのか調べよう.餌であっても食肉獣であっても,数の大きな変動は生態系自身に大きな影響を与え,振動が非常に長く続くことを観察したいと思います.まず、プリプロセッサ指令の
#define A 10.0
#define B 2.0
#define C 5.0
#define D 1.0
の数字をいろいろ変化させてグラフを観察しましょう。
シミュレーション結果を元にして生態系を変化させるとなかなか元には戻らないことを検証しましょう.ブラックバスの駆除のためには、食用にするのが一番です。(ブラック)バスの天丼は滋賀県立琵琶湖博物館の中の食堂でブラックバスの天丼を食べることができます。
課題3(配点35点)
シミュレーション結果を元にして生態系を変化させるとなかなか元には戻らないことを検証しようと思います.まず
用いるのは、既に紹介した2種のLotka-Volterra 方程式のプログラムです。
1.ブラックバスを琵琶湖から駆除することは可能なのだろうか?という問題を考えてください。
2.考察した結果をこの様式(ダウンロードしてください)にまとめましょう。
3.まとめた結果を授業支援システムの冒頭に記載されているアドレスへ送ってください。計算結果をエクセルで取り出して添付するのもOKです。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『課題3報告』としてください。学籍番号が正しくないと処理できません.注意して入力をお願いします.
数理生態学入門で学んだことを実際に応用してみよう。3種のLotka-Volterra 方程式
同じ方法は3種のLotka-Volterra 方程式にも使えます。
数理生態学入門のビデオの後半で3種のLotka-Volterraの方程式を説明しました。
3種のLotka-Volterra 方程式のシミュレーションをやってみましょう。
ビデオの中で紹介した3種のLotka-Volterra 方程式のプログラムをここからデスクトップに落としましょう。
このプログラムをプロジェクトで広げて見れば分かりますが、基本的に2種のLotka-Volterra 方程式のプログラムと同じ出ることが分かります。またシミュレーションの方法も2種類のLotka-Volterra 方程式と全く同じです。ただし変化させる変数が増えると少し大変ですが、2種類のLotka-Volterra 方程式のシミュレーション方法を復習しながら、やってみましょう。
演習問題1(配点35点)
1.3種類のロトカ・ヴォルテラ方程式の係数 をプログラム上で様々に変化させて計算機シミュレーションし,結果をエクセルに取り出してグラフ化し,各係数の変化によって生態系がどのように変わるのか調べ,レポートにまとめて提出してください.
まず、プリプロセッサ指令の
#define A 1.0
#define B 1.0
#define C 1.0
#define E 1.0
#define F 1.0
#define G 1.0
#define U0 8.0
#define V0 0.5
#define W0 0.1
の数字をいろいろ変化させてグラフを観察してみましょう。
例えば上の数字で計算を実行するとこんな結果が出てきます。
2.調べた結果をこの様式(ダウンロードしてください)にまとめる。
3.調べるときに作ったグラフと2のファイルを添付ファイルで、授業支援システムの冒頭に記載されているアドレス
へ送ってください。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『演習問題1報告』としてください。学籍番号が正しくないと処理できません.注意して入力をお願いします.
演習問題2(配点35点)
SIRモデルの方程式を解くプログラムはすでに学習しました。SIRモデルの2つの拡張を考えましょう。一つは人口増加の効果が入ったSIR方程式です。人口増加はマルサスの方程式に従うと仮定します。もう一つはR(t)を死亡者ではなく免疫獲得者と考えて、免疫が時間とともに失われるモデルを考えます。それではこのプログラムを元にして下のビデオの説明に従ってプログラムを書いてください。
SIRモデルをどのように拡張するのかビデオを観て理解しましょう。
1.ビデオの指示に従って、SIRモデルのプログラムを元にして(上手く書き換えて)、2つのソースファイルを作ってください。Lotka-Volterra 方程式でやった方法を参考にして(ソースファイルフォルダーに2つのソースファイルを入れたままにしないように注意しましょう)、それぞれ実行して計算結果をエクセルで調べてください。
2.考察した結果をこの様式(ダウンロードしてください)にまとめてください。
3.まとめた結果を授業支援システムの冒頭に記載されているアドレス へ送ってください。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『演習問題2報告』としてください。
ワクチン接種のシミュレーション
ワクチンには様々な問題があります。その一つがどれくらいの人数に接種を行うべきか?という問題です。ワクチン接種の問題点について学びましょう。
新型コロナ感染症でもワクチンの開発競争が加速しています。しかしワクチンには副作用がつきものです。全員に接種するだけのワクチンを作るのも大変です。一体何割の人がワクチン接種を受けたらいいのでしょうか?
画像を右クリックするとプルダウンで3Dグラフを回転させることができます。
ワクチンの効果は多くの変異株が生まれたため限定的にならざるを得ないという考えが支配的になっています.
今後の感染拡大予測
CDCにも採用されている現在最も信頼性が高いモデルはデータサイエンスを基礎としたこのモデルです.
日本の予測も載っています.
基礎になっている SEIR model の説明とソースファイルはここを見てください.
Runge-Kutta法
19世紀末科学技術の発達とともに常微分方程式の正確な数値解を求める必要が生じました。新しい精密な数値計算法として考え出されたのが、Runge-Kutta法です。Runge-Kutta法については数値解析の講義を思い出してください。
常微分方程式の精密な数値計算法についてビデオを学びましょう。
演習問題3(配点30点)
3種のLotka-Volterra 方程式をオイラー法で解くプログラムは既に学習しました。それではこれをRunge-Kutta法を用いて解くプログラムを考えましょう。
1.SIR方程式をRunge-Kutta法 で解くプログラム、を元にして(上手く書き換えて)、ソースファイルを作ってください。2種のLotka-Volterra 方程式でやった方法を参考にして(ソースファイルフォルダーに2つのソースファイルを入れたままにしないように注意しましょう)、それぞれ実行して計算結果をエクセルで調べてください。
2.考察した結果をこの様式(ダウンロードしてください)にまとめてください。
3.まとめた結果を授業支援システムの冒頭に記載されているアドレスへ送ってください。
4.メイルの本文学籍番号(半角)と名前のみ。件名は『演習問題3報告』としてください。学籍番号が正しくないと処理できません.注意して入力をお願いします.
シミュレーションで放火犯人の住所を割り出してみよう.
連続放火があった場合,統計的確率密度関数を用いて過去の犯罪データからどのようにして犯人の住所を割り出すか(geographic profiling)について説明をします.また筋弛緩剤点滴事件や死の天使事件を参考に確率論を犯罪捜査に利用する方法(仮説検定)について考えます.
数理モデルとシミュレーション による犯罪捜査についてビデオを観て理解しましょう。
ホオジロザメの危険区域の推定を行った動物学の論文 です。少し難しいかも知れませんが、読んでみてください。
実際に乱数を発生させて現象がどの程度まれなのかを計算します.
課題:ある救急病院ではG看護士が当直すると
患者の急変あり 40日
同無 217日
G看護士が当直がない晩では
患者の急変あり 34日
同無 1350日
であった.この看護士には何か不審な点があるか考えましょう.
G看護師の行動を検定するプログラムはここから落としてください。
Stuxnet
Stuxnet(スタックスネット)は、Microsoft Windowsで動作する2010年6月に発見されたコンピュータワームです。 サイバー攻撃は情報システムが攻撃対象ですが、Stuxnetは制御システムを攻撃します。そのためは被害は物理的であり、ミサイル攻撃にも匹敵します。
最後に数理科学を学ぶ皆さんへのメッセージ
毎年講義の終わりに皆さんに話をする内容をここに書きます。だからこの部分は講義ではありません。雑談と思って読んでください。
むかし日本は電子立国を標榜していました.そして1980年代の終わり,日本のエレクトロニクス産業は世界を席巻しました.アメリカが開発した新技術を日本の技術者は吸収し,追いつき,そして追い越したわけです. 当時のエレクトロニクス産業の歴史には,それを生み出し,発展させ,世界に冠たる一大産業を築きあげた日本の技術者たちの活躍の様が刻まれています.
しかし残念ながら今は,電子産業の貿易収支は赤字に転落し,見る影もありません.なぜそうなったかは,電子立国はなぜ凋落したかに詳しく書かれています.この本の詳細は以下のリンクで読むことができます.
これからの日本で本当に重要になる職種を知りたくなったら,米国職業ランキングを調べてみましょう.
Jobs Rated Report 2017: Ranking The Top 200 Jobs (米国職業ランキング2019)
Jobs Rated Report 2017: Ranking The Top 200 Jobs (米国職業ランキング2018)
Jobs Rated Report 2017: Ranking The Top 200 Jobs (米国職業ランキング2017)
Jobs Rated Report 2016: Ranking The Top 200 Jobs (米国職業ランキング2016)
Mathematician, Data Scientist, Statistician の3職種が毎年上位にランクされているのに気が付くでしょう。数学や統計学の専門家が圧倒的に重要視されています.今後社会で最も必要とされる学問分野は数学であることが分かるでしょう.Google のチーフエコノミストによれば,統計学者とデータサイエンティストは21世紀の最も魅力的な職業だそうです.
Google’s Chief Economist Hal Varian on Statistics and Data
Data Scientist: The Sexiest Job of the 21st Century
頑張って数学を学んでください!