蒙特卡罗方法 (Monte Carlo simulation)

合集下载

蒙特卡洛(Monte Carlo)模拟法

蒙特卡洛(Monte Carlo)模拟法

当科学家们使用计算机来试图预测复杂的趋势和事件时, 他们通常应用一类需要长串的随机数的复杂计算。

设计这种用来预测复杂趋势和事件的数字模型越来越依赖于一种称为蒙特卡罗模似的统计手段, 而这种模拟进一步又要取决于可靠的无穷尽的随机数目来源。

蒙特卡罗模拟因摩纳哥著名的赌场而得名。

它能够帮助人们从数学上表述物理、化学、工程、经济学以及环境动力学中一些非常复杂的相互作用。

数学家们称这种表述为“模式”, 而当一种模式足够精确时, 他能产生与实际操作中对同一条件相同的反应。

但蒙特卡罗模拟有一个危险的缺陷: 如果必须输入一个模式中的随机数并不像设想的那样是随机数, 而却构成一些微妙的非随机模式, 那么整个的模拟(及其预测结果)都可能是错的。

最近, 由美国佐治亚大学的费伦博格博士作出的一分报告证明了最普遍用以产生随机数串的计算机程序中有5个在用于一个简单的模拟磁性晶体中原子行为的数学模型时出现错误。

科学家们发现, 出现这些错误的根源在于这5个程序产生的数串其实并不随机, 它们实际上隐藏了一些相互关系和样式, 这一点只是在这种微小的非随机性歪曲了晶体模型的已知特性时才表露出来。

贝尔实验室的里德博士告诫人们记住伟大的诺伊曼的忠告:“任何人如果相信计算机能够产生出真正的随机的数序组都是疯子。

”蒙特卡罗方法(MC)蒙特卡罗(Monte Carlo)方法:蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在本世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。

传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。

这也是我们采用该方法的原因。

蒙特卡罗方法的基本原理及思想如下:当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。

蒙特卡洛方法

蒙特卡洛方法

蒙特卡洛方法1、蒙特卡洛方法的由来蒙特卡罗分析法(Monte Carlo method),又称为统计模拟法,是一种采用随机抽样(Random Sampling)统计来估算结果的计算方法。

由于计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据,因此在没有计算机的时代并没有受到重视。

第二次世界大战时期,美国曼哈顿原子弹计划的主要科学家之一,匈牙利美藉数学家约翰·冯·诺伊曼(现代电子计算机创始人之一)在研究物质裂变时中子扩散的实验中采用了随机抽样统计的手法,因为当时随机数的想法来自掷色子及轮盘等赌博用具,因此他采用摩洛哥著名赌城蒙特卡罗来命名这种计算方法,为这种算法增加了一层神秘色彩。

蒙特卡罗方法提出的初衷是用于物理数值模拟问题, 后来随着计算机的快速发展, 这一方法很快在函数值极小化、计算几何、组合计数等方面得到应用, 于是它作为一种独立的方法被提出来, 并发展成为一门新兴的计算科学, 属于计算数学的一个分支。

如今MC 方法已是求解科学、工程和科学技术领域大量应用问题的常用数值方法。

2、蒙特卡洛方法的核心—随机数蒙特卡洛方法的基本理论就是通过对大量的随机数样本进行统计分析,从而得到我们所需要的变量。

因此蒙特卡洛方法的核心就是随机数,只有样本中的随机数具有随机性,所得到的变量值才具有可信性和科学性。

在连续型随机变量的分布中, 最基本的分布是[0, 1]区间上的均匀分布, 也称单位均匀分布。

由该分布抽取的简单子样ξ1,ξ2ξ3 ……称为随机数序列, 其中每一个体称为随机数, 有时称为标准随机数或真随机数, 独立性和均匀性是其必备的两个特点。

真随机数是数学上的抽象, 真随机数序列是不可预计的, 因而也不可能重复产生两个相同的真随机数序列。

真随机数只能用某些随机物理过程来产生, 如放射性衰变、电子设备的热噪音、宇宙射线的触发时间等。

实际使用的随机数通常都是采用某些数学公式产生的,称为伪随机数。

系统建模与仿真第12讲 Monte Carlo蒙特卡洛方法

系统建模与仿真第12讲 Monte Carlo蒙特卡洛方法

