第一章 初识随机模拟方法 1
1.1 一个简单例子 1
1.1.1 简单的模拟方法 2
1.1.2 模拟结果的简单分析 3
1.2 趣味性的蒙提霍尔问题 4
1.2.1 问题描述 4
1.2.2 问题分析 5
1.2.3 用随机模拟方法求解 5
1.3 商品优惠券 6
1.4 用蒲丰投针法求圆周率 7
1.5 用随机模拟方法计算定积分 9
1.5.1 从“方圆鱼缸”法求圆周率说起 9
1.5.2 用随机投点法计算定积分 10
1.6 应用随机模拟方法的一般思路 11
练习 12
第二章 懂点概率论:领会描述随机性的数学语言 14
2.1 直观的概率 14
2.2 理解概率的公理 15
2.2.1 概率的公理 16
2.2.2 概率的相加性 17
2.2.3 条件概率、概率乘积与贝叶斯公式 18
2.2.4 全概率公式 19
2.2.5 独立性 20
2.3 随机变量与概率分布 21
2.3.1 随机变量 21
2.3.2 概率分布 22
2.3.3 离散型概率分布 23
2.3.4 连续型概率分布 25
2.4 随机变量的数字特征——矩量 31
2.4.1 数学期望 31
2.4.2 期望的运算性质 32
2.4.3 方差 32
2.4.4 方差的运算特性 33
2.4.5 矩量 33
2.4.6 统计数据的矩量 34
2.4.7 中心极限定理 34
2.4.8 联合分布 35
2.4.9 随机变量之间的独立性 36
2.4.10 二维正态分布 36
2.5 随机变量的变换 37
2.6 大数定律 38
练习 41
第三章 善用身边的数学秘书:学会使用Matlab软件 45
3.1 Matlab快速入门 46
3.1.1 Matlab的界面 46
3.1.2 简单的交互式使用方式 47
3.1.3 Matlab中的变量和数组 48
3.1.4 Matlab的语句和常量 48
3.1.5 数学运算符 49
3.1.6 函数 50
3.1.7 帮助系统 50
3.2 线性代数 51
3.3 Matlab的作图功能 52
3.3.1 二维图形 52
3.3.2 特殊坐标图形 58
3.3.3 三维图形 62
3.4 Matlab程序设计 64
3.4.1 M文件 64
3.4.2 函数文件 71
3.5 Matlab的符号演算 73
3.5.1 符号变量与符号表达式 73
3.5.2 微积分运算 73
3.5.3 解方程 76
练习 77
第四章 让电脑玩掷骰子:使用Matlab生成随机数 80
4.1 离散型概率分布及其随机数的生成 80
4.1.1 离散均匀分布 80
4.1.2 泊松分布 83
4.2 连续型概率分布及其随机数的生成 84
4.2.1 连续均匀分布 84
4.2.2 正态分布 86
4.2.3 生成对数正态分布 88
4.2.4 生成指数分布 90
练习 91
第五章 掷骰子的进阶:特殊分布随机数的抽样 95
5.1 逆变换法 95
5.1.1 逆变换算法 95
5.1.2 逆变换的局限法 97
5.2 接受-拒绝法 97
5.2.1 接受拒绝算法 98
5.2.2 接受-拒绝法的原理 100
5.2.3 接受-拒绝法的两种特殊情形 101
5.3 抽样多维联合分布的方法 103
5.3.1 最简单的情形——各分量独立 103
5.3.2 基于乔莱斯基分解的多元正态分布的抽样法 104
5.4 关于伪随机数的问题的注释 107
练习 107
第六章 神奇的马尔可夫链蒙特卡罗方法 110
6.1 马尔可夫链 110
6.1.1 马尔可夫链的表示方式 111
6.1.2 一个股市的马尔可夫链模型 112
6.1.3 不变分布 115
6.2 MCMC抽样——Metropolis算法 117
6.3 几个MCMC的例子 119
6.3.1 极小邻域法 119
6.3.2 极大邻域法 121
6.3.3 连续马尔可夫链的蒙特卡罗模拟 121
6.4 为什么Metropolis算法能有效工作 122
6.4.1 MCMC抽样和遍历性定理 124
6.5 统计力学 124
6.5.1 系统的微观态和熵 126
6.5.2 系统的能量 126
6.5.3 组合系统 127
6.5.4 系综方法与玻尔兹曼分布 127
6.5.5 宏观可测量与统计平均 131
6.5.6 伊辛模型和Metropolis算法 131
6.5.7 关于伊辛模型的几点注释 135
练习 136
第七章 仿真随机服务系统 138
7.1 随机服务系统的组成与特征 139
7.1.1 随机服务系统模型的分类及其记号 140
7.1.2 随机服务系统的基本模型 141
7.1.3 M/M/1模型 143
7.1.4 系统运行指标的计算公式 145
7.2 随机服务系统的例子 146
7.3 随机服务系统的模拟 148
练习 157
第八章 不落俗套:蒙特卡罗优化方法 161
8.1 模拟退火法 162
8.1.1 模拟退火的Metropolis算法 162
8.1.2 冷却进度表 163
8.1.3 旅行商问题 164
8.1.4 解TSP问题的模拟退火算法 165
8.1.5 非线性函数的最优化问题 170
8.2 遗传算法 171
8.2.1 遗传算法是一种马尔可夫链 172
8.2.2 粘滞现象及其修正算法 173
8.2.3 遗传算法应用于求函数最大化 173
8.3 遗传算法在积和式问题中的应用 174
8.3.1 积和式问题的描述 174
8.3.2 积和式的优化问题 176
8.3.3 积和式的优化问题的遗传算法 176
练习 178
第九章 模拟醉汉行走:随机游走模型 180
9.1 布朗运动与扩散现象 180
9.1.1 布朗运动 180
9.1.2 随机游走的连续化 182
9.1.3 常返性 183
9.2 布朗运动的数学模型 184
9.2.1 布朗运动的定义 184
9.2.2 布朗运动的标度不变性 186
9.2.3 布朗运动的常返性 187
9.3 随机游走的应用(一) 187
9.3.1 金融期权定价 188
9.3.2 自回避游走 194
9.4 从随机游走看赌徒的破产 194
9.4.1 游戏的玩法 195
9.4.2 公平游戏财富过程的鞅方法解 197
9.4.3 关于赌博的真相 197
9.4.4 游戏的预期持续时间 197
9.4.5 倍增下注策略的结局 198
9.5 随机游走的应用(二) 199
9.5.1 简单的凯利游戏 200
9.5.2 简单游戏中潜在的风险 202
9.5.3 期权交易应用实例(一) 204
9.5.4 期权交易应用实例(二) 205
练习 207
第十章 化腐朽为神奇:蒙特卡罗积分法 209
10.1 求定积分的随机投点法 209
10.1.1 随机投点法的描述 209
10.1.2 随机投点法的性质 212
10.2 求积分的样本平均法 213
10.2.1 样本平均法的描述 213
10.2.2 样本平均法的性质 215
10.3 蒙特卡罗积分法的收敛性与误差 215
10.3.1 蒙特卡罗积分法的收敛性 216
10.3.2 蒙特卡罗积分法的误差 216
10.4 重要性抽样法 217
10.4.1 减小误差的问题 219
10.4.2 蒙特卡罗积分法的优缺点 220
练习 221
第十一章 随机模拟无极限:探索复杂性问题的方法 223
11.1 元胞自动机模型 223
11.1.1 模型的构造 224
11.1.2 Wolfram的初等元胞自动机 226
11.1.3 初等元胞自动机的模拟 228
11.2 用元胞自动机来模拟道路交通流 230
11.3 用元胞自动机来模拟股市 237
11.4 Sznajd模型与社会舆论的形成 240
11.4.1 Sznajd模型的基本设置 241
11.4.2 二维Sznajd模型 244
11.5 渗流模型 246
11.6 复杂网络:随机图、小世界和无标度网络 249
11.6.1 网络的基本概念 249
11.6.2 复杂网络的基本特征 250
11.6.3 随机图 252
11.6.4 小世界网络 254
11.6.5 无标度网络 257
练习 262
参考文献 264
索引 265