本書は、シミュレーションプログラミングの基礎と、それを支える数値計算の技術について解説します。数値計算の技術から、先端的なマルチエージェントシミュレーションの基礎までをPythonのプログラムを示しながら具体的に解説します。
アルゴリズムの原理を丁寧に説明するとともに、Pythonの便利な機能を応用する方法も随所で示すものです。
https://www.ohmsha.co.jp/book/9784274221705/
正誤表やDLデータ等がある場合はこちらに掲載しています
はじめに
第1章 Pythonにおける数値計算
第2章 常微分方程式に基づく物理シミュレーション
第3章 偏微分方程式に基づく物理シミュレーション
第4章 セルオートマトンを使ったシミュレーション
第5章 乱数を使った確率的シミュレーション
第6章 エージェントベースのシミュレーション
付録
まえがき
第1章 Pythonにおける数値計算
1.1 Pythonによる数値計算プログラムの構成
1.1.1 Pythonによる数値計算プログラム
1.1.2 Pythonモジュールの活用
1.2 数値計算と誤差
1.2.1 数値計算における誤差
1.2.2 数値計算における誤差の実際
1.2.3 Pythonモジュールの活用
章末問題
第2章 常微分方程式に基づく物理シミュレーション
2.1 質点の1次元運動シミュレーション
2.1.1 自由落下のシミュレーション
2.1.2 着陸船のシミュレーション
2.2 ポテンシャルに基づく2次元運動シミュレーション
2.2.1 ポテンシャルに基づく2次元運動
2.2.2 2次元運動シミュレーション
2.3 Pythonモジュールの活用
章末問題
第3章 偏微分方程式に基づく物理シミュレーション
3.1 偏微分方程式の境界値問題
3.1.1 ラプラスの方程式
3.1.2 ラプラスの方程式の境界値問題
3.1.3 境界値問題の数値解法
3.1.4 ガウスの消去法による境界値問題の計算
3.1.5 逐次近似による境界値問題の計算
3.1.6 その他の二階偏微分方程式
3.2 ラプラスの方程式による場のシミュレーション
3.2.1 ラプラスの方程式の反復解法プログラム
3.2.2 より複雑な形状の領域の場合
3.3 Pythonモジュールの活用
章末問題
第4章 セルオートマトンを使ったシミュレーション
4.1 セルオートマトンの原理
4.1.1 セルオートマトンとは
4.1.2 セルオートマトンの計算プログラム
4.2 ライフゲーム
4.2.1 ライフゲームとは
4.2.2 ライフゲームのプログラム
4.3 交通流シミュレーション
4.3.1 1次元セルオートマトンによる交通流のシミュレーション
4.3.2 交通流シミュレーションのプログラム
章末問題
第5章 乱数を使った確率的シミュレーション
5.1 擬似乱数
5.1.1 乱数と擬似乱数
5.1.2 乱数生成アルゴリズム
5.1.3 Pythonの乱数生成モジュール
5.2 乱数と数値計算
5.2.1 数値積分と乱数
5.2.2 乱数と最適化
5.3 乱数を使ったシミュレーション
5.3.1 ランダムウォーク
5.3.2 ランダムウォークシミュレーション
5.4 Pythonモジュールの活用
章末問題
第6章 エージェントベースのシミュレーション
6.1 エージェントとは
6.1.1 エージェントの考え方
6.1.2 Pythonによるエージェントシミュレーションの実現
6.1.3 マルチエージェントへの拡張
6.1.4 相互作用するマルチエージェント
6.2 マルチエージェントによる相互作用のシミュレーション
6.2.1 マルチエージェントによるシミュレーション
6.2.2 マルチエージェントシミュレーションプログラム
章末問題
付録
A.1 4次のルンゲ=クッタ法の公式
A.2 ラプラスの方程式が周囲4点の差分で近似できることの説明
A.3 ナップサック問題の解法プログラムrkp30.py
A.4 シンプソンの公式
章末問題略解
参考文献
索 引