Nicholas Metropolis (1915-1999)
Monte-Carlo, Monaco
引言(Introduction)
Monte Carlo模拟的应用: 自然现象的模拟: 宇宙射线在地球大气中的传输过程; 高能物理实验中的核相互作用过程; 实验探测器的模拟 数值分析: 利用Monte Carlo方法求积分
2
3.141528 3.141528 3.141509 3.141553 3.141506
3
3.141527 3.141521 3.141537 3.141527 3.141538
n
(i )2
si

i1
n 1
0.000012
0.0000032
s si / n
ua s t(0.683, n 1) 0.0000033
引言(Introduction)
Monte Carlo模拟在实际研究中的作用
引言(Introduction)
Monte Carlo模拟的步骤: 1. 根据欲研究的系统的性质,建立能够描述该系统特性的理 论模型,导出该模型的某些特征量的概率密度函数; 2. 从概率密度函数出发进行随机抽样,得到特征量的一些模 拟结果; 3. 对模拟结果进行分析总结,预言系统的某些特性。
k n 1
3.1415279
14
例1 在我方某前沿防守地域,敌人以一个炮排(含两 门火炮)为单位对我方进行干扰和破坏.为躲避我方 打击,敌方对其阵地进行了伪装并经常变换射击地 点.
经过长期观察发现,我方指挥所对敌方目标的指 示有50%是准确的,而我方火力单位,在指示正确 时,有1/3的射击效果能毁伤敌人一门火炮,有1/6 的射击效果能全部消灭敌人.

蒙特卡洛模拟方法

蒙特卡洛模拟方法

蒙特卡洛模拟方法蒙特卡洛模拟方法(Monte Carlo simulation)是一种基于随机过程的数值计算方法,通过生成大量随机数来模拟实际问题的概率分布和确定性结果。

它的原理是通过随机抽样和统计分析来近似计算复杂问题的解,适用于各种领域的问题求解和决策分析。

蒙特卡洛模拟方法最早于20世纪40年代在核能研究中出现,命名源于摩纳哥的蒙特卡洛赌场,因为其运作原理与赌场的概率计算类似。

它的核心思想是通过大量的重复实验来模拟问题的解空间,并基于统计原理对结果进行分析。

蒙特卡洛模拟方法的应用领域广泛,包括金融、工程、物理、统计学、风险管理等。

在金融领域,蒙特卡洛模拟方法可以用于模拟股票价格的变动,估计期权的价格和价值-at-risk(风险价值),帮助投资者进行风险管理和资产配置。

在工程领域,蒙特卡洛模拟方法可以用于模拟不同参数对产品性能的影响,优化产品设计和工艺流程。

在物理学中,蒙特卡洛模拟方法可以用于模拟粒子运动轨迹,研究核反应和量子系统的行为。

在统计学中,蒙特卡洛模拟方法可以用于估计未知参数的分布和进行概率推断。

1.明确问题:首先需要明确问题的目标和约束条件。

例如,如果要求估计一个金融产品的价值,需要明确产品的特征和市场环境。

2.设定模型:根据问题的特性,建立模型。

模型可以是概率模型、物理模型、统计模型等,用于描述问题的随机性和确定性因素。

3. 生成随机数:根据问题的特点,选择适当的随机数生成方法。

常见的随机数生成方法包括伪随机数生成器、蒙特卡洛(Monte Carlo)方法、拉丁超立方(Latin Hypercube)采样等。

4.进行实验:根据模型和随机数生成方法,进行大量的实验。

每次实验都是一次独立的抽样过程,生成一个样本,用于计算问题的目标函数或约束条件。

5.统计分析:对实验结果进行统计分析,得到问题的解或概率分布。

常用的统计分析方法包括均值、方差、最大值、最小值、分位数等。

还可以进行敏感性分析,评估输入参数对结果的影响程度。

蒙特卡洛方法

蒙特卡洛方法
(x1 (i),x2 (i), ,xs(i)),得到积分的近似值。
其中Dg s为N区域D N sDiN s的1g体(x积1(i),。x2 (这i), 是,数xs(值i))方法难以作到的。
另外,在具有随机性质的问题中,如考虑的系统 形状很复杂,难以用一般数值方法求解,而使用蒙特 卡罗方法,不会有原则上的困难。
通常,蒙特卡罗方法的误差ε定义为
N
上式中 与置信度α是一一对应的,根据问题的要 求确定出置信水平后,查标准正态分布表,就可以确 定出 。
下面给出几个常用的α与的数值:
α 0.5 0.05 0.003
0.674 1.96 3 5
关于蒙特卡罗方法的误差需说明两点:第一,蒙特
卡罗方法的误差为概率误差,这与其他数值计算方法 是有区别的。第二,误差中的均方差σ是未知的,必须 使用其估计值
• 对于任意离散型分布:
F(x) Pi xi x
• 其P离2散中,型x…1分,为布x相2,的应直…的接为概抽离率样散,方型根法分据如布前下函述:数直的接跳抽跃样点法,,P有1,
• 间接蒙特卡洛模拟方法。人为地构造出一 个合适的概率模型,依照该模型进行大量 的统计实验,使它的某些统计参量正好是 待求问题的解。
例:布冯(Buffon)投针实验
• 在平滑桌面上划一组相距为s的平行线,向 此桌面随意地投掷长度l=s的细针,那末从 针与平行线相交的概率就可以得到π的数值。
针与线相交概率
lim P
N
NXNE (X)x 2 1
xet2/2dt
x
平均值
当N充分大时,有如下的近似式
P X N E (X ) N 2 20 e t2/2 d t1
其中α称为置信度,1-α称为置信水平。

