蒙特卡罗方法.ppt

上传人:本田雅阁 文档编号:2634537 上传时间:2019-04-25 格式:PPT 页数:60 大小:1.89MB
返回 下载 相关 举报
蒙特卡罗方法.ppt_第1页
第1页 / 共60页
蒙特卡罗方法.ppt_第2页
第2页 / 共60页
蒙特卡罗方法.ppt_第3页
第3页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《蒙特卡罗方法.ppt》由会员分享,可在线阅读,更多相关《蒙特卡罗方法.ppt(60页珍藏版)》请在三一文库上搜索。

1、2.1 蒙特卡洛方法(Monte Carlo simulation),引言(introduction) MC基本思想 MC收敛性及误差 MC特点,一、两种自然现象 确定性的: 日月升落,四季轮回,磁石吸铁 不确定的: 掷骰子,炮弹落点,考试成绩 二、两种研究方法 确定性问题: 解析,有限元,分子动力学,Monte-Carlo 随机性问题:Monte-Carlo,布朗动力学,1.引言,计算机模拟:,(1) 随机模拟方法或统计试验方法,又称蒙特卡洛(Monte Carlo)方法。它是通过不断产生随机数序列来模拟过程。自然界中有的过程本身就是随机的过程,物理现象中如粒子的衰变过程、粒子在介质中的输运

2、过程等。当然蒙特卡洛方法也可以借助慨率模型来解决不直接具有随机性的确定性问题。 (2) 确定性模拟方法。它是通过数值求解一个个的粒子运动方程来模拟整个系统的行为。在统计物理中称为分子动力学(Molecular Dynamics)方法。此外, 近年来还发展了神经元网络方法和原胞自动机方法。,1.引言,MC方法,分为三种类型:,(1)直接蒙特卡洛模拟。它采用随机数序列来模拟复杂随机过程的效应。 (2)蒙特卡洛积分。这是利用随机数序列计算积分的方法。积分维数越高,该方法的积分效率就越高。 (3)Metropolis蒙特卡洛模拟。这种模拟是以所谓“马尔科夫”(Markov)鏈的形式产生系统的分布序列。

3、该方法可以使我们能够研究经典和量子多粒子系统的问题。,1.引言,Monte Carlo方法:,亦称统计模拟方法,statistical simulation method 利用随机数进行数值模拟的方法,Monte Carlo名字的由来:,是由Metropolis在二次世界大战期间提出的:Manhattan计划,研究与原子弹有关的中子输运过程;,Monte Carlo是摩纳哥(monaco)的首都,该城以赌博闻名,Nicholas Metropolis (1915-1999),Monte-Carlo, Monaco,1.引言,Monte Carlo方法简史,简单地介绍一下Monte Carlo方

4、法的发展历史,1、Buffon投针实验:,1768年,法国数学家Comte de Buffon利用投针实验估计的值,1.引言,1.引言,1.引言,1.引言,2、1930年,Enrico Fermi利用Monte Carlo方法研究中子的扩散,并设计了一个Monte Carlo机械装置,Fermiac,用于计算核反应堆的临界状态,3、Von Neumann是Monte Carlo方法的正式奠基者,他与Stanislaw Ulam合作建立了概率密度函数、反累积分布函数的数学基础,以及伪随机数产生器。在这些工作中, Stanislaw Ulam意识到了数字计算机的重要性,合作起源于Manhattan

5、工程:利用ENIAC(Electronic Numerical Integrator and Computer)计算产额,1.引言,MC的统计基础- 随机变量及其分布,定义随机变量 X=xi,概率分布F(x)是X的函数 离散分布: 连续分布: f(x)为概率分布密度 数学期望: 和 方差:,1.引言,MC的统计基础- 大数定理,设 x1, x2, xn, 为一随机变量序列, 相互独立, 具有同样分布, 且 E(xi)=a 存在, 则对任意小量 0, 有 统计含义:不论随机变量的分布如何, 只要n足够大, 则算 术平均与数学期望值可无限接近, 也就是说, 算术平均以几 率收敛于其数学期望值.,1

