第5讲 蒙特卡洛方法的应用.ppt一、MC 的起源和发展
随机模拟方法,也称为Monte Carlo方法,是一种基于“随机数”的计算方法。这一方法源于美国在第一次世界大战进行的研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。冯·诺伊曼是公理化方法和计算机体系的领袖人物,Monte Carlo方法也是他的功劳。
事实上,Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率”。18世纪下半叶的法国学者Buffon提出用投针试验的方法来确定圆周率π的值。这个著名的Buffon试验是Monte Carlo方法的最早的尝试!
历史上曾有几位学者相继做过这样的试验。不过呢,他们的试验是费时费力的,同时精度不够高,实施起来也很困难。然而,随着计算机技术的飞速发展,人们不需要具体实施这些试验,而只要在计算机上进行大量的、快速的模拟试验就可以了。
Monte Carlo方法是现代计算技术的最为杰出的成果之一,它在工程领域的作用是不可比拟的。
Buffon试验
假设平面上有无数条距离为1的等距平行线,现向该平面随机投掷一根长度为的针( ),
则我们可计算该针与任一平行线相交的概率。这里,随机投针指的是:针的中心点与最近的平行线间的距离均匀的分布在区间上,针与平行线的夹角(不管相交与否)均匀的分布在区间上。
因此,针与线相交的充要条件是
Buffon试验
从而针线相交的概率为
根据上式,若我们做大量的投针试验并记录针与线相交的次数,则由大数定理可以估计出针线相交的概率,从而得到的估计值。
针与线的位置关系:
function piguji=buffon(llength,mm)
%llength 是针的长度
%mm 是随机实验次数
frq=0;
xrandnum = unifrnd(0,,1,mm);
phi= unifrnd(0,pi,1,mm);
for ii=1:mm
if (xrandnum(1,ii)<=(llength*sin(phi(1,ii))/2))
frq=frq+1;
end
end
piguji=2*llength/(frq/mm)
>> buffon(.6,1000) piguji =
>> buffon(.6,10000) piguji =
>> buffon(.6,100000) piguji =
>> buffon(.6,1000000) piguji =
>> buffon(.6,1000000) piguji =
>> buffon(.6,1000000) piguji =
>> buffon(.6,1000000) piguji =
>> buffon(.6,1000000) piguji =
>> buffon(.6,1000000) piguji =
二、MC 的原理
应用Monte Carlo方法求解工程技术问题可以分为两类:
确定性问题
随机性问题
思路
1、针对实际问题建立一个简单且便于实现的概率统计模型,使问题的解对应于该模型中随机变量的概率分布或其某些数字特征,比如,均值和方差等。所构造的模型在主要特征参量方面要与实际问题或系统相一致的。
2、根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,再进行随机模拟试验。
3、根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。
4、按照所建立的模型进行仿真试验、计算,求出问题的随机解。
5、统计分析模拟试验结果,给出问题的估计以及其精度估计。
6、必要时,还应改进模型以降低估计方差和减少试验费用,提高模拟计算的效率。
第5讲 蒙特卡洛方法的应用 来自淘豆网m.daumloan.com转载请标明出处.