蒙特卡罗方法
- 格式:ppt
- 大小:931.50 KB
- 文档页数:37


蒙特卡罗方法(MC)
蒙特卡罗(Monte Carlo)方法:
蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分
支,它是在本世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。
传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法
由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结
果。这也是我们采用该方法的原因。
蒙特卡罗方法的基本原理及思想如下:
当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以
通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并
用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运
动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是
以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题
的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已
知概率分布抽样;建立各种估计量。
蒙特卡罗解题三个主要步骤:
构造或描述概率过程:
对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过
程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为
的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化
为随机性质的问题。
实现从已知概率分布抽样:
构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,
因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验
的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的
一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的
随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种
第三章 蒙特卡罗方法简介
3.1 Monte Carlo方法简介
Monte Carlo方法是诺斯阿拉莫斯实验室在总结其二战期间工作(曼哈顿计划)的基础上提出来的。Monte Carlo的发明,主要归功于Enrico Fermi、Von
Neumann和Stanislaw Ulam等。自二战以来,Monte Carlo方法由于其在解决粒子输运问题上特有的优势而得到了迅速发展,并在核物理、辐射物理、数学、电子学等方面得到了广泛的应用。Monte Carlo的基本思想就是基于随机数选择的统计抽样,这和赌博中掷色子很类似,故取名Monte Carlo。
Monte Carlo方法非常适于解决复杂的三维问题,对于不能用确定性方法解决的问题尤其有用,可以用来模拟核子与物质的相互作用。在粒子输运中,Monte
Carlo技术就是跟踪来自源的每个粒子,从粒子产生开始,直到其消亡(吸收或逃逸等)。在跟踪过程中,利用有关传输数据经随机抽样来决定粒子每一步的结果[6]。
3.2 Monte Carlo发展历程
MCNP程序全名为 Monte Carlo Neutron and Photon Transport
Code (蒙特卡罗中子 -光子输运程序 )。Monte Carlo模拟程序是在1940年美国实施“发展核武器计划”时,由洛斯阿拉莫斯实验室(LANL)提出的,为其所投入的研究、发展、程序编写及参数制作超过了500人年。1950年Monte Carlo方法的机器语言出现 , 1963年通用性的Monte Carlo方法语言推出,在此基础上,20世纪70年代中期由中子程序和光子程序合并,形成了最初的MCNP程序。自那时起,每2—3年MCNP更新一次 , 版本不断发展,功能不断增加,适应面也越来越广。已知的 MCNP程序研制版本的更新时间表如下:
MCNP-3:1983年写成,为标准的FORTRAN-77版本,截面采用ENDF /B2III。
1图1-1蒙特卡罗方法学习总结
核工程与核技术2014级3班张振华20144530317
一、蒙特卡罗方法概述
1.1蒙特卡罗方法的基本思想
1.1.1基本思想
蒙特卡罗方的基本思想就是,当所求问题的解是某个事件的概率,或者是某个随机变量
的数学期望,或者是与概率、数学期望有关的量时,通过某种试验方法,得出该事件发生的
频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。
1.1.2计算机模拟打靶游戏
为了能更为深刻地理解蒙特卡罗方法的基本思想,我们学习了蒲丰氏问题和打靶游戏两
大经典例子。下面主要对打靶游戏进行剖析、计算机模拟(MATLAB程序)。
设某射击运动员的弹着点分布如表1-1所示,
首先用一维数轴刻画出已知该运动员的弹
着点的分布如图1-1所示。研究打靶游戏,我
们不用考察子弹的运动轨迹,只需研究每次“扣
动扳机”后的子弹弹着点。每一环数对应唯一确定的概率,且注意到概率分布函数有单调不
减和归一化的性质。首先我们产生一个在(0,1)上均匀分布的随机数(模拟扣动扳机),然后
将该随机数代表的点投到P轴上(模拟子弹射向靶上的一个确定点),得到对应的环数(即
子弹的弹着点),模拟打靶完成。反复进行N次试验,统计出试验结果的样本均值。样本均
值应当等于数学期望值,但允许存在一定的偏差,即理论计算值应该约等于模拟试验结果。
clearall;clc;
N=100000;s=0;
forn=1:N%step4.重复N次打靶游戏试验x=rand();%step1.产生在(0,1)上均匀分布的随机数
if(x<=0.1)%step2.若随机数落在(0.0,0.1)上,则代表弹着点在7环
g=7;
s=s+g;%step3.统计总环数
elseif(x<=0.2)%step2.若随机数落在(0.1,0.2)上,则代表弹着点在8环
g=8;s=s+g;
elseif(x<=0.5)%step2.若随机数落在(0.2,0.5)上,则代表弹着点在9环
1 / 15
蒙特卡罗方法(Monte Carlo method)
蒙特卡罗方法概述
蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名。
蒙特卡罗方法的提出
蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777年,法国Buffon提出用投针实验的方法求圆周率∏。这被认为是蒙特卡罗方法的起源。
蒙特卡罗方法的基本思想
Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率”。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。
考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个点,有M个点落于“图形”内,则该“图形”的面积近似为M/N。可用民意测验来作一个不严格的比喻。民意测验的人不是征询每一个登记选民的意见,而是通过对选民进行小规模的抽样调查来确定可能的优胜者。其基本思想是一样的。
科技计算中的问题比这要复杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Curse of Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte