蒙特卡罗也称统计模拟方法.docx
蒙特卡罗也称统计模拟方法,是二十世纪四十年月中期由于科学技术的 进展和电子计算机的创造,而被提出的一种以概率统计理论为指导的一类 特别重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解 决许多计算问题的方法。蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙 地卡罗,该城市以赌博业著名,而蒙特罗方法正是以概率为基础的方法。 与它对应的是确定性算法。蒙特卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计 算、量子热力学计算、空气动力学计算)等领域应用广泛。基本思想当所求解问题是某种随机大事消失的概率,或者是某个随机变量的期 望值时,通过某种“试验”的方法,以这种大事消失的频率估量这一随机 大事的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的 解。有一个例子可以使你比较直观地了解蒙特卡罗方法:假设我们要计算 一个不规章图形的面积,那么图形的不规章程度和分析性计算(比如,积 分)的简单程度是成正比的。蒙特卡罗方法是怎么计算的呢?假想你有一 袋豆子,把豆子匀称地朝这个图形上撒,然后数这个图形之中有多少颗豆 子,这个豆子的数目就是图形的面积。当你的豆子越小,撒的越多的时候, 结果就越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重 叠。工作过程在解决实际问题的时候应用蒙特卡罗方法主要有两部分工作:用蒙特卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。 用统计方法把模型的数字特征估量出来,从而得到实际问题的数值解。计算步骤使用蒙特卡罗方法进行分子模拟计算是依据以下步骤进行的:使用随机数发生器产生一个随机的分子构型。对此分子构型的其中粒子坐标做无规章的转变,产生一个新的分子 构型。计算新的分子构型的能量。比较新的分子构型于转变前的分子构型的能量变化,推断是否接受 该构型。若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用 这个构型重复再做下一次迭代。若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼常数, 同时产生一个随机数。若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新 计算。若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用 这个构型重复再做下一次迭代。如此进行迭代计算,直至最终搜寻出低于所给能量条件的分子构型 结束。在数学中的应用通常蒙特卡罗方法通过构造符合肯定规章的随机数来解决数学上的 各种问题。对于那些由于计算过于简单而难以得到解析解或者根本没有解 析解的问题,蒙特卡罗方法是一种有效的求出数值解的方法。一般蒙 特卡罗方法在数学中最常见的应用就是蒙特卡罗积分。积分非权重蒙特卡罗积分,也称确定性抽样,是对被积函数变量区间进行 随机匀称抽样,然后对被抽样点的函数值求平均,从而可以得到函数积分 的近似值。此种方法的正确性是基于概率论的中心极限定理。当抽样点数 为m时,使用此种方法所得近似解的统计误差恒为,不随积分维数的转变而 转变。因此当积分维度较高时,蒙特卡罗方法相对于其他数值解法更优。解题三个主要步骤:构造或描述概率过程:对于本身就具有随机性质的问题,如粒子输运 问题,主要是正确描述和模拟这个概率过程,对于原来不是随机性质的确 定性问题,比如计算定积分,就必需事先构造一个人为的概率过程,它的 某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随 机性质的问题。实现从已知概率分布抽样:构造了概率模型以后,由于各种概率模型 都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随 机变量(或随机向量),就成为实现蒙特卡罗方法模拟试验的基本手段, 这也是蒙特卡罗方法被称为随机抽样的缘由。最简洁、最基本、最重要的 一个概率分布是(0,1)上的匀称分布(或称矩形分布)。随机数就是具有这 种匀称分布的随机变量。随机数序列就是具有这种分布的总体的一个简洁 子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数 的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生 随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公 式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数, 或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或 随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已 知分布随机抽样有各种方法,与从(0, 1)上匀称分布抽样不同,这些方法都 是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由 此可见,随机数是我们实现蒙特卡罗模拟的基本工具。建立各种估量量: 一般说来,构造了概率模型并能从中抽样后,即实现模拟试验后,我们就 要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估量。建立各种估量量,相当于对模拟试验的结果进行考察和登记,从中得到问题的解。例如:检验产品的正品率问题,我们可以用1表示正品,0 表示次品,于是对每个产品检验可以定义如下的随机变数Ti,作为正品率 的估量量:于是,在N次试验后,正品个数为:明显,正品率p为:不 难看出,Ti为无偏估量。当然,还可以引入其它类型的估量,如最大似然 估量,渐进有偏估量等。但是,在蒙特卡罗计算中,使用最多的是无偏估 量。用比较抽象的概率语言描述蒙特卡罗方法解题的手续如下:构造一个 概率空间(W,A,P),其中,W是一个大事集合,A是集合W的子集的s体, P是在A上建立的某个概率测度;在这个概率空间中,选取一个随机变量q (w ),w Î W ,使得这个随机变量的期望值正好是所要求的解Q ,然 后用q (w )的简洁子样的算术平均值作为Q的近似值。特点:直接追踪粒子,物理思路清楚,易于理解。 采纳随机抽样的方法,较真实的模拟粒子输运的过程,反映了统计 涨落的规律。 不受系统多维、多因素等简单性的限制,是解决简单系统粒子输运 问题的好方法。 MC程序结构清楚简洁。 讨论人员采纳MC方法编写程序来解决粒子输运问题,比较简洁得 到自己想得到的任意中间结果,应用敏捷性强。 MC方法主要弱点是收敛速度较慢和误差的概率性质,其概率误差正 比于,假如单纯以增大抽样粒子个数N来减小误差,就要增加很大的计算 量。计算程序:关于蒙特卡罗方法的计算程序已经有许多,如:EGS4、FLUKA、ETRAN、 ITS、MCNP、GEANT等。这些程序大多经过了多年的进展,花费了几百人年 的工作量。除欧洲核子讨论中心(CERN)发行的GEANT主要用于高能物理 探测器响应和粒子径迹的模拟外,其它程序都深化到低能领域,并被广泛 应用。就电子和光子输运的模拟而言,这些程序可被分为两个系列:1. EGS4、 FLUKA、 GRANT2. ETRAN、ITS、MCNP这两个系列的区分在于:对于电子输运过程的 模拟依据不同的理论采纳了不同的算法。EGS4和ETRAN分别为两个系列的基础,其它程序都采纳了它们的核心 算法。ETRAN(for Electron Transport)由差国我国标准局辐射讨论中心开发, 主要模拟光子和电子,能量范围可从IKeV到IGeV。ITS (The integrated TIGER Series of Coupled Electron/Photon Monte Carlo Transport Codes )是由美国圣地亚哥(Sandia)我国试验室在ETRAN 的基础上开发的一系列模拟计算程序,包括TIGER . CYLTRAN、ACCEPT等, 它们的主要差别在于几何模型的不同。TIGER讨论的是一维多层的问题,CYLTRAN讨论的是粒子在圆柱形介质 中的输运问题,ACCEPT是解决粒子在三维空间输运的通用程序。NCNP(Monte Carlo Neutron and Photo Transport Code)由美国橡树 林我国试验室(Oak Ridge National Laboratory)开发的一套模拟中子、光 子和电子在物质中输运过程的通用MC计算程序,在它早期的版本中并不包 含对电子输运过程的模拟,只模拟中子和光子,较新的版本(如MCNP4A) 则引进了 ETRAN,加入了对电子的模拟。FLUKA是一个可以模拟包括中子、电子、光子和质子等30余种粒子的 大型MC计算程序,它把EGS4容纳进来以完成对光子和电子输运过程的模 拟,并且对低能电子的输运算法进行了改进。