MonteCarlo(蒙特卡洛法)简介

MonteCarlo(蒙特卡洛法)简介

一个例子 --

n=1000000; m=0; t=1; for i=1:n x=1; for k=1:7 ang=pi*rand; x=x+cos(ang); if x<0 l=0; t=0; end end if x>5 & t==1 l=1; else l=0; end m=m+l; t=1; end m/n
方差削减技术
对偶变量技术(适用正态分布函数) 取一组随机数Z_i,可得模拟值C_i ,i=1,2,..n 估计值为期平均C^ 再取Z_i 的对偶Z’_i=-Z_i,再生成估计值C’^ 然后去新的平均值C*=(C^+C’^)/2 则 varC*=1/2varC^+1/2cov(C^,C’^)< 1/2varC^+ 该技术使计算更稳定
随机数的取得
如果你对随机数有更高的要求,需要自己
编辑“随机数生成器” 最简单、最基本、最重要的一个概率分布 是(0,1)上的均匀分布(或称矩形分布) 例如在Matlab中,命令“rand()”将产生一 个(0,1)中均匀分布的随机数 你可以根据需要给随机数一个“种子”, 以求不同的数
基本思想和原理
基本思想:当所要求解的问题是某种事件出现
的概率,或者是某个随机变量的期望值时,它 们可以通过某种“试验”的方法,得到这种事 件出现的频率,或者这个随机变数的平均值, 并用它们作为问题的解。 原理:抓住事物运动的几何数量和几何特征, 利用数学方法来加以模拟,即进行一种数字模 拟实验。 它是以一个概率模型为基础,按照这个模型所 描绘的过程,通过模拟实验的结果,作为问题 的近似解。。
实现从已知概率分布抽样

蒙特卡罗(Monte Carlo)方法简介

蒙特卡罗(Monte Carlo)方法简介

蒙特卡罗(Monte Carlo)方法简介蒙特卡罗(Monte Carlo)方法简介蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法。

一起源这一方法源于美国在第二次世界大战进研制原子弹的"曼哈顿计划"。

Monte Carlo方法创始人主要是这四位:Stanislaw Marcin Ulam, Enrico Fermi, John von Neumann(学计算机的肯定都认识这个牛人吧)和Nicholas Metropolis。

Stanislaw Marcin Ulam是波兰裔美籍数学家,早年是研究拓扑的,后因参与曼哈顿工程,兴趣遂转向应用数学,他首先提出用Monte Carlo方法解决计算数学中的一些问题,然后又将其应用到解决链式反应的理论中去,可以说是MC方法的奠基人;Enrico Fermi是个物理大牛,理论和实验同时都是大牛,这在物理界很少见,在“物理大牛的八卦”那篇文章里提到这个人很多次,对于这么牛的人只能是英年早逝了(别说我嘴损啊,上帝都嫉妒!);John von Neumann可以说是计算机界的牛顿吧,太牛了,结果和Fermi一样,被上帝嫉妒了;Nicholas Metropolis,希腊裔美籍数学家,物理学家,计算机科学家,这个人对Monte Carlo方法做的贡献相当大,正式由于他提出的一种什么算法(名字忘了),才使得Monte Carlo方法能够得到如此广泛的应用,这人现在还活着,与前几位牛人不同,Metropolis很专一,他一生主要的贡献就是Monte Carlo方法。

蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特•罗方法正是以概率为基础的方法。

与它对应的是确定性算法。

二解决问题的基本思路Monte Carlo方法的基本思想很早以前就被人们所发现和利用。

早在17世纪,人们就知道用事件发生的"频率"来决定事件的"概率"。

蒙特·卡罗方法(MonteCarlomethod)

