Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
数値シミュレーション / Python 13
Search
kaityo256
PRO
January 14, 2020
Education
5
3.7k
数値シミュレーション / Python 13
プログラム基礎同演習13
kaityo256
PRO
January 14, 2020
Tweet
Share
More Decks by kaityo256
See All by kaityo256
デバッグの話 / Debugging for Beginners
kaityo256
PRO
9
820
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
4
210
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
15
4.9k
制限ボルツマンマシンの話 / Introduction of RBM
kaityo256
PRO
3
790
論文の読み方 / How to survey
kaityo256
PRO
218
160k
リンゴゲームと貧富の差 / Origin of the disparity of wealth
kaityo256
PRO
14
14k
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
9
8.4k
時間の矢について / Time's arrow
kaityo256
PRO
12
17k
t-SNEをざっくりと理解 / Overview of t-SNE
kaityo256
PRO
2
1.2k
Other Decks in Education
See All in Education
認知情報科学科_キャリアデザイン_大学院の紹介
yuyakurodou
0
110
小・中・高等学校における情報教育の体系的な学習を目指したカリキュラムモデル案/curriculum model
codeforeveryone
1
2.1k
コンセプトシェアハウス講演資料
uchinomasahiro
0
360
オープンソース防災教育ARアプリの開発と地域防災での活用
nro2daisuke
0
150
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
790
MLH Hackcon: Keynote (2024)
theycallmeswift
0
180
A question of time
ange
0
930
Qualtricsで相互作用実験する「SMARTRIQS」入門編
kscscr
0
300
White Snake: Qing's Mission
movingcastal
0
250
ACT FAST 20240830
japanstrokeassociation
0
260
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics
signer
PRO
0
420
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
4
14k
Featured
See All Featured
Docker and Python
trallard
40
3.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
What's new in Ruby 2.0
geeforr
342
31k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
RailsConf 2023
tenderlove
29
880
Embracing the Ebb and Flow
colly
84
4.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fireside Chat
paigeccino
32
3k
Transcript
1 数値シミュレーション プログラミング基礎同演習 慶應義塾大学理工学部物理情報工学科 渡辺 2019/1/14
2 Keep派の正解確率は1/3 Keep派とChange派で 場合は尽きている Change派の正解確率は2/3 「Change派正解」は、「Keep派正解」の余事象 Change派の方が得
3 道が確率pで通行可能な時、左から右に通過できる確率は?
4 p 通行不能 通行可能 ある確率(0.5)を境に「ほぼ通行不能」から「ほぼ通行可能」に急激に変化する この現象を相転移、相転移する確率pを臨界点と呼ぶ
5 ・CDを買うとポスターがランダムにもらえる ・44種類全て揃えると特別なイベントに招待 ・全て揃えるのにCDを何枚買う必要があるか?
6 はじめはサクサク、後になるほど渋くなる CD購入枚数 新しいポスターを得る確率 最初の方の試行で「これは楽勝だ」と誤認させる→沼へ 100枚購入した時点で コンプ率90%程度 10枚に一度しか ポスターが増えない
7 途中であきらめるとそれまでのコストが無駄に 100枚購入した時点で、「あれ?」と気が付く しかし、手元には「ほぼそろっている」ポスター 今諦めたら、100枚購入した投資が無駄になる 沼へ ※ サンクコスト (撤退時に回収できない費用)効果
8 Q. コンプガチャは違法にすべきなの? A. 我々がどのような世界を目指すかに依る 嘘がなければ高金利は許されるか? どこまでを「自己責任」とするか? ギャンブルは禁止すべき?制限すべき? スマホのn年縛りは? 答えはない。我々が相談し、決めるしかない
9 数値シミュレーション • 差分化 • 拡散方程式 • 反応拡散方程式
10 あるルールに従う系の振舞を 再現・予想すること それをコンピュータ上でやるのがコンピュータシミュレーション
11 訓練のためのシミュレーション フライトシミュレータ ドライブシミュレータ 娯楽のためのシミュレーション シミュレーションゲーム (戦略、経営等) ロールプレイングゲーム 予測のためのシミュレーション 天気予報・自動車の設計・創薬
12 物理とは 我々が住むこの世界を理解・記述する学問 この世界のルール この世界は微分方程式で記述されている これを支配方程式(Governing Equation)と呼ぶ
13 古典的な物体の運動を記述する = ∙ = , ∙ = 0 ×
= − , × − = ニュートンの運動方程式 = 1 + 流体の流れを記述する ナビエ・ストークス方程式 電場や磁場の振る舞いを記述する マクスウェル方程式 例:天体の運動、弾道計算 例:天気予報 例:スマートフォンの開発等
14 = 2 2 拡散方程式 物質やエネルギーなどが広がって (拡散して)いく様子を表現する方程式
15 = 2 2 拡散方程式 温度の時間変化を表す ある点での温度が上がるか下がるか? あがるならどれくらい上がるか?
16 = 2 2 拡散方程式 ある地点での二階微分の値 = () 2 2
> 0 2 2 < 0 下に凸なら正 = () 上に凸なら負
17 = 2 2 拡散方程式 まわりの平均との差を表す 下に凸=自分は平均より低い 平均 平均 上に凸=自分は平均より高い
18 拡散方程式 まわりを見て 自分が平均以下なら増えようとする 自分が平均以上なら減ろうとする 自分 自分は平均より低い 平均 = 2
2
19 支配方程式 = 知りたい現象を記述する微分方程式 これを解けば未来がわかる ほとんどの微分方程式は厳密に解くことができない 数値的に近似解を求める コンピュータシミュレーション
20 コンピュータは 離散的値しか扱えない この世界は連続的 計算機が扱えるように連続的な値をとびとびの値にすることを離散化と呼ぶ
21 = − 2 2 離散化には空間の離散化と時間の離散化がある 時間 空間
22 空間の離散化 時間の離散化 拡大するとピクセルに 静止画像を高速コマ送り 我々が計算機を通して目にするものは離散化されている
23 連続的な世界 離散的な世界 この領域全体の物理量を この点での値で代表させる
24 微分を差分で近似すること(離散化の一種) + ℎ = + ℎ′ + ℎ2 テイラー展開を一次まで考える
二次以上を無視する ≈ + ℎ − () ℎ ′ について解く 微分が差分で近似された
25 O Time t () 時刻tにおける傾き O Time t ()
≈ + −() t+dt 時間変化=現在と少し未来の差
26 + ℎ = + ℎ′ + ℎ2 2 ′′()
テイラー展開を二次まで考える − ℎ = − ℎ′ + ℎ2 2 ′′() 2 2 ≈ + ℎ − 2 + ( − ℎ) ℎ2 ′ を消去 二次の中央差分 二階微分
27 = − 2 2 ある場所の時間変化量は まわりの平均との差をへらそうとする この地点での次のステップでの値を 周りの値をみて決める 上記の操作をすべての地点について繰り返すと
次のステップ(少し未来)での「世界」がわかる 「ステップ」を繰り返せば、遠い未来の世界がわかる
28 Belousov-Zhabotinsky (BZ) 反応 いくつかの溶液を混ぜる 色が周期的に変わっていく 周期的な化学反応が拡散と組み合わさると?
29 二種類の化学物質uとvがお互いに反応しながら拡散する式 = ∆ − 2 + (1 − )
= ∆ + 2 − + 拡散 反応 チューリング・パターン 反応と拡散がおりなす不思議な模様