Appearance
16.3.5 蒙特卡罗方法
16.3.5.1 模拟
模拟法立足于构建等价的数学模型. 通过计算机分析这些模型很容易. 在这种情形下, 可使用数字模拟. 当一定数量的模型被随机选取时, 蒙特卡罗方法给出了一个特殊案例. 这些随机元素可使用随机数选取.
16.3.5.2 随机数
随机数是满足特定分布的某些随机量的实现 (参见第 1061 页 16.2.2). 通过这种方式可区分不同类型的随机数.
1. 均匀分布的随机数
均匀分布于区间
(1)平方取中法 冯・诺伊曼提出了一种产生随机数的简便方法, 也称为平方取中法,它从一个
最初的三个随机数是
(2) 同余法 所谓的同余法应用广泛: 整数序列
生成,其中,
(3) 注 a) 选取
b) 随机数生成器使用特定算法, 可产生所谓伪随机数.
c) 计算器以及计算机中的 “ran” 或 “rand” 键用于生成随机数.
2. 服从其他分布的随机数
为得到服从任意分布函数
即随机数
3. 随机数表及其应用
(1) 构造 可通过下述方式构造随机数表. 在 10 个完全相同的筹码上标注数字
在程序中,必须保证数字
(2)随机数表的应用 举例说明随机数表的应用.
- 假设从
项的总体中随机选取 项. 总体中的对象记数为 000 到 249. 然后在 1464 页表 21.21 的任意列或行中选取一个数, 明确如何选取其余 19 个数的规则, 如纵向、横向或对角线方向. 只要最初的 3 个数字取自于随机数, 且生成的数小于 250 个, 该方法即可使用.
16.3.5.3 蒙特卡罗模拟举例
求积分
的近似值是模拟中应用均匀分布随机数的一个实例. 下面讨论两种求解方法.
1. 运用频率
设
使用 (16.172) 的比值, 欲得到较好的精确度, 需要大量随机数. 这正是人们探究有可能提高精度的原因. 方法之一是下述蒙特卡罗方法, 另外一些方法可查阅相关文献 (参见文献 [16.19]).

2. 利用均值逼近
为求解式 (16.171),可从
这种方法使用样本得到均值, 也称为普通蒙特卡罗方法.
16.3.5.4 在数值数学中应用蒙特卡罗方法
1. 估计多重积分
首先说明如何把单变量的定积分 (16.174a) 变换为包含积分 (16.174b) 的式子.
引入下述记号:
即可使用 16.3.5.3 中给出的蒙特卡罗方法, 则 (16.174a) 变形为
其中被积函数
的例子,说明如何使用蒙特卡罗方法近似估计多重积分.
其中
区间
注 当定积分中只有一个积分变量时, 可使用第 1252 页 19.3 中的方法. 若估计多重积分, 仍常推荐用蒙特卡罗方法.
2. 使用随机游动过程求解偏微分方程
借助随机游动过程, 蒙特卡罗方法可用于近似求解偏微分方程.
a) 边值问题举例 考虑下述边值问题作为例子:

通过这种方式可得到内部格点
b) 求解原则 设想粒子从内部点
(1)粒子从
(2) 如果粒子到达边界点
可以证明,无论粒子从哪一内部格点
表示始于
(16.184)
(16.184) 是关于
(16.185) 给出了差分方程 (16.180a) 的近似解, 其边界条件为 (16.181). 若进行替换
则满足边界条件 (16.180b). 根据 (16.184),有
为计算
若
16.3.5.5 蒙特卡罗方法的进一步应用
作为随机模拟, 蒙特卡罗方法有时也称为统计试验方法 广泛应用于诸多不同领域. 例如:
核技术: 穿过材料层的中子数.
通信: 分离信号和噪声.
运筹学: 排队系统, 过程设计, 库存控制, 服务系统.
对这些问题的细节讨论可参见文献 [16.19], [16.23].