蒙特卡罗方法及应用
物理与工程 Vol. 12 No. 3 2002
图 2 用数值模拟方法计算蒲丰问题
如图 2 建立坐标系, 平面上一根 针的位 置可以用针中心 M l 的坐标 x 和针与平行线 的夹角 H来决定, 在 y 方向上的位置 不影响 相交性质. 任意投针, 意味着 x 与 H都是任意 取的. 但 H的范围可限于[ 0, P] , x 的范围可 限于[ 0, a] . 在这种情况下, 针与平行线相交 的数学条件是
表 2 中的计算结果表 明, 随着模拟投针 次数的增大, 所计算的 P的近似值越来越接 近于其真值. 而要进行这样的数值模拟, 就需 要很大的计算量, 只有利用计算机才能实现.
从蒲丰问题可以看出, 用蒙 特卡罗方法 求解问题时, 应建立一个概率模型, 使待解问 题与此概率模型相联系, 然后通过随机试验 求得某些 统计特 征值作 为待解 问题 的近似 解. 与此相似, 在一些物理问题, 如核裂变、直 流气体放电等过程中, 粒子的输运过程及粒 子输运的总效应, 也是可以与某些概率过程 联系起来, 例如, 电子与原子、分子、离子的碰 撞过程, 实际上就是与碰撞截面有关的概率 过程, 这样, 从数学物理特征来说, 类似于用 随机投针方法计算 P的近 似值, 确定条件下 的核裂变、直流气体放电中粒子的输运过程 及粒子输运的总效应可以用多次掷骰子的方 法近似求出.
针的中心处于图示中的 x 轴上. 由于对称性, 我们只需分析针中心处在 x I ( 0, a) 范围的 情况即可. 令探针中心的坐标值为 x , 显然,
只有 x [ l 时才可能发生相交的事件. 我们来 分析在条件 x [ l 满足时, 针与线相 交的概
率: 只有当 H[
H0=
arccos
x l
时才能相 交,
需要指 出的是, 上述由投针试 验求得 P 的近似值的方法, 是进行真正的试验, 并统计 试验结果, 要使获得的频率值与概率 值偏差 小, 就要进行大量的试验, 这在实际中, 往往 难以做到. 可以设想, 对蒲丰问题这样一个简 单的概率问题, 若要进行 10 万次投针试验, 以每次投针、作出是否相交判断并累 加相交 次数用时 5 秒钟计算, 则 需用时 50 万秒, 即 大约 139 个小时. 那么, 可以设想, 对 于象上 述确定条件下的核裂变、直流气体放 电中粒
平面上有彼此相距为 2a 的平行线, 向此平面
任意投一长度为 2 l 的针, 假定 l < a, 显然, 所 投的针至多可与一条直线相交, 那么, 此针与
任意条平行线相交的 概率可以求出, 由下面
的分析可知, 此概率与所取针长 2l 、平行线间
距 2a 有关, 并且包含有 P值. 在这里, 任投一
针的概率含义有以下三点: ( 1) 针的中点 M l 在平行线之间等概率落入, 即 M l 距平行线的 距离 x 均匀分布在区间[ 0, a ] 之内; ( 2) 针与
且
相交的概率为
P1 =
2Parccos
x l
( 1)
下面再来分析针中心位置在轴上的分布, 显
然, 这是 一个均 匀分布, 即 针中心 处于 区间
( x , x + dx ) 内的概率为
dP 2 =
dx a
( 2)
这样, 一次投掷, 针中心落入( x , x + dx ) 且与
线相交的概率为
dP =
P 1dP2 =
Abstract T he principle of Monte Carlo method and its application are int roduced. Key Words M ont e Carlo met hod
1 引言
蒙特卡罗方法, 又称随机抽样方法, 是一 种与一般数值计算方法有本质区别的计算方 法, 属于试验数学的一个分支, 起源于早期的 用几率近似概率的数学 思想, 它利 用随机数 进行统 计试验, 以 求得 的统 计特 征值 ( 如均 值、概率等) 作为待解 问题的数值解. 随着现 代计算机技术的飞速发 展, 蒙特卡 罗方法已 经在原子弹工程的科学研究中发挥了极其重 要的作用[ 1, 2] , 并正在日益广泛地应用于物理 工程的各个方面, 如气体放电中的 粒子输运 过程 等[ 3~ 5] . 本文介 绍蒙特卡罗方法的基本 原理及其在计算物理中的应用.
子的输运过程及粒子输运的 总效应, 若要用 多次掷骰子的方法近似求出就是不可能的了. 所以, 在现代计算机技术出现之前, 用频率近 似概率的方法 ) ) ) 抑或称为雏形时代的蒙特 卡罗方法 ) ) ) 并没有得到实质上的应用.
若用数值模拟方法代替上述的真正的投
针试验, 是利用均匀分布于( 0, 1) 之间的随机 数序列, 并构造出随机投针的数学模型, 然后 进行大量的随机统计并求得 P的近似值.
THE MONTE CARLO METHOD AND ITS APPLICATION
Yin Zengqian1 Guan Jingfeng2 Zhang Xiaohong1 Cao Chunmei1
( 1 Department of Physics, Nort h China U niversity of Electr ic P ower, Baoding, Hebei 071003) ( 2 Environmental Detecting I nstitute of Baoding City, Baoding, Hebei 071000)
分近 似值为
2 蒙特卡罗方法的基本原理
就数学特 性而言, 蒙 特卡罗方法 的发展
可以追 溯到 18 世 纪著 名 的蒲 丰问 题. 1777
年, 法国科学家蒲丰( Buf fon) 提出用投针试验
计算圆周率 P值 的问题. 这里我 们用蒲丰问
题来初步说明蒙特卡罗方法的基本原理和解
决问题的基本手续.
蒲丰问题 是这样一个古 典概率问 题: 在
x [ l sin H, 0 [ x [ a
( 7)
其次, 怎样模拟投针呢? 亦即如何产 生任意
的[ x , H] . x 在[ 0, a ] 任意取值, 意味着 x 在
[ 0, a] 上取哪一点的概率都一样, 即 x 的概
率密度函数为
f 1( x) =
1 a
,
当 0 [ x [ a 时 ( 8)
0, 当 x 为其他值时
48
的物理问题中存在着大量的随机过程, 如粒子 间的碰撞等, 使得蒙特卡罗方法在计算机物理 和物理工程中得到日益广泛的应用, 并成为沟 通理论与实验研究的一个桥梁.
需要指出的是, 蒙特卡罗方法不仅在 处 理具有概率性质的问题方面获得广泛的应用, 对于具有确定性问题的计算也因其程序简单 等优点获得了广泛的应用. 这里以定积分的计 算简要说明其处理确定性问题的手续.
对于定积分
b
Q s = f ( x ) dx a
通过变量替换, 可以转换为下面的形式
1
Q s = k g ( x ) dx 0
其中 g( x ) I ( 0, 1) , 当 x I ( 0, 1) 时 ( 12)
1
Q 即转换为求积分 g( x )dx 亦即求边长为 1 的正 0
方形中一个曲边梯形的面积的问题, 如图 3 所示.
表 1 投针试验计算 P 值的结果
针长
投针次数
0. 8
5, 000
0. 6
3, 204
1. 0
60 0
0. 75
1, 030
0. 83
3, 408
0. 5419
2, 520
相交次数 2, 532 1, 218. 5 382. 5 48 9 1, 808 85 9
P的估值 3. 1596 3. 1554 3. 137 3. 1595 3. 1415929 3. 1795
1
Q 概率就等于所要 求的积分 g( x ) dx , 这样就 0
将确定 性的定 积分问 题转 化为一 个概率 问 题, 同样可以通过数值模拟方法 ) ) ) 蒙特卡
物理与工程 Vol. 12 No. 3 2002
罗方法求得其近似解. 用此方法, 我们计算了
1
Q 积分 x 2dx , 当投球数为 1 万次时, 得到的积 0
P2a arccos
x l
dx
( 3)
则一次投掷, 针与线相交的总概率为
Q Q P =
dP =
l 0
2 Pa
arccos
x l
dx
=
2l Pa
( 4)
即:
P=
2l Pa
( 5)
从( 5) 式可见, 可利用投针试验计算 P值: 设
投针 N 次, 其中 n 次针与 线相交, 则可用频
率值 n / N 作为概率 P 的估计值, 从而求得 P
物理与工程 Vol. 12 No. 3 2002
45
蒙特卡罗方法及应用 ¹
尹增谦1 管景峰2 张晓宏1 曹春梅1 ( 1 华北电力大学物理教学部, 河北 保定 071003) ( 2 河北省保定市环境保护监测站, 河北 保定 071000)
( 收稿日期: 2002-01-07)
摘 要 介绍蒙特卡罗方法的基本原理及其在计算物理中的应用. 关键词 蒙特卡罗方法
类似的, H的概率密度函数为
f 2( H) =
1P, 当 0 [ H [ P时 ( 9) 0, 当 H为其他值时
由此, 产生任意( x , H) 的过程就变为由 f 1( x ) 抽样 x , 由 f 2( H) 抽样 H的过程. 容易得到
x = aN1 H= PN2
( 10)
式中, N1, N2 均为( 0, 1) 上均匀分布的随机数.
图 3 用蒙特卡罗方法求定积分
我们可以设想这样一种随机投点求定积
1