6、.引言,MC的统计基础- 中心极限定理,设 x1,x2,xn, 为一随机变量序列, 相互独立, 具有同样 分布, 且 E(xi)=, D(xi)=2 存在, 则 统计含义:如果一个随机变量X,是由大量相互独立的因素 的影响形成的,其中每一个因素在总的影响中所起作用都 是微小的(被稀释) ,这种随机变量近似地服从正态分布,1.引言,MC的基础 随机过程,1 定义,XX (x,t) 随时间变化的随机变量,或时间随机变量序列 2 按分布函数,分类 a) 平稳随机过程 b) Markov 过程 c) 独立增量随机过程 d) 独立随机过程,1.引言,MC的基础 - 平稳随机过程,1 定义:X(t) ,

7、如果它的n维(n个状态)概率密度与初始分布无关,即对任何n 和 t满足fx(x1,x2,xn; t1,t2,tn)=fx(x1,x2,xn; t1+t,t2 +t,tn +t) 含义:平稳随机过程的统计特性与所选择的时间起点无关,不随时间的推移而变化,即是“时间平稳的”。 2 统计特性 1)一维概率密度与时间无关 2)二维概率密度,只与两个状态对应的时间间隔t有关,其时间自相关仅是t的函数 3 应用: 电阻的热噪声,电子信号,,1.引言,MC的基础 - Markov 链,1 定义:在可列个离散状态x1,x2,xN 和离散时间t1,t2,tn, 若随 机过程在tm+k时刻变成任一状态xi的概率,

8、只与tm时刻的 状态有关(无后效),而与此前状态无关,称离散随机序列 PXm+k=xi,m+k | Xm=xi,m, Xm-1=xi,m-1, X1=xi,1 = PXm+k=xi,m+k | Xm=xi,m 为Markov链. 2 概率转移矩阵 pij 条件概率: pij(m, m+k)PXm+k=xj| Xm=xi 不依赖于m的pij称,齐次Markov 链 3 应用:统计物理Ising模型(固态相变,液固相变,),1.引言,MC的模拟方法(步骤),1. 确定统计方案( Xi , ) 2. 确定随机变量Xi 的概率分布:fi(x) 3. 根据 fi(x) ,对Xi抽样: Xi Ri 4.

9、编程进行计算机模拟 5. 获得统计量,1.引言,MC的模拟方法1 确定统计方案,1 确定统计模型 1) 现象 模型 随机现象YY(Xi), Xi=X1, X2, X3, 2) 确定随机变量Xi的分布特征fi(x) 平均分布,指数分布,正态分布,分布 2 确定统计量,1.引言,MC的模拟方法2常见的概率分布,其他还有:分布,分布,2分布,t分布,Poisson分布,1.引言,MC的模拟方法3 概率抽样方法,1 直接抽样法:反函数法、函数变换法 2 间接抽样法:舍选法,值序抽样 设g(x,y)为X,Y的联合密度函数 如有某一分布 H(x) M 为任意函数,请对其抽样。 舍选抽样示意图,1.引言,M

10、C的模拟方法4 随机数的产生,1 基本随机数, 2 随机数和“伪随机数” 伪随机数(序列)重演周期应足够长 3 产生办法 同余法、混合同余法、组合同余法等 4 计算机实现 a) 自定义子程序,b) 调用内部函数 强调:伪随机数的好坏,直接影响统计结果,应予重视。,1.引言,Monte Carlo模拟在物理研究中的作用,1.引言,Monte Carlo模拟的步骤:,根据欲研究的物理系统的性质,建立能够描述该系统特性的理论模型,导出该模型的某些特征量的概率密度函数;,从概率密度函数出发进行随机抽样,得到特征量的一些模拟结果;,对模拟结果进行分析总结,预言物理系统的某些特性。,1.引言,注意以下两点

11、:,Monte Carlo方法与数值解法的不同:,Monte Carlo方法利用随机抽样的方法来求解物理问题;,数值解法:从一个物理系统的数学模型出发,通过求解一系列的微分方程来的导出系统的未知状态;,Monte Carlo方法并非只能用来解决包含随机的过程的问题:,许多利用Monte Carlo方法进行求解的问题中并不包含随机过程 例如:用Monte Carlo方法计算定积分. 对这样的问题可将其转换成相关的随机过程, 然后用Monte Carlo方法进行求解,1.引言,Monte Carlo算法的主要组成部分,概率密度函数(pdf) 必须给出描述一个物理系统的一组概率密度函数;,随机数产生

