(完整版)蒙特卡洛算法详讲
Monte Carlo 法§8.1 概述Monte Carlo 法不同于前面几章所介绍的确定性数值方法,它是用来解决数 学和物理问题的非确定性的(概率统计的或随机的)数值方法。Monte Carlo方
Monte Carlo 法 8.1 §概述 Monte Carlo 法不同于前面几章所介绍的确定性数值方法,它是用来解决数 Monte Carlo 学和物理问题的非确定性的(概率统计的或随机的)数值方法。方 统计试验方法 MCM 法(),也称为,是理论物理学两大主要学科的合并:即随机 过 程的概率统计理论(用于处理布朗运动或随机游动实验)和位势理论,主要是 [1] 研究均匀介质的稳定状态。它是用一系列随机数来近似解决问题的一种方 法, 是通过寻找一个概率统计的相似体并用实验取样过程来获得该相似体的近 in spirit 似解 的处理数学问题的一种手段。运用该近似方法所获得的问题的解更 接近 于物理实验结果,而不是经典数值计算结果。 MC 1944 普遍认为我们当前所应用的 技术,其发展约可追溯至年,尽管在 MCM Los 早些时候仍有许多未解决的实例。 的发展归功于核武器早期工作期间 Alamos Los Alamos (美国国家实验室中子散射研究中心)的一批科学家。小组 MCM 的基础工作刺激了一次巨大的学科文化的迸发,并鼓励了 在各种问题中的 Monte CarloMonaco 应用⑵-⑷。“"的名称取自于(摩纳哥)内以赌博娱乐而闻名 的一座城市。 Monte Carlo 方法的应用有两种途径:仿真和取样。仿真是指提供实际随机 现象的数学上的模仿的方法。一个典型的例子就是对中子进入反应堆屏障的运动 进行仿真,用随机游动来模仿中子的锯齿形路径。取样是指通过研究少量的随机 << fx () 的子集来演绎大量元素的特性的方法。例如,在上的平均值可以 ax b 通过间歇性随机选取的有限个数的点的平均值来进行估计。这就是数值积分的 Monte Carlo MCM 方法。 已被成功地用于求解微分方程和积分方程,求解本征 值,矩阵转置,以及尤其用于计算多重积分。 任何本质上属随机组员的过程或系统的仿真都需要一种产生或获得随机数 的方法。这种仿真的例子在中子随机碰撞,数值统计,队列模型,战略游戏,以 Monte Carlo 及其它竞赛活动中都会出现。 计算方法需要有可得的、服从特定概 率分布的、随机选取的数值序列。 8.2 §随机数和随机变量的产生 [5][10] -全面的论述了产生随机数的各类方法。其中较为普遍应用的产生 gx () 随机数的方法是选取一个函数,使其将整数变换为随机数。以某种方法选 取 xgx xg(x )() 二 ,并按照产生下一个随机数。最一般的方程具有如下形式: 0k1k + () + ax c gxm () mod = 8.1 () 其中 xx 0 二> 初始值或种子() 00

