蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期因为科学技术的发展和电子计算机的发明,而被提出的一种以几率统计理论为指导的一类很是重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决不少计算问题的方法。与它对应的是肯定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用普遍。算法
蒙特·卡罗方法提出
蒙特卡罗方法于20世纪40年代美国在
第二次世界大战中研制
原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这以前,蒙特卡罗方法就已经存在。1777年,法国数学家布丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。这被认为是蒙特卡罗方法的起源。
蒙特·卡罗方法基本思想
当所求解问题是某种随机事件出现的几率,或者是某个随机变量的指望值时,经过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的几率,或者获得这个随机变量的某些数字特征,并将其做为问题的解。
工做过程
蒙特卡罗方法的解题过程能够归结为三个主要步骤:构造或描述几率过程;实现从已知几率分布抽样;创建各类估计量。
蒙特卡罗方法解题过程的三个主要步骤:
(1)构造或描述几率过程
对于自己就具备随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个几率过 程,对于原本不是随机性质的肯定性问题,好比计算定积分,就必须事先构造一我的为的几率过程,它的某些参量正好是所要求问题的解。即要将不具备随机性质的问题转化为
随机性质的问题。
(2)实现从已知几率分布抽样
构造了几率模型之后,因为各类几率模型均可以看做是由各类各样的几率分布构成的,所以产生已知几率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的缘由。最简单、最基本、最重要的一个
几率分布是(0,1)上的均匀分布(或称矩形分布)。
随机数就是具备这种均匀分布的随机变量。
随机数序列就是具备这种分布的整体的一个简单子样,也就是一个具备这种分布的相互独立的随机变数序列。产生
随机数的问题,就是从这个分布的抽样问题。在计算机上,能够用物理方法产生
随机数,但价格昂贵,不能重复,使用不便。另外一种方法是用
数学
递推公式产生。这样产生的序列,与真正的
随机数序列不一样,因此称为伪随机数,或伪随机数序列。不过,通过多种
统计检验代表,它与真正的
随机数,或随机数序列具备相近的性质,所以可把它做为真正的随机数来使用。由已知分布随机抽样有各类方法,与从(0,1)上均匀分布抽样不一样,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。因而可知,随机数是咱们实现
蒙特卡罗模拟的基本工具。
(3)创建各类估计量
通常说来,构造了几率模型并能从中抽样后,即实现模拟实验后,咱们就要肯定一个随机变量,做为所要求的问题的解,咱们称它为无偏估计。创建各类
估计量,至关于对
模拟实验的结果进行考察和登记,从中获得问题的解。
数学应用:
一般蒙特·卡罗方法经过构造符合必定规则的随机数来解决数学上的各类问题。对于那些因为计算过于复杂而难以获得
解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出
数值解的方法。通常蒙特·卡罗方法在数学中最多见的应用就是蒙特·卡罗积分。
蒙特·卡罗方法应用领域
蒙特卡罗方法在
金融工程学,
宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算、核工程)等领域应用普遍。
蒙特·卡罗方法工做过程
在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工做:
1. 用蒙特·卡罗方法模拟某一过程时,须要产生某一律率分布的
随机变量。
2. 用
统计方法把模型的数字特征估计出来,从而获得实际问题的数值解。
蒙特·卡罗方法分子模拟计算
使用蒙特·卡罗方法进行分子模拟计算是按照如下步骤进行的:
1. 使用随机数发生器产生一个随机的分子构型。
2. 对此分子构型的其中粒子坐标作无规则的改变,产生一个新的分子构型。
3. 计算新的分子构型的能量。
4. 比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。
若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再作下一次迭代。 若新的分子构型
能量高于原分子构型的能量,则计算玻尔兹曼因子,并产生一个
随机数。若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,从新计算。 若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再作下一次迭代。
5. 如此进行
迭代计算,直至最后搜索出低于所给
能量条件的分子构型结束。
蒙特·卡罗方法项目管理
1.对每一项活动,输入最小、最大和最可能估计数据,并为其选择一种合适的先验分布模型;
2.计算机根据上述输入,利用给定的某种规则,快速实施充分大量的
随机抽样
3.对
随机抽样的数据进行必要的数学计算,求出结果
4.对求出的结果进行
统计学处理,求出最小值、最大值以及数学指望值和单位
标准误差
5.根据求出的统计学处理数据,让计算机自动生成几率分布曲线和累积几率曲线(一般是基于
正态分布的几率累积
S曲线)
蒙特·卡罗方法力学
在力学中,蒙特卡罗方法多被用来求解稀薄气体动力学问题,其中最为成功的是澳大利亚G.A.伯德等人发展的直接模拟统计试验法。此法经过在计算机上追踪几千个或更多的模拟分子的运动、碰撞及其与壁面的相互做用,以模拟真实气体的流动。它的基本假设与玻耳兹曼方程一致,但它是经过追踪有限个分子的空间位置和速度来代替计算真实气体中分布函数。模拟的类似条件是流动的克努曾数(K
n)相等,即数密度与碰撞截面之积保持常数。对每一个分子分配以记录其位置和速度的单元。在模拟过程当中分别考虑分子的运动和碰撞,在此平均碰撞时间间隔内,分别计算分子无碰撞的运动和典型碰撞。若空间网格取得足够小,其中任意两个分子均可以互相碰撞。具体决定哪两个刚体分子相撞,是随机取一对分子,计算它们的相对速度,根据此值与最大相对速度的比值和随机取样比较的结果,来决定该对分子是否入选。碰撞后分子的速度根据特定分子模型的碰撞力学和随机取样决定。分子与壁面碰撞后的速度,则根据特定的反射模型和随机取样决定。对于运动分子的位置和速度的追踪和求矩能够得出气体的密度、温度、速度等一些感兴趣的宏观参量。而对于分子与壁面间的动量和能量交换的记录则给出阻力、举力和热交换系数等的数学指望值。
[1]
蒙特·卡罗方法发展运用
从理论上来讲,蒙特卡罗方法须要大量的实验。实验次数越多,所获得的结果才越精确。
从表中数据能够看到,一直到公元20世纪初期,尽管实验次数数以千计,利用蒙特卡罗方法所获得的圆周率π值,仍是达不到公元5世纪祖冲之的推算精度。这多是传统
蒙特卡罗方法长期得不到推广的主要缘由。
计算机技术的发展,使得蒙特卡罗方法在最近10年获得快速的普及。现代的
蒙特卡罗方法,已经没必要亲自动手作实验,而是借助计算机的高速运转能力,使得本来费时费力的实验过程,变成了快速和垂手可得的事情。它不但用于解决许多复杂的科学方面的问题,也被
项目管理人员常用。
借助计算机技术,蒙特卡罗方法实现了两大优势:
一是简单,省却了繁复的数学推导和演算过程,使得通常人也可以理解和掌握
蒙特卡罗方法有很强的适应性,问题的几何形状的复杂性对它的影响不大。该方法的收敛性是指
几率意义下的收敛,所以问题
维数的增长不会影响它的收敛速度,并且
存贮单元也很省,这些是用该方法处理大型复杂问题时的优点。所以,随着电子计算机的发展和科学技术问题的日趋复杂,
蒙特卡罗方法的应用也愈来愈普遍。它不只较好地解决了多重积分计算、
微分方程求解、
积分方程求解、特征值计算和非线性方程组求解等高难度和复杂的数学计算问题,并且在统计物理、
核物理、真空技术、
系统科学 、
信息科学、公用事业、地质、医学,
可靠性及计算机科学等普遍的领域都获得成功的应用。