12、器能够产生在区间0,1上均匀分布的随机数,抽样规则如何从在区间0,1上均匀分布的随机数出发,随机抽取服从给定的pdf的随机变量;,模拟结果记录记录一些感兴趣的量的模拟结果,误差估计必须确定统计误差(或方差)随模拟次数以及其它一些量的变化;,减少方差的技术利用该技术可减少模拟过程中计算的次数;,并行和矢量化可以在先进的并行计算机上运行的有效算法,1.引言,Monte Carlo模拟的应用:,自然现象的模拟:,实验探测器的模拟,数值分析:,利用Monte Carlo方法求积分,1.引言,27,1.针对实际问题建立一个简单且便于实现的概率统计模 型,使所求的量(或解)恰好是该模型某个指标的概率分布或

13、者数字特征。,2.对模型中的随机变量建立抽样方法,在计算机上进行 模拟测试,抽取足够多的随机数,对有关事件进行统计,3.对模拟试验结果加以分析,给出所求解的估计及其精 度(方差)的估计,4.必要时,还应改进模型以降低估计方差和减少试验费 用,提高模拟计算的效率,2.MC基本思路,当问题可以抽象为某个确定的数学问题时,应当首先建立一个恰当的概率模型,即确定某个随机事件A或随机变量X,使得待求的解等于随机事件出现的概率或随机变量的数学期望值。然后进行模拟实验,即重复多次地模拟随机事件A或随机变量X。最后对随机实验结果进行统计平均,求出A出现的频数或X的平均值作为问题的近似解。,2.MC基本思想,二

14、十世纪四十年代中期,由于科学技术的发展和电子计算机的发明,蒙特卡罗方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。但其基本思想并非新颖,人们在生产实践和科学试验中就已发现,并加以利用。 两个例子 例1. 蒲丰氏问题 例2. 射击问题(打靶游戏) 计算机模拟试验过程,2.MC基本思想,例1. 蒲丰氏问题,为了求得圆周率值,在十九世纪后期,有很多人作了这样的试验:将长为2l的一根针任意投到地面上,用针与一组相间距离为2a( la)的平行线相交的频率代替概率P,再利用准确的关系式: 求出值 其中为投计次数,n为针与平行线相交次数。这就是古典概率论中著名的蒲丰氏问题。,2.MC

15、基本思想,一些人进行了实验,其结果列于下表 :,2.MC基本思想,例2. 射击问题(打靶游戏),设r表示射击运动员的弹着点到靶心的距离,(r)表示击中r处相应的得分数(环数),f(r)为该运动员的弹着点的分布密度函数,它反映运动员的射击水平。该运动员的射击成绩为 用概率语言来说,是随机变量(r)的数学期望,即,2.MC基本思想,现假设该运动员进行了次射击,每次射击的弹着点依次为r1,r2,rN,则次得分g(r1),g(r2),g(rN)的算术平均值 代表了该运动员的成绩。换言之,为积分的估计值,或近似值。 在该例中,用次试验所得成绩的算术平均值作为数学期望的估计值(积分近似值)。,2.MC基本

16、思想,2.MC基本思想数值积分,与一般的数值积分方法比较,Monte Carlo方法 具有以下优点:,2.MC基本思想数值积分,由以上例子可以看出,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验的方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。这就是蒙特卡罗方法的基本思想。 当随机变量的取值仅为1或0时,它的数学期望就是某个事件的概率。或者说,某种事件的概率也是随机变量(仅取值为1或0)的数学期望。,2.MC基本思想,因此,可以通俗地说,蒙特卡罗方法是用随机试验的方法计算积分,即将所要计算

17、的积分看作服从某种分布密度函数f(r)的随机变量(r)的数学期望 通过某种试验,得到个观察值r1,r2,rN(用概率语言来说,从分布密度函数f(r)中抽取个子样r1,r2,rN,),将相应的个随机变量的值g(r1),g(r2),g(rN)的算术平均值 作为积分的估计值(近似值)。,2.MC基本思想,为了得到具有一定精确度的近似解,所需试验的次数是很多的,通过人工方法作大量的试验相当困难,甚至是不可能的。因此,蒙特卡罗方法的基本思想虽然早已被人们提出,却很少被使用。本世纪四十年代以来,由于电子计算机的出现,使得人们可以通过电子计算机来模拟随机试验过程,把巨大数目的随机试验交由计算机完成,使得蒙特