蒙特·卡罗方法(MonteCarlomethod)

蒙特·卡罗⽅法(MonteCarlomethod)蒙特·卡罗⽅法(Monte Carlo method),也称统计模拟⽅法,是⼆⼗世纪四⼗年代中期由于科学技术的发展和电⼦计算机的发明,⽽被提出的⼀种以概率统计理论为指导的⼀类⾮常重要的数值计算⽅法。

是指使⽤随机数(或更常见的伪随机数)来解决很多计算问题的⽅法。

与它对应的是确定性算法。

这个⽅法的发展始于20世纪40年代,和原⼦弹制造的曼哈顿计划密切相关,当时的⼏个⼤⽜,包括乌拉姆、冯.诺依曼、费⽶、费曼、Nicholas Metropolis,在美国洛斯阿拉莫斯国家实验室研究裂变物质的中⼦连锁反应的时候,开始使⽤统计模拟的⽅法,并在最早的计算机上进⾏编程实现。

现代的统计模拟⽅法最早由数学家乌拉姆提出,被Metropolis命名为蒙特卡罗⽅法,蒙特卡罗是著名的赌场,赌博总是和统计密切关联的,所以这个命名风趣⽽贴切,很快被⼤家⼴泛接受。

被不过据说费⽶之前就已经在实验中使⽤了,但是没有发表。

说起蒙特卡罗⽅法的源头,可以追溯到18世纪,布丰当年⽤于计算π的著名的投针实验就是蒙特卡罗模拟实验。

统计采样的⽅法其实数学家们很早就知道,但是在计算机出现以前,随机数⽣成的成本很⾼,所以该⽅法也没有实⽤价值。

随着计算机技术在⼆⼗世纪后半叶的迅猛发展,随机模拟技术很快进⼊实⽤阶段。

(类⽐深度学习,感叹~)对那些⽤确定算法不可⾏或不可能解决的问题,蒙特卡罗⽅法常常为⼈们带来希望。

蒙特卡罗基本思想:利⽤⼤量采样的⽅法来求解⼀些难以直接计算得到的积分。

例如,假想你有⼀袋⾖⼦,把⾖⼦均匀地朝这个图形上撒,然后数这个图形之中有多少颗⾖⼦,这个⾖⼦的数⽬就是图形的⾯积。

当你的⾖⼦越⼩,撒的越多的时候,结果就越精确。

借助计算机程序可以⽣成⼤量均匀分布坐标点,然后统计出图形内的点数,通过它们占总点数的⽐例和坐标点⽣成范围的⾯积就可以求出图形⾯积。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A [0, d )
[0, )
• The random vector is uniformly distributed on the region [0,d)×[0,). Accordingly, it has probability density function 1/d. • The probability that the needle will cross one of the lines is given by the integral
2014-8-27
Monte Carlo模拟
18
4.Monte Carlo算法的主要组成部分
Monte Carlo算法的主要组成部分 概率密度函数(pdf) 必须给出描述一个物理系统的一组概率密度函数;
随机数产生器 能够产生在区间[0,1]上均匀分布的随机数 抽样规则 如何从在区间[0,1]上均匀分布的随机数出发,随机抽 取服从给定的pdf的随机变量;
p
2014-8-27

0

l sin
0
1 d
2l dAd d
Monte Carlo模拟 8
2.Monte Carlo方法简史 Enrico Fermi
• 1930年,利用Monte Carlo方法研究中子的扩散 • 并设计了一个Monte Carlo机械装置,Fermiac,用于计算核 反应堆的临界状态
2014-8-27
Monte Carlo模拟
12
Monte Carlo模拟
第一章 引言 (Introduction)
1. 2. 3. 4. Monte Monte Monte Monte Carlo方法 Carlo方法简史 Carlo模拟的应用 Carlo算法的主要组成部分
2014-8-27
Monte Carlo模拟
1
Monte Carlo模拟
第一章 引言 (Introduction)
1. 2. 3. 4. Monte Monte Monte Monte Carlo方法 Carlo方法简史 Carlo模拟的应用 Carlo算法的主要组成部分
2014-8-27
Monte Carlo模拟
2
1.Monte Carlo方法
模拟结果记录
记录一些感兴趣的量的模拟结果
2014-8-27 Monte Carlo模拟 19
4.Monte Carlo算法的主要组成部分
误差估计 必须确定统计误差(或方差)随模拟次数以及其它一些 量的变化; 减少方差的技术 利用该技术可减少模拟过程中计算的次数; 并行和矢量化 可以在先进的并行计算机上运行的有效算法
17
4.Monte Carlo算法的主要组成部分
Monte Carlo模拟的步骤: 1. 根据欲研究的物理系统的性质,建立能够描述该系统特性 的理论模型,导出该模型的某些特征量的概率密度函数; 2. 从概率密度函数出发进行随机抽样,得到特征量的一些模 拟结果; 3. 对模拟结果进行分析总结,预言物理系统的某些特性。
2014-8-27
Monte Carlo模拟
20
2014-8-27
Monte Carlo模拟
10
2.Monte Carlo方法简史
Nicholas Metropolis (1915-1999)
The algorithm by Metropolis (and A Rosenbluth, M Rosenbluth, A Teller and E Teller, 1953) has been cited as among the top 10 algorithms having the "greatest influence on the development and practice of science and engineering in the 20th century."
2014-8-27 Monte Carlo模拟 16
Monte Carlo模拟
第一章 引言 (Introduction)
1. 2. 3. 4. Monte Monte Monte Monte Carlo方法 Carlo方法简史 Carlo模拟的应用 Carlo算法的主要组成部分
2014-8-27
Monte Carlo模拟
• Monte Carlo方法:
亦称统计模拟方法(statistical simulation method)
一种采用统计抽样理论近似地求解物理或数学问 题的方法
2014-8-27
Monte Carlo模拟
3
1.Monte Carlo方法
• 基本思想:
1. 建立与待解问题相似或相关联的概率模型或概率过程, 利用这种相似性把概率模型的某些特征量与待求解问题 的解联系起来: 概率模型: 随机事件的概率 随机变量的数学期望值
待求解问题的解: 定积分的值
微分方程的解
2. 对概率模型进行随机模拟或统计抽样,用所得样本得到 这些特征量的估计值问题的近似解
2014-8-27
Monte Carlo模拟
4
Monte Carlo模拟
第一章 引言 (Introduction)
1. 2. 3. 4. Monte Monte Monte Monte Carlo方法 Carlo方法简史 Carlo模拟的应用 Carlo算法的主要组成部分
Monte Carlo模拟在物理研究中的作用
2014-8-27
Monte Carlo模拟
15
3.Monte Carlo模拟的应用
注意以下两点: Monte Carlo方法与数值解法的不同:
Monte Carlo方法利用随机抽样的方法来求解物理 问题;
数值解法:从一个物理系统的数学模型出发,通过 求解一系列的微分方程来的导出系统的未知状态; Monte Carlo方法并非只能用来解决包含随机的过程的问题: 许多利用Monte Carlo方法进行求解的问题中并不包含随 机过程 例如:用Monte Carlo方法计算定积分. 对这样的问题可将其转换成相关的随机过程, 然后用 Monte Carlo方法进行求解
2014-8-27
Monte Carlo模拟
5
2.Monte Carlo方法简史 Buffon投针实验
1768年,法国数学家Comte de Buffon利用投针实验估 计的值
d
2L
Monte Carlo模拟
6
2.Monte Carlo方法简史
Problem of Buffon’s needle: If a needle of length l is dropped at random on the middle of a horizontal surface ruled with parallel lines a distance d > l apart, what is the probability that the needle will cross one of the lines?
2014-8-27
Monte Carlo模拟
9
2.Monte Carlo方法简史
Stanislaw Ulam (1909-1984)
S. Ulam is credited as the inventor of Monte Carlo method in 1940s, which solves mathematical problems using statistical sampling.
2014-8-27
Monte Carlo模拟
7
2.Monte Carlo方法简史
Solution: • The positioning of the needle relative to nearby lines can be described with a random vector which has components:
Monte Carlo模拟
1. 引言(introduction) 2. 均匀随机数的产生(Random number generation) 3. 任意分布的随机变量的抽样 4. Monte Carlo积分法 5. 常用Monte Carlo模拟软件的使用
2014-8-27
Monte Carlo模拟
2014-8-27 Monte Carlo模拟 11
2.Monte Carlo方法简史
The Name of the Game
Metropolis coined the name “Monte Carlo”, from its gambling Casino.
Monte-Carlo, Monaco
13
3.Monte Carlo模拟的应用
Monte Carlo模拟的应用: 自然现象的模拟: 宇宙射线在地球大气中的传输过程; 高能物理实验中的核相互作用过程;
实验探测器的模拟
数值分析:
利用Monte Carlo方法求积分
2014-8-27
Monte Carlo模拟
14
3.Monte Carlo模拟的应用
相关文档
最新文档