欢迎来到天天文库
浏览记录
ID:14386025
大小:782.50 KB
页数:17页
时间:2018-07-28
《monte carlo 算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第八章MonteCarlo法§8.1概述MonteCarlo法不同于前面几章所介绍的确定性数值方法,它是用来解决数学和物理问题的非确定性的(概率统计的或随机的)数值方法。MonteCarlo方法(MCM),也称为统计试验方法,是理论物理学两大主要学科的合并:即随机过程的概率统计理论(用于处理布朗运动或随机游动实验)和位势理论,主要是研究均匀介质的稳定状态[1].R.HerschandR.J.Griego,“Brownianmotionandpotentialtheory,”Sci.Amer.,Mar.1969,pp.67-74.。它是用一系列随机数来近
2、似解决问题的一种方法,是通过寻找一个概率统计的相似体并用实验取样过程来获得该相似体的近似解的处理数学问题的一种手段。运用该近似方法所获得的问题的解inspirit更接近于物理实验结果,而不是经典数值计算结果。普遍认为我们当前所应用的MC技术,其发展约可追溯至1944年,尽管在早些时候仍有许多未解决的实例。MCM的发展归功于核武器早期工作期间LosAlamos(美国国家实验室中子散射研究中心)的一批科学家。LosAlamos小组的基础工作刺激了一次巨大的学科文化的迸发,并鼓励了MCM在各种问题中的应用。“MonteCarlo”的名称取自于Monaco(摩
3、纳哥)内以赌博娱乐而闻名的一座城市。MonteCarlo方法的应用有两种途径:仿真和取样。仿真是指提供实际随机现象的数学上的模仿的方法。一个典型的例子就是对中子进入反应堆屏障的运动进行仿真,用随机游动来模仿中子的锯齿形路径。取样是指通过研究少量的随机的子集来演绎大量元素的特性的方法。例如,在上的平均值可以通过间歇性随机选取的有限个数的点的平均值来进行估计。这就是数值积分的MonteCarlo方法。MCM已被成功地用于求解微分方程和积分方程,求解本征值,矩阵转置,以及尤其用于计算多重积分。任何本质上属随机组员的过程或系统的仿真都需要一种产生或获得随机数的
4、方法。这种仿真的例子在中子随机碰撞,数值统计,队列模型,战略游戏,以及其它竞赛活动中都会出现。MonteCarlo计算方法需要有可得的、服从特定概率分布的、随机选取的数值序列。§8.2随机数和随机变量的产生[5]-[10]全面的论述了产生随机数的各类方法。其中较为普遍应用的产生随机数的方法是选取一个函数,使其将整数变换为随机数。以某种方法选取,并按照产生下一个随机数。最一般的方程具有如下形式:(8.1)其中初始值或种子()乘法器()增值()17模数对于数位的二进制整数,其模数通常为。例如,对于31位的计算机即可取。这里和都是整数,且具有相同的取值范围。
5、所需的随机数序便可由下式得(8.2)该序列称为线性同余序列。例如,若且,则该序列为7,6,9,0,7,6,9,0……(8.3)可以证明,同余序列总会进入一个循环套;也就是说,最终总会出现一个无休止重复的数字的循环。(8.3)式中序列周期长度为4。当然,一个有用的序列必是具有相对较长周期的序列。许多作者都用术语乘同余法和混合同余法分别指代和时的线性同余法。选取和的法则可参见[6,10]。这里我们只关心在区间内服从均匀分布的随机数的产生。用字符来表示这些数字,则由式(8.2)可得(8.4)这样仅在数组中取值。(对于区间(0,1)内的随机数,一种快速检测其随
6、机性的方法是看其均值是否为0.5。其它检测方法可参见[3,6]。)产生区间内均匀分布的随机数,可用下式(8.5)用计算机编码产生的随机数(利用式(8.2)和(8.4))并不是完全随机的;事实上,给定序列种子,序列的所有数字都是完全可预测的。一些作者为强调这一点,将这种计算机产生的序列称为伪随机数。但如果适当选取和,序列的随机性便足以通过一系列的统计检测。它们相对于真随机数具有可快速产生、需要时可再生的优点,尤其对于程序调试。MonteCarlo程序中通常需要产生服从给定概率分布的随机变量。该步可用[6],[13]-[15]中的几种方法加以实现,其中包括
7、直接法和舍去法。直接法(也称反演法或变换法),需要转换与随机变量17相关的累积概率函数(即:为的概率)。显然表明,通过产生(0,1)内均匀分布随机数,经转换我们可得服从分布的随机样本。为了得到这样的具有概率分布的随机数,不妨设,即可得(8.6)其中具有分布函数。例如,若是均值为呈指数分布的随机变量,且(8.7)在中解出可得(8.8)由于本身就是区间(0,1)内的随机数,故可简写为(8.9)有时(8.6)式所需的反函数不存在或很难获得。这种情况可用舍去法来处理。令为随机变量的概率密度函数。令时的,且上界为(即:),如图8.1所示。我们产生区间(0,1)内
8、的两个随机数,则(8.10)分别为在(a,b)和(0,M)内均匀分布的随机数。若(8.11)则
此文档下载收益归作者所有