18、卡罗方法得以广泛地应用,在现代化的科学技术中发挥应有的作用。,2.MC基本思想,计算机模拟试验过程,计算机模拟试验过程,就是将试验过程(如投针,射击)化为数学问题,在计算机上实现。以上述两个问题为例,分别加以说明。 例1. 蒲丰氏问题 例2. 射击问题(打靶游戏) 由上面两个例题看出,蒙特卡罗方法常以一个“概率模型”为基础,按照它所描述的过程,使用由已知分布抽样的方法,得到部分试验结果的观察值,求得问题的近似解。,2.MC基本思想,例蒲丰氏问题,设针投到地面上的位置可以用一组参数(x,)来描述,x为针中心的坐标,为针与平行线的夹角,如图所示。 任意投针,就是意味着x与都是任意取的,但x的范围限

19、于0,a,夹角的范围限于0,。在此情况下,针与平行线相交的数学条件是,针在平行线间的位置,2.MC基本思想,如何产生任意的(x,)?x在0,a上任意取值,表示x在0,a上是均匀分布的,其分布密度函数为: 类似地,的分布密度函数为: 因此,产生任意的(x,)的过程就变成了由f1(x)抽样x及由f2()抽样的过程了。由此得到: 其中1,2均为(0,1)上均匀分布的随机变量。,2.MC基本思想,每次投针试验,实际上变成在计算机上从两个均匀分布的随机变量中抽样得到(x,),然后定义描述针与平行线相交状况的随机变量s(x,),为 如果投针次,则 是针与平行线相交概率的估计值。事实上, 于是有,2.MC基

20、本思想,例射击问题,设射击运动员的弹着点分布为 用计算机作随机试验(射击)的方法为,选取一个随机数,按右边所列方法判断得到成绩。 这样,就进行了一次随机试验(射击),得到了一次成绩 (r),作次试验后,得到该运动员射击成绩的近似值,2.MC基本思想,蒙特卡罗方法作为一种计算方法,其收敛性与误差是普遍关心的一个重要问题。 收敛性 误差 减小方差的各种技巧 效率,3.MC收敛性及误差,收敛性,由前面介绍可知,蒙特卡罗方法是由随机变量X的简单子样X1,X2,XN的算术平均值: 作为所求解的近似值。由大数定律可知, 如X1,X2,XN独立同分布,且具有有限期望值(E(X)),则 即随机变量X的简单子样

21、的算术平均值 ,当子样数充分大时,以概率1收敛于它的期望值E(X)。,3.MC收敛性及误差,误差,蒙特卡罗方法的近似值与真值的误差问题,概率论的中心极限定理给出了答案。该定理指出,如果随机变量序列X1,X2,XN独立同分布,且具有有限非零的方差2 ,即 f(X)是X的分布密度函数。则,3.MC收敛性及误差,当N充分大时,有如下的近似式 其中称为置信度,1称为置信水平。 这表明,不等式 近似地以概率 1成立,且误差收敛速度的阶为 。 通常,蒙特卡罗方法的误差定义为 上式中 与置信度是一一对应的,根据问题的要求确定出置信水平后,查标准正态分布表,就可以确定出 。,3.MC收敛性及误差,下面给出几个

22、常用的与的数值: 关于蒙特卡罗方法的误差需说明两点:第一,蒙特卡罗方法的误差为概率误差,这与其他数值计算方法是有区别的。第二,误差中的均方差是未知的,必须使用其估计值 来代替,在计算所求量的同时,可计算出 。,3.MC收敛性及误差,减小方差的各种技巧,显然,当给定置信度后,误差由和N决定。要减小,或者是增大N,或者是减小方差2。在固定的情况下,要把精度提高一个数量级,试验次数N需增加两个数量级。因此,单纯增大N不是一个有效的办法。 另一方面,如能减小估计的均方差,比如降低一半,那误差就减小一半,这相当于N增大四倍的效果。因此降低方差的各种技巧,引起了人们的普遍注意。后面课程将会介绍一些降低方差

23、的技巧。,3.MC收敛性及误差,效率,一般来说,降低方差的技巧,往往会使观察一个子样的时间增加。在固定时间内,使观察的样本数减少。所以,一种方法的优劣,需要由方差和观察一个子样的费用(使用计算机的时间)两者来衡量。这就 是蒙特卡罗方法中效率的概念。它定义为 ,其中c 是观察一个子样的平均费用。显然 越小,方法越有效。,3.MC收敛性及误差,优点 能够比较逼真地描述具有随机性质的事物的特点及物理实验过程。 受几何条件限制小。 收敛速度与问题的维数无关。 具有同时计算多个方案与多个未知量的能力。 误差容易确定。 程序结构简单,易于实现。,缺点 收敛速度慢。 误差具有概率性。 在粒子输运问题中,计算

