欢迎来到天天文库
浏览记录
ID:57328800
大小:236.88 KB
页数:8页
时间:2020-08-12
《蒙特卡罗方法学习总结.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、蒙特卡罗方法学习总结核工程与核技术2014级3班张振华20144530317一、蒙特卡罗方法概述1.1蒙特卡罗方法的基本思想1.1.1基本思想蒙特卡罗方的基本思想就是,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。1.1.2计算机模拟打靶游戏为了能更为深刻地理解蒙特卡罗方法的基本思想,我们学习了蒲丰氏问题和打靶游戏两大经典例子。下面主要对打靶游戏进行剖析、计算机模拟(MATLAB程序)。设某射击运动员的弹着点分布如表1
2、-1所示,首先用一维数轴刻画出已知该运动员的弹着点的分布如图1-1所示。研究打靶游戏,我们不用考察子弹的运动轨迹,只需研究每次“扣图1-1动扳机”后的子弹弹着点。每一环数对应唯一确定的概率,且注意到概率分布函数有单调不减和归一化的性质。首先我们产生一个在(0,1)上均匀分布的随机数(模拟扣动扳机),然后将该随机数代表的点投到P轴上(模拟子弹射向靶上的一个确定点),得到对应的环数(即子弹的弹着点),模拟打靶完成。反复进行N次试验,统计出试验结果的样本均值。样本均值应当等于数学期望值,但允许存在一定的偏差,即理论计算值应该约等于模拟试验结果。clearall;clc;N=1
3、00000;s=0;forn=1:N%step4.重复N次打靶游戏试验1x=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环g=9;s=s+g;else%step2.若随机数落在(0.5,1.0)上,则代表弹着点在10环g=
4、10;s=s+g;endendgn_th=7*0.1+8*0.1+9*0.3+10*0.5;%step5.计算、输出理论值fprintf('理论值:%f',gn_th);gn=s/N;%step6.计算、输出试验结果fprintf('试验结果:%f',gn);1.2蒙特卡罗方法的收敛性与误差1.2.1收敛性由大数定律可知,应用蒙特卡罗方法求近似解,当随机变量Z的简单子样数N趋向于无穷大(N充分大)时,其均值依概率收敛于它的数学期望。1.2.2误差由中心极限定理可知,近似值与真值的误差为ZˆE(Z)。式中的的值可以NN根据给出的置信水平,查阅标准正态分
5、布表来确定。1.2.3收敛性与误差的关系r在一般情况下,求具有有限r阶原点矩EZ(1r2)时的收敛速度为2r1ONr。不难看出,在具有有限方差(r2)的假设下,试验次数N需要增加两个数量级,所以在实际的应用中应作出适当的平衡。1.3蒙特卡罗方法的优缺点1.3.1优点(1)可以逼真地模拟出具有随机性质的事物的特点及物理实验过程;(2)受几何条件的限制较小;(3)收敛速度与问题的维数无关,在处理多维度问题时有更明显的优势;(4)具有同时计算多个方案与多个未知量的能力;(5)误差容易确定;(6)程序结构简单,容易借助计算机实现。1.3.2缺点
6、(1)收敛速度慢,故通常不用来处理低维度问题;(2)误差具有概率性;(3)在粒子输运问题中,计算结果与系统大小有关。综上所述,在应用蒙特卡罗方法解决现实问题时,应充分考虑蒙特卡罗方法的优缺点,尽可能地发挥其优点,同时还要注意到其缺点有可能带来的问题。1.4蒙特卡罗方法在核科学技术方面的主要应用蒙特卡罗方法在核科学技术方面主要应用于粒子输运问题。二、随机数2.1随机数的定义、性质及产生2.1.1随机数的定义由单位均匀分布(最简单、最基本的分布)抽取的简单子样称为随机数序列,其中每一个体称为随机数,通常用表示。32.1.2随机数的性质由随机数的定义,可以知道随机数本身具有
7、独立性、均匀性两大性质。2.1.3随机数的产生可以使用随机数表和物理方法来产生随机数。随机数表,由0到9十个数字组成,每个数字等概率出现且相互独立。若需要一个n位有效数字的随机数,只需要将随机数表中每n个相邻的随机数字合并在一起,且在最高位前加上小数点即可。但是,随机数表在计算机中占用的内存空间很大,而且难以满足使用蒙特卡罗方法时需要产生大量随机数的要求,故该方法不适于在计算机上使用。物理方法,利用某些物理现象,在计算机上增加某些特殊设备,可以在计算机上直接产生随机数。但是,此方法产生的随机数序列无法重复实现,给结果验算带来极大的困难,而
此文档下载收益归作者所有