蒙特卡罗方法学习总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图1-1

蒙特卡罗方法学习总结

核工程与核技术2014级3班张振华20144530317

一、蒙特卡罗方法概述

1.1蒙特卡罗方法的基本思想

1.1.1基本思想

蒙特卡罗方的基本思想就是,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。

1.1.2计算机模拟打靶游戏

为了能更为深刻地理解蒙特卡罗方法的基本思想,我们学习了蒲丰氏问题和打靶游戏两大经典例子。下面主要对打靶游戏进行剖析、计算机模拟(MATLAB 程序)。

设某射击运动员的弹着点分布如表1-1

所示,

首先用一维数轴刻画出已知该运动员的弹

着点的分布如图1-1所示。研究打靶游戏,我

们不用考察子弹的运动轨迹,只需研究每次“扣动扳机”后的子弹弹着点。每一环数对应唯一确定的概率,且注意到概率分布函数有单调不减和归一化的性质。首先我们产生一个在(0,1)上均匀分布的随机数(模拟扣动扳机),然后将该随机数代表的点投到P 轴上(模拟子弹射向靶上的一个确定点),得到对应的环数(即子弹的弹着点),模拟打靶完成。反复进行N 次试验,统计出试验结果的样本均值。样本均值应当等于数学期望值,但允许存在一定的偏差,即理论计算值应该约等于模拟试验结果。

clear all;clc;

N=100000;s=0;

for n=1:N %step 4.重复N 次打靶游戏试验

x=rand();

%step 1.产生在(0,1)上均匀分布的随机数if(x<=0.1)

%step 2.若随机数落在(0.0,0.1)上,则代表弹着点在7环g=7;

s=s+g;

%step 3.统计总环数elseif(x<=0.2)

%step 2.若随机数落在(0.1,0.2)上,则代表弹着点在8环g=8;s=s+g;

elseif(x<=0.5)

%step 2.若随机数落在(0.2,0.5)上,则代表弹着点在9环g=9;s=s+g;

else

%step 2.若随机数落在(0.5,1.0)上,则代表弹着点在10环

g=10;s=s+g;

end

end gn_th=7*0.1+8*0.1+9*0.3+10*0.5;

%step 5.计算、输出理论值fprintf('理论值:%f\n',gn_th);

gn=s/N;

%step 6.计算、输出试验结果

fprintf('试验结果:%f\n',gn);1.2蒙特卡罗方法的收敛性与误差

1.2.1收敛性

由大数定律可知,应用蒙特卡罗方法求近似解,当随机变量Z 的简单子样数N 趋向于无穷大(N 充分大)时,其均值依概率收敛于它的数学期望。

1.2.2误差

由中心极限定理可知,近似值与真值的误差为N

Z E Z N αλ<-)(ˆ。式中的αλ的值可以根据给出的置信水平,查阅标准正态分布表来确定。

1.2.3收敛性与误差的关系

在一般情况下,求具有有限r 阶原点矩()∞

⎪⎪⎭

⎫ ⎝⎛--r

N O 1。不难看出,在具有有限方差(2=r )的假设下,试验次数N 需要增加两个数量级,所以在实际的应用中应作出适当的平衡。

1.3蒙特卡罗方法的优缺点

1.3.1优点

(1)可以逼真地模拟出具有随机性质的事物的特点及物理实验过程;

(2)受几何条件的限制较小;

(3)收敛速度与问题的维数无关,在处理多维度问题时有更明显的优势;

(4)具有同时计算多个方案与多个未知量的能力;

(5)误差容易确定;

(6)程序结构简单,容易借助计算机实现。

1.3.2缺点

(1)收敛速度慢,故通常不用来处理低维度问题;

(2)误差具有概率性;

(3)在粒子输运问题中,计算结果与系统大小有关。

综上所述,在应用蒙特卡罗方法解决现实问题时,应充分考虑蒙特卡罗方法的优缺点,尽可能地发挥其优点,同时还要注意到其缺点有可能带来的问题。

1.4蒙特卡罗方法在核科学技术方面的主要应用

蒙特卡罗方法在核科学技术方面主要应用于粒子输运问题。

二、随机数

2.1随机数的定义、性质及产生

2.1.1随机数的定义

由单位均匀分布(最简单、最基本的分布)抽取的简单子样称为随机数序列,其中每一个体称为随机数,通常用ξ表示。

2.1.2随机数的性质

由随机数的定义,可以知道随机数本身具有独立性、均匀性两大性质。

2.1.3随机数的产生

可以使用随机数表和物理方法来产生随机数。

随机数表,由0到9十个数字组成,每个数字等概率出现且相互独立。若需要一个n 位有效数字的随机数,只需要将随机数表中每n 个相邻的随机数字合并在一起,且在最高位前加上小数点即可。但是,随机数表在计算机中占用的内存空间很大,而且难以满足使用蒙特卡罗方法时需要产生大量随机数的要求,故该方法不适于在计算机上使用。

物理方法,利用某些物理现象,在计算机上增加某些特殊设备,可以在计算机上直接产生随机数。但是,此方法产生的随机数序列无法重复实现,给结果验算带来极大的困难,而且须另外在计算机上联接附加设备,故该方法亦不适于在计算机上使用。

在现实使用蒙特卡罗方法时,通常使用数学方法来产生伪随机数来替代随机数。

2.2伪随机数

2.2.1伪随机数

在计算机上用递推公式 ,2,1),,,,(11==-+++n T k n n n k n ξξξξ产生随机数数列是最常见的产生伪随机数的方法。对于给定的初始值k ξξξ,,,21 ,确定 ,2,1,=+n k n ξ。

2.2.2伪随机数的缺陷

1)产生伪随机数的递推公式和处置确定后,整个随机数序列随之被唯一确定,不满足随机数相互独立的要求。但是,只要递推公式设计比较合理,随机数间的相互独立性可以近似满足随机数的要求。

2)随机数序列是由递推公式确定得,而在计算机上所能表示的]1,0[上的数又是有限的。如果出现有)(,n n n n ''<'''',使i n i n +''+'=ξξ,那么,随机数列就会出现周期性循环现象,不能满足随机数的要求。我们可以定义伪随机数的周期为n n T '-''=,伪随机数的最大容量为n ''=λ。但是,只要在一个循环周期的伪随机数个数多于所用随机数的个数时,此问题不会出现。

相关文档
最新文档