24、结果与系统大小有关。,4.MC特点,能够比较逼真地描述具有随机性质的事物的特点及物理实验过程,从这个意义上讲,蒙特卡罗方法可以部分代替物理实验,甚至可以得到物理实验难以得到的结果。用蒙特卡罗方法解决实际问题,可以直接从实际问题本身出发,而不从方程或数学表达式出发。它有直观、形象的特点。,4.MC特点,受几何条件限制小,在计算s维空间中的任一区域Ds上的积分 时,无论区域Ds的形状多么特殊,只要能给出描述Ds的几何特征的条件,就可以从Ds中均匀产生N个点 ,得到积分的近似值。 其中Ds为区域Ds的体积。这是数值方法难以作到的。 另外,在具有随机性质的问题中,如考虑的系统形状很复杂,难以用一般数值

25、方法求解,而使用蒙特卡罗方法,不会有原则上的困难。,4.MC特点,收敛速度与问题的维数无关,由误差定义可知,在给定置信水平情况下,蒙特卡罗方法的收敛速度为 ,与问题本身的维数无关。维数的变化,只引起抽样时间及估计量计算时间的变化,不影响误差。也就是说,使用蒙特卡罗方法时,抽取的子样总数N与维数s无关。维数的增加,除了增加相应的计算量外,不影响问题的误差。这一特点,决定了蒙特卡罗方法对多维问题的适应性。而一般数值方法,比如计算定积分时,计算时间随维数的幂次方而增加,而且,由于分点数与维数的幂次方成正比,需占用相当数量的计算机内存,这些都是一般数值方法计算高维积分时难以克服的问题。,4.MC特点,

26、具有同时计算多个方案与多个未知量的能力,对于那些需要计算多个方案的问题,使用蒙特卡罗方法有时不需要像常规方法那样逐个计算,而可以同时计算所有的方案,其全部计算量几乎与计算一个方案的计算量相当。例如,对于屏蔽层为均匀介质的平板几何,要计算若干种厚度的穿透概率时,只需计算最厚的一种情况,其他厚度的穿透概率在计算最厚一种情况时稍加处理便可同时得到。 另外,使用蒙特卡罗方法还可以同时得到若干个所求量。例如,在模拟粒子过程中,可以同时得到不同区域的通量、能谱、角分布等,而不像常规方法那样,需要逐一计算所求量。,4.MC特点,误差容易确定,对于一般计算方法,要给出计算结果与真值的误差并不是一件容易的事情,

27、而蒙特卡罗方法则不然。根据蒙特卡罗方法的误差公式,可以在计算所求量的同时计算出误差。对干很复杂的蒙特卡罗方法计算问题,也是容易确定的。 一般计算方法常存在着有效位数损失问题,而要解决这一问题有时相当困难,蒙特卡罗方法则不存在这一问题。,4.MC特点,程序结构简单,易于实现,在计算机上进行蒙特卡罗方法计算时,程序结构简单,分块性强,易于实现。,4.MC特点,收敛速度慢,如前所述,蒙特卡罗方法的收敛速度为 ,一般不容易得到精确度较高的近似结果。对于维数少(三维以下)的问题,不如其他方法好。,4.MC特点,误差具有概率性,由于蒙特卡罗方法的误差是在一定置信水平下估计的,所以它的误差具有概率性,而不是一般意义下的误差。,4.MC特点,在粒子输运问题中,计算结果与系统大小有关,经验表明,只有当系统的大小与粒子的平均自由程可以相比较时(一般在十个平均自由程左右),蒙特卡罗方法计算的结果较为满意。但对于大系统或小概率事件的计算问题,计算结果往往比真值偏低。而对于大系统,数值方法则是适用的。 因此,在使用蒙特卡罗方法时,可以考虑把蒙特卡罗方法与解析(或数值)方法相结合,取长补短,既能解决解析(或数值)方法难以解决的问题,也可以解决单纯使用蒙特卡罗方法难以解决的问题。这样,可以发挥蒙特卡罗方法的特长,使其应用范围更加广泛。,4.MC特点,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1