1、蒙特卡罗方法又称统计模拟(Statistical Simulation)方法,它用随机数对问题的概率模型进行数值模拟从而获得问题的解。第1页,共21页。Nicholas Metropolis(1915-1999)Monte-Carlo,Monaco 是由是由Metropolis在二次世界大战期间提出的:在二次世界大战期间提出的:Manhattan计划,研究与原子弹有关的中子输运过程;计划,研究与原子弹有关的中子输运过程;Monte Carlo是摩纳哥(是摩纳哥(monaco)的首都,该城以赌博闻名的首都,该城以赌博闻名第2页,共21页。为了求得圆周率值,在十九世纪后期,有很多人作了这样的试验:
2、将长为2l的一根针任意投到地面上,用针与一组相间距离为2a(la)的平行线相交的频率代替概率P,再利用准确的关系式:alP2 求出值)(22nNalaPl其中为投计次数,n为针与平行线相交次数。这就是古典概率论中著名的蒲丰问题。第3页,共21页。一些人进行了实验,其结果列于下表:实验者年份投计次数的实验值沃尔弗(Wolf)185050003.1596斯密思(Smith)185532043.1553福克斯(Fox)189411203.1419拉查里尼(Lazzarini)190134083.1415929第4页,共21页。x x针在平行线间的位置 n 任意投针,就是意味着x与都是任意取的,但x的
3、范围限于0,a,夹角的范围限于0,。在此情况下,针与平行线相交的数学条件是x l sin第5页,共21页。NnaladlP2sin0则投针N次,相交次数为n,则相交的概率为:)(22nNalaPl说明:1,用随机方法可以解决一些比较难于用确定性方法解决的问题。(优点)2,随机方法要达到一定的精度,所耗时间较长。(缺点)3,用随机方法计算,一个关键的问题是随机数的取得。(关键)第6页,共21页。蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
4、第7页,共21页。1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2.根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。第8页,共21页。3.根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。5.
5、统计分析模拟试验结果,给出问题的概率解以及解的精度估计。第9页,共21页。1,0是蒙特卡罗方法研究的一个重要内容。如果得到0,1区间均匀分布的随机数,则任何区间a,b之内的随机数都可以得到:abaR随机数的要求:1,足够多个随机数能遍布0,1范围,非周期性,遍历性。2,在0,1中每个小区间出现的机会相等,等概率性。并不是一个简单的问题。stdlib.h里面的random()函数可以在低精度的情况下使用。第10页,共21页。n为了产生随机数,可以使用随机数表。随机数表是由0,1,9十个数字组成,每个数字以0.1的等概率出现,数字之间相互独立。这些数字序列叫作随机数字序列。如果要得到n位有效数字的
6、随机数,只需将表中每n个相邻的随机数字合并在一起,且在最高位的前边加上小数点即可。例如,某随机数表的第一行数字为7634258910,要想得到三位有效数字的随机数依次为0.763,0.425,0.891。n因为随机数表需在计算机中占有很大内存,而且也难以满足蒙特卡罗方法对随机数需要量非常大的要求,因此,该方法不适于在计算机上使用。第11页,共21页。n用物理方法产生随机数的基本原理是:利用某些物理现象,在计算机上增加些特殊设备,可以在计算机上直接产生随机数。这些特殊设备称为随机数发生器。用来作为随机数发生器的物理源主要有两种:一种是根据放射性物质的放射性,另一种是利用计算机的固有噪声。n 用物
7、理方法产生的随机数序列无法重复实现(缺点),不能进行程序复算,给验证结果带来很大困难。而且,需要增加随机数发生器和电路联系等附加设备,费用昂贵。因此,该方法也不适合在计算机上使用。第12页,共21页。在计算机上产生随机数最实用、最常见的方法是数学方法,即用如下递推公式:,2,1),(11nTknnnkn经常使用的是k=1的情况,其递推公式为:)(1nnT第13页,共21页。1,递推公式和初始值确定后,整个随机数序列便被唯一确定。不满足随机数相互独立的要求。a)2,由于随机数序列是由递推公式确定的,而在计算机上所能表示的0,1上的数又是有限的,因此,这种方法产生的随机数序列就不可能不出现无限重复
8、。对于k=1的情况,只要有一个随机数重复,其后面的随机数全部重复,这与随机数的要求是不相符的。由于这两个问题的存在,常称用数学方法产生的随机数为伪随机数。第14页,共21页。1,乘方取中法:设x0为一个4s位数。把x02截头去尾,只保留中间2s位,作为数列的下一个数x1。对于十进制:ssnnxMODx22110,10MOD是求余数运算。则0,1区间的随机数为:snnxr21110缺点:a,周期较短,b,所得序列有向小端偏移的倾向。第15页,共21页。2,乘同余法对于xi-1,乘积xi-1除以M后余数为xiMxMODxii,1Mxrii/其中x0,M为选定的常数,例如:x0=1,=513,M=2
9、42等。得到的周期 T 21010,基本满足一般需要。第16页,共21页。:目的:确认它在0,1区间内部均匀分布的可靠程度。主要有四个方面。a,均匀性检验:把0,1区间分成m个子区间,统计i落入第j个子区间的个数nj,若分布均匀,则i落入各子区间的几率相同,均为:mPj1),.,2,1(mj b,独立性检验:考虑随机数应该是前后独立的,通常考虑它们的相关系数等于0。c,组合规律性检验:将N个随机数按一定的规律组合起来,则各种组合的概率分布不相关。d,无连贯性检验:把数按大小分成两类,要求各类数的出现没有连贯现象。第17页,共21页。利用蒙特卡洛方法计算陶瓷刀具平均磨损寿命 在连续切削的条件下,
10、陶瓷刀具的失效形式是以磨粒磨损为主的磨损失效,其磨损寿命由材料的断裂韧性、硬度和切削过程的参数决定.利用蒙特卡洛方法分别随机生成断裂韧性与硬度的样本值,利用连续车削试验确定切削过程参数,将得到的样本值与切削参数相结合可计算刀具在相应切削条件下的磨损寿命及其可靠性 具体的MC模拟分析如下,对于确定的切削过程,断裂韧性和硬度都很好地符合Weibull 分布(概率模型),其累积失效概率函数为第18页,共21页。其中F(x)可以由计算机产生的01的随机数产 生,m为形状参数,A为位置参数,为比例参数。x为符合W eibu ll 分布的随机数.这样,如果知道断裂韧性和硬度的W eibu ll 分布,根据上式能够产生任意2 项力学性能参数的随机样本值.再根据式,第19页,共21页。可计算出相应的磨损寿命值,取其平均值后即可得到该种刀具的平均磨损寿命.采用该方法可通过较少的试验获得大量的样本值,从而加快了研究进程和减少试验开支.第20页,共21页。谢谢!第21页,共21页。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。