蒲丰投针与蒙特卡洛(MonteCarlo)方法
蒙特卡罗法
蒙特卡罗法简单介绍和案例蒙特卡罗法历史悠久。
1773年法国G.-L.L.von 布丰曾通过随机投针试验来确定圆周率π的近似值,这就是应用这个方法的最早例子。
蒙特卡罗是摩纳哥著名赌城,1945年 J.von 诺伊曼等人用它来命名此法,沿用至今。
数字计算机的发展为大规模的随机试验提供了有效工具,遂使蒙特卡罗法得到广泛应用。
在连续系统和离散事件系统的仿真中,通常构造一个和系统特性相近似的概率模型,并对它进行随机试验,因此蒙特卡罗法也是系统仿真方法之一。
对于蒙特卡罗技术应用于不可预见费的估算的研究,是对蒙特卡罗技术应用的拓展,能更好地了解尝试其在项目管理方面更多的应用,用其解决项目管理的问题。
用蒙特卡罗技术研究不可预见费,尝试用蒙特卡罗解决一般项目的不可预见费求取问题,避免不可预见费过高过低的问题。
蒙特卡洛方法的基本思想是:将符合一定概率分布的大量随机数作为参数带入数学模型,求出所关注变量的概率分布,从而了解不同参数对目标变量的综合影响以及目标变量最终结果的统计特性。
蒙特卡洛方法的基本原理简单描述如下:假定函数),...,,(21nx x x f y =,蒙特卡洛方法利用一个随机数发生器通过抽样取出每一组随机变量 (ni i i x x x ,...,,21),然后按),...,,(21n x x x f y =的关系式确定函数的值),...,,(21ni i i i x x x f y =。
反复独立抽样(模拟)多次(i=1,2,…),便可得到函数的一组抽样数据(n y y y ,...,,21),当模拟次数足够多时,便可给出与实际情况相近的函数y 的概率分布与其数字特征。
蒙特卡罗法(Monte Carlo Simulation )也称随机模拟,它主要依据概率分布对随机变量进行抽样,然后将样本带入数学模型进行计算得到应变量。
虽然蒙特卡罗模拟技术只给出的是统计估计而非精确的结果且应用其研究问题需要花费大量的计算时间,但它对问题的维数不敏感,对求解对象是线性问题与否也没有原则性要求,因此在复杂系统的不确定分析中,蒙特卡罗方法成为不可或缺的手段。
蒲丰投针问题
此外,随便说出3个正数,以这3个正数为边长可以围成一个钝角三角形的概率P也与π有关,这个概率为 (π-2)/4,证明如下:
设这三个正数为x,y,z,不妨设x≤y≤z,对于每一个确定的z,则必须满足x+y>z,x^2+y^2﹤z^2,容易 证明这两个式子即为以这3个正数为边长可以围成一个钝角三角形的充要条件,用线性规划可知满足题设的可行域 为直线x+y=z与圆x^2+y^2=z^2;围成的弓形,总的可行域为一个边长为z的正方形,则可以围成一个钝角三角形 的概率P=S弓形/S正方形=(πz^2/4-z^2/2)/z^2=(π-2)/4.因为对于每一个z,这个概率都为(π-2)/4, 因此对于任意的正数x,y,z,有P=(π-2)/4,命题得证。
投针步骤
实验数据
证明
下面是利用这个公式,用概率的方法得到圆周率的近似值的一些资料。
公元1901年,意大利数学家拉兹瑞尼宣称进行了多次的投针试验,每次投针数为3408次,平均相交数为1808 次,给出π的值为3.——准确到小数后6位。不过,不管拉兹瑞尼是否实际上投过针,他的实验还是受到了美国 犹他州奥格登的国立韦伯大学的L·巴杰的质疑.通过几何、微积分、概率等广泛的范围和渠道发现π,这是着实 令人惊讶的!
布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率 论的发展起到一定的推动作用。
证明一:找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d。可以想象得到,对于这样的圆圈来 说,不管怎么扔下,都将和平行线有两个交点。因此,如果圆圈扔下的次数为n次,那么相交的交点总数必为2n。 设想把圆圈拉直,变成一条长为πd的铁丝。显然,这样的铁丝扔下时与平行线相交的情形要比圆圈复杂些,可能 有4个交点,3个交点,2个交点,1个交点,甚至于都不相交。由于圆圈和直线的长度同为πd,根据机会均等的 原理,当它们投掷次数较多,且相等时,两者与平行线组交点的总数期望也是一样的。这就是说,当长为πd的铁 丝扔下n次时,与平行线相交的交点总数应大致为2n。
第二节 引例
结合图 8.2 中的图形(1)分析,只要已知各种参数及函数(a,b,H,f(x)) ,有以下两种 方法可近似计算水塘面积.
1.随机投点法 1)赋初值:试验次数 n=0,成功次数 m=0;规定投点试验的总次数 N;
2)随机选择m个数对 xi , y i ,1 < i < m, ,其中 a < xi < b,0 < y i < H ,置 n=n+l; 3)判断 n ≤ N ,若是,转 4,否则停止计算; 若成立则置m=m+1, 转 2, 4) 判断条件 y i < f ( xi ) (表示一块溅水的石头)是否成立, 否则转 2; 5)计算水塘面积的近似值 S = H × (b − a ) × m / N .
蒲丰投针――MonteCarlo算法
蒲丰投针 ―― Monte Carlo 算法背景:蒙特卡罗方法(Monte Carlo ),也称统计模拟方法,是在二次世界大战期间随着科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为基础的一类非常重要的数值计算方法。
蒙特卡罗方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
蒙特卡罗方法的名字来源于世界著名的赌城 —— 摩纳哥的蒙特卡罗。
其历史起源可追溯到1777年法国科学家蒲丰提出的一种计算圆周的方法 —— 随机投针法,即著名的蒲丰投针问题。
问题:设在平面上有一组平行线,间距为d ,把一根长L 的针随机投上去,则这根针和平行线相交的概率是多少?(其中 L < d )分析:由于 L < d ,所以这根针至多只能与一条平行线相交。
设针的中点与最近的平行线之间的距离为 y ,针与平行线的夹角为 (0 )。
相交情形 不相交情形易知针与平行线相交的充要条件是:sin 2Ly x θ≤=由于1[0,], [0, ]2y d θπ∈∈,且它们的取值均满足平均分布。
建立直角坐标系,则针与平行线的相交条件在坐标系下就是曲线所围成的曲边梯形区域(见右图)。
所以有几何概率可知针与平行线相交的概率是sin d 2212LL p d d πθθππ==⎰Monte Carlo 方法:随机产生满足平均分布的 y 和,其中1[0,], [0, ]2y d θπ∈∈,判断 y 是否在曲边梯形内。
重复上述试验,并统计 y 在曲边梯形内的次数 m ,其与试验次数 n 的比值即为针与平行线相交的概率的近似值。
clear;n = 100000; L = 1; d = 2; m = 0;for k = 1 : ntheta = rand(1)*pi; y = rand(1)*d/2;if y < sin(theta)*L/2m = m + 1; end endfprintf('针与平行线相交的概率大约为 %f\n', m/n)计算π的近似值利用该方法可以计算的近似值:sin d 22 22 1n LL m p d m d L d n πθθπππ⇒≈==≈⎰下面是一些通过蒲丰投针实验计算出来的的近似值:实验者 年代 投掷次数 相交次数 圆周率估计值 沃尔夫 1850 5000 2531 3.1596 史密斯 1855 3204 1219 3.1554 德摩根 1680 600 383 3.137 福克斯 1884 1030 489 3.1595 拉泽里尼 1901 3408 1808 3.1415929 赖纳192525208593.1795蒲丰投针问题的重要性并非是为了求得比其它方法更精确的π值,而是在于它是第一个用几何形式表达概率问题的例子。
蒲丰投针问题
蒙特卡罗方法概述§ 8.2 引例:蒲丰投针问题在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用Monte Carlo 方法。
下面通过例子简单介绍Monte Carlo 方法的基本思想.Monte Carlo 方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周π的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:1) 1) 取一张白纸,在上面画上许多条间距为d 的平行线,见图8.1(1)2) 2) 取一根长度为)(d l l <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.由分析知针与平行线相交的充要条件是ϕsin 21≤x 其中πϕ≤≤≤≤0,20d x 建立直角坐标系),(x ϕ,上述条件在坐标系下将是曲线所围成的曲边梯形区域,见图8.l (2).由几何概率知(*)22sin 210d l d d G g p ππϕϕπ===⎰的面积的面积 4)经统计实验估计出概率,n m P ≈由(*)式即?2=⇒=ππdl n m Monte Carlo 方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计试验,即多次随机抽样试验(确定m 和n ),统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.************************************************************************* 提示:设x 是一个随机变量,它服从区间[0,d/2]是的均匀分布,同理,ϕ是一个随机变量,它服从区间],0[π上的均匀分布。
Monte Carlo 方法资料
Monte Carlo方法的基本思想
Monte Carlo 方法的基本思想是: 为了求解某个问题 , 建立一个恰 当的概率模型或随机过程 , 使得其参量(如事件的概率、随机变 量的数学期望等)等于所求问题的解 , 然后对模型或过程进行反 复多次的随机抽样试验 , 并对结果进行统计分析 , 最后计算所求 参量 , 得到问题的近似解。
③ 收敛速度与问题的维数无关 , 因此 , 较适用于求解多维问题。
④ 问题的求解过程取决于所构造的概率模型 , 而受问题条件限制的 影响较小 , 因此 , 对各种问题的适应性很强。
随机数的产生
1 随机数与伪随机数
Monte Carlo 方法的核心是随机抽样。 在该过程中往往需要各种各样分 布的随机变量其中最简单、最基本的是在[0 ,1]区间上均匀分布的 随机变量。 在该随机变量总体中抽取的子样 ξ 1 ,ξ 2 , … ,ξN 称为随 机数序列 , 其中每个个体称为随机数。 用数学的方法产生随机数是目前广泛使用的方法。 该方法的基本思想 是利用一种递推公式 :
"quantum" Monte Carlo: random walks are used to compute quantum-mechanical energies and wavefunctions, often to solve electronic structure problems, using Schrödinger’s equation as a formal starting point;
即当 N 充分大时 , 有 成立的概率等于1 , 亦即可以用 ξN 作为所求量 x 的估计值。
根据中心极限定理 , 如果随机变量 ξ的标准差 σ 不为零 , 那么 Monte Carlo 方法的误差ε为
浅析蒙特卡洛方法原理及应用
浅析蒙特卡洛方法原理及应用于希明(英才学院1236103班测控技术与仪器专业6120110304)摘要:本文概述了蒙特卡洛方法产生的历史及基本原理,介绍了蒙特卡洛方法的最初应用——蒲丰投针问题求圆周率,并介绍了蒙特卡洛方法在数学及生活中的一些简单应用,最后总结了蒙特卡洛方法的特点。
关键词:蒙特卡洛方法蒲丰投针生活应用蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。
它是以概率统计理论为基础, 依据大数定律( 样本均值代替总体均值) , 利用电子计算机数字模拟技术, 解决一些很难直接用数学运算求解或用其他方法不能解决的复杂问题的一种近似计算法。
蒙特卡洛方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
一、蒙特卡洛方法的产生及原理蒙特卡洛方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。
数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。
在这之前,蒙特卡洛方法就已经存在。
1777年,法国数学家蒲丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。
这被认为是蒙特卡洛方法的起源。
其基本原理如下:由概率定义知,某事件的概率可以用大量试验中该事件发生的频率来估算,当样本容量足够大时,可以认为该事件的发生频率即为其概率。
因此,可以先对影响其可靠度的随机变量进行大量的随机抽样,然后把这些抽样值一组一组地代入功能函数式,确定结构是否失效,最后从中求得结构的失效概率。
蒙特卡洛法正是基于此思路进行分析的。
设有统计独立的随机变量Xi(i=1,2,3,…,k),其对应的概率密度函数分别为fx1,fx2,…,fxk,功能函数式为Z=g(x1,x2,…,xk)。
蒙特卡罗(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世纪,人们就知道用事件发生的"频率"来决定事件的"概率"。
蒙特卡洛方法
在用传统方法难以解决的问题中,很大一部分 可以用概率模型进行描述。由于这类模型含有不确 定的随机因素,分析起来通常比确定性的模型困难。 有的模型难以坐定量分析,得不到解析结果,或者 虽有解析结果,但计算代价太大以致不能使用。在 这 种 情 况 下 , 可 以 考 虑 采 用 M onte Carlo 方 法 。
M onte Carlo 方 法 是 计 算 机 模 拟 的 基 础 , 它的名 字来源于世界著名赌城——摩洛哥的蒙特卡洛,其 历 史 起 源 于 1777 年 法 国 科 学 家 浦 丰 提 出 的 一 种 计 算 圆 周 率 的 方 法 — — 随 机 投 针 法 , 即 上 一 节 我 们 学习的著名的浦丰投针问题。
m n
结束
3)计算针与直线相交的概率
投针简图
p 由上节知识知,其概率为: a m 4)经统计实验估计出概率 p n 故有 m 2l 2nl n a ma
2l
使用 Matlab 语言编程实现
l=1;a=2;m=0;n=1000; for k=1:n x=unifrnd(0,a/2); y=unifrnd(0,pi); if x<0.5*l*sin(y) m=m+1; else end end p=m/n pi_m=(2积
方法步骤:
1 ) 将 水 塘置于一块面积为已知的矩 形中(如图)
2)随机的向该矩形内扔石头。被扔到矩 形中的石头可能溅上了水,也可能没有溅 m 上水,估计被“溅上水的石头”,记为
H
y f (x )
a
b
3)由 p
s H (b a )
m n
s H (b a)
M onte Carlo 方 法 的 基 本 思想是首先建立一个 概 率 模 型 , 使 所 求 问 题 的 解 正 好 是该模型的参数 或其他有关的特征量。然后通过模拟—统计实验, 即 多 次 随 机 抽 样 试 验(确定m 和 n ) ,统计出事件 发 生 的 百 分 比 。 只 要 试 验 次 数 很 大,该百分比便 近 似 于 事 件 发 生 的 概 率 ( 这 实 际 上是概率的统计 定义) 。利用建立的概率模型,求出要估计的参数。
蒙特卡洛方法在材料学中的应用
蒙特卡洛方法在材料科 学中的应用举例
利用蒙特卡洛方法计算陶瓷刀具平均磨损寿命 在连续切削的条件下, 陶瓷刀具的失效形式是以磨粒 磨损为主的磨损失效, 其磨损寿命由材料的断裂韧性、 硬度和切削过程的参数决定. 利用蒙特卡洛方法分别随 机生成断裂韧性与硬度的样本值, 利用连续车削试验确 定切削过程参数, 将得到的样本值与切削参数相结合可 计算刀具在相应切削条件下的磨损寿命及其可靠性 具体的MC模拟分析如下, 对于确定的切削过程, 断裂 韧性和硬度都很好地符合Weibull 分布(概率模型), 其累积失效概率函数为
x n 1 2s 10
缺点:a,周期较短,b,所得序列有向小端偏移的倾向。
2, 乘同余法
对于xi-1,乘积λxi-1除以M后余数为xi
xi MODxi 1 , M
ri xi / M
其中x0, λ, M为选定的常数,例如:x0=1, λ=513, M=242 等。得到的周期 T ≈ 2×1010,基本满足一般需要。
2 .根据模型中各个随机变量的分布,在计算机上产生 随机数,实现一次模拟过程所需的足够数量的随机数。 通常先产生均匀分布的随机数,然后生成服从某一分 布的随机数,方可进行随机模拟试验。
3. 根据概率模型的特点和随机变量的分布特性,设计和 选取合适的抽样方法,并对每个随机变量进行抽样(包 括直接抽样、分层抽样、相关抽样、重要抽样等)。 4.按照所建立的模型进行仿真试验、计算,求出问题的 随机解。 5. 统计分析模拟试验结果,给出问题的概率解以及解的 精度估计。
(二)物理方法产生随机数
用物理方法产生随机数的基本原理是:利用某些 物理现象,在计算机上增加些特殊设备,可以在 计算机上直接产生随机数。这些特殊设备称为随 机数发生器。用来作为随机数发生器的物理源主 要有两种:一种是根据放射性物质的放射性,另 一种是利用计算机的固有噪声。 用物理方法产生的随机数序列无法重复实现(缺 点),不能进行程序复算,给验证结果带来很大 困难。而且,需要增加随机数发生器和电路联系 等附加设备,费用昂贵。因此,该方法也不适合 在计算机上使用。
拓展资料-蒲丰投针及蒙特卡罗模拟
概率模型的随机模拟与蒲丰投针实验第1章模拟** 模拟的概念每一个现实系统外部环境之间都存在着一定的数学的或者逻辑的关系,这些关系在系统内部的各个组成部分之间也存在。
对数学、逻辑关系并不复杂的模型,人们一般都可用解析论证和数值计算求解。
但是,许多现实系统的这种数学、逻辑模型十分复杂,例如大多数具有随机因素的复杂系统。
这些系统中的随机性因素很多,一些因素很难甚至不可以用准确的数学公式表述,从而无法对整个系统采用数学解析法求解。
这类实际问题往往可以用模拟的方法解决。
模拟主要针对随机系统进行。
当然,也可以用于确定性系统。
本文讨论的重点是其中的随机模拟。
采用模拟技术求解随机模型,往往需要处理大批量的数据。
因此,为了加速模拟过程,减少模拟误差,通常借助于计算机进行模拟,因此又称为计算机模拟。
计算机模拟就是在已经建立起的数学、逻辑模型的基础之上,通过计算机试验,对一个系统按照一定的决策原则或作业规则,由一个状态变换为另一个状态的行为进行描述和分析。
** 模拟的步骤整个模拟过程可以划分为一定的阶段,分步骤进行。
(1)明确问题,建立模型。
在进行模拟之前,首先必须正确地描述待研究的问题,明确规定模拟的目的和任务。
确定衡量系统性能或模拟输出结果的目标函数,然后根据系统的结构及作业规则,分析系统各状态变量之间的关系,以此为基础建立所研究的系统模型。
为了能够正确反映实际问题的本质,可先以影响系统状态发生变化的主要因素建立较为简单的模型,以后再逐步补充和完善。
(2)收集和整理数据资料。
模拟技术的正确运用,往往要大量的输入数据。
在随机模拟中,随机数据仅靠一些观察值是不够的。
应当对具体收集到的随机性数据资料进行认真分析。
确定系统中随机性因素的概率分布特性,以此为依据产生模拟过程所必需的抽样数据。
(3)编制程序,模拟运行。
选择适当的计算机语言。
按照系统的数学、逻辑模型编写计算机程序。
然后可以进行调试性模拟,分析模拟结果是否能够正确地反映现实系统的本质。
几何概型及蒲丰投针试验主讲
注:几何度量是指长度、面积、体积。
几何概型的应用
例1:一个质地均匀的陀螺的圆周上均匀地刻 有[0 , 5)上诸数字,在桌面上旋转它,求当它 停下来时,圆周与桌面接触处的刻度位于区 间 [2 , 3] 上的概率。
2 0 3 4
1
几何概型的应用
例2:甲乙二人相约定6:00-6:30在预定地点 会面,先到的人要等候另一人10分钟后,方 可离开。求甲乙二人能会面的概率,假定他 y 们在6:00-6:30内的任意时刻到达预定地点 的机会是等可能的。 30
蒲丰Comte de Buffon
1707~1788, 法国数学家, 自然科学家, 几何概率的 开创者,以 蒲丰投针问题 闻名于世。
蒲丰投针问题 Buffon’s needle problem
在平面上画有等距离 为2a(a 0) 的一些平 行线,向平面上随机 投一长 2 L ( L a ) 的 针。1768年,蒲丰利 用投针试验估计值。
课后作业
几何概型 :P17:15 ,P31:14,思考题 蒙特卡罗方法:对蒲丰投针试验进行蒙特 卡罗模拟,取a=2,l=3,得到的值。
几何概型Geometric Probability
问题 1 :假设车站每隔 10 分钟发一班车, 乘客随机到达车站,问等车时间不超过 3 分 钟的概率 ? 问题 2 : 已确定失事飞机的黑匣子可能落在 面积 1 000平方公里的海域,调查人员每次 出海搜索的区域面积为 50 平方公里,假设在 这片海域随机地选择一点进行搜寻,问能够 找到黑匣子的概率是多少?
Monte Carlo名字的由来
Monte Carl是由Metropolis在二次世界大战 期间提出的:Manhattan计划,研究与原子 弹有关的中子输运过程。
Monte-Carlo(蒙特卡洛方法)解析
常用的线性同余生成器
Modulus m 2^31-1
=2147483647
2147483399 2147483563
Multiplier a 16807
在 n 次中出现的频率。假如我们取 fn ( A) 作为 p P(A) 的估计,即 pˆ fn ( A) 。
然后取 ˆ
2l afn ( A)
作为
的估计。根据大数定律,当 n 时,
pˆ
fn ( A) a.s.
p.
从而有ˆ 2l P 。这样可以用随机试验的方法求得 的估计。历史上 afn ( A)
(2) 计算 X F -1(U ) ,则 X 为来自 F(x) 分布的随机数.
例 1 :设 X ~ U (a,b) ,则其分布函数为
0
F
(
x)
x b
a a
1,
xa a xb
xb
F -1( y) a (b a) y , 0 y 1
生成 U (0,1) 随机数 U,则 a (b - a)U 是来自
算法实现
许多程序语言中都自带生成随机数的方法, 如 c 中的 random() 函数, Matlab中的rand()函数等。 但这些生成器生成的随机数效果很不一样, 比如 c 中的函数生成的随机数性质就比较差, 如果用 c , 最好自己再编一个程序。Matlab 中的 rand() 函数, 经过了很多优化。可以产生性质很好的随 机数, 可以直接利用。
U (a,b) 的随机数。
例 2:
设 X ~ exp( ) 服从指数分布,则 X 的分布函数为:
综合实验三 蒲丰投针问题实验
综合实验三 蒲丰投针问题实验一、实验目的1. 掌握几何概型、熟悉Monte Carlo 方法的基本思想;3.会用MATLAB 实现简单的计算机模拟二、实验内容在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用Monte Carlo 方法。
下面通过例子简单介绍Monte Carlo 方法的基本思想.Monte Carlo 方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周π的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d 的平行线,见图8.1(1)2) 取一根长度为()l l d <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.由分析知针与平行线相交的充要条件是 ϕs i n 21≤x 其中πϕ≤≤≤≤0,20d x 建立直角坐标系),(x ϕ,上述条件在坐标系下将是曲线所围成的曲边梯形区域,见图 8.l (2).由几何概率知(*)22s i n 210d l d d G g p ππϕϕπ===⎰的面积的面积 4)经统计实验估计出概率,n m P ≈由(*)式即?2=⇒=ππd l n m Monte Carlo 方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计试验,即多次随机抽样试验(确定m 和n ),统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.问题:(1) 经过n次试验后圆周率估计与的圆周 之间的差的绝对值的规律是?其中n分别取100,1000,2000,5000,10000,20000,50000(2) 参数l,d的不同选择,会对圆周率的估计有什么影响?可以选择d为l.5倍,2倍,3倍,4倍,5倍,8倍,10倍,20倍,50倍三、实验要求写出实验步骤、结果显示及分析四、实验分析以x 表示针的中点与最近一条平行线的距离,以j表示针与此线间的交角.显然0≤x≤a/20≤j≤p针与平行线相交的充要条件是x≤lsin(j)/2因(x,j)在图(4)中下面的矩形中等可能地取点,可见针与平行线相交的概率p 为图(4)正弦曲线线段与横轴围成的面积同图(4)中矩形面积的比.经计算得p= 另一方面得到如大量得投针实验,利用大数定理知:随着实验次数的增加,针与平行线相交的频率依概率收敛到概率p.那么在上式中以频率代替相应的概率p,则可以获得圆周率p的近似值.下面的程序是用matlab语言编写的计算机模拟投针以计算p 的近似值的程序.五、实验步骤1.编写MATLAB程序cleard=2l=0.5counter=0n=100x=unifrnd(0,d/2,1,n)fi=unifrnd(0,pi,1,n)for i=1:nif x(i)<1*sin(fi(i))/2counter=counter+1endendfren=counter/npihat=2*1/(d*fren)sqrt((pihat-pi)^2)结果显示:fren = 0.3300pihat =3.0303ans =0.1113以此类推:将n=1000,2000,5000,10000,20000,50000分别代入,可得:当n=1000时,fren =0.3240pihat =3.0864ans =0.0552当n=2000时,fren =0.3230pihat =3.0960ans =0.0456当n=5000时,fren =0.3204pihat =3.1211ans =0.0205当n=10000时,fren =0.3190pihat =3.1348ans =0.0068当n=20000时,fren =0.3172pihat =3.1521ans =0.0105当n=50000时,fren =0.3177pihat =3.1478ans =0.00622.改变d的取值,分别为1.5,2 ,3 ,4,5,8,10,20,50倍仍用1中的程序:cleard=3l=0.5counter=0n=100x=unifrnd(0,d/2,1,n)fi=unifrnd(0,pi,1,n)for i=1:nif x(i)<1*sin(fi(i))/2counter=counter+1endendfren=counter/npihat=2*1/(d*fren)sqrt((pihat-pi)^2)结果显示:d为1.5倍时fren =0.2300pihat =2.8986ans =0.2430d为2倍时fren =0.1700pihat =2.9412ans =0.2004d为3倍时fren =0.1100pihat =3.0303ans =0.1113d为4倍时fren =0.0800pihat =3.1250ans =0.0166d为5倍时fren =0.0600pihat =3.3333ans =0.1872d为8倍时fren =0.0400pihat =3.1250ans =0.0211d为10倍时fren =0.0300pihat =3.3333ans =0.1872d为20倍时fren =0.0100pihat =5ans =1.8539d为50倍时fren =0pihat =Infans =Inf六、结果分析1.经过n次试验后圆周率估计与的圆周π之间的差的绝对值的规律是:n的次数取值越多,圆周率估计与的圆周π之间的差的绝对值越小:圆周率越接近真值。
Monte Carlo(蒙特卡洛方法)解析
于是有: l p P( X sin ) 2 0
l sin 2
0
2 2l dxd a a
2l ap
若我们独立重复地作 n 次投针试验,记 n ( A) 为 A 发生的次数。 fn ( A) 为 A
U(0,1)随机数的生成
乘同余法:
xi 1 axi
mod m
ui 1 xi 1 / m 其中 xi , a, m 均为整数, x0 可以任意选取。
x0称为种子,a 是乘因子,m是模数
一个简单的例子
当 x0 1 时,得到序列: 1,6,3,7,9,10,5,8,4,2,1,6,3......
1 确定行为的模拟
例:曲线下的面积
本节以曲线下的面 积为例说明蒙特卡罗 模拟在确定行为建模 中的应用.
下面的算法给出了用蒙特卡罗方法求曲线下面积 的计算机模拟的计算格式.
在给定区间上曲线y=cosx下面积的真值是2.注意到即使对 于产生的相当多的点数,误差也是可观的.对单变量函数,一般 说来,蒙特卡罗方法无法与在数值分析中学到的积分方法相比, 没有误差界以及难以求出函数的上界M也是它的缺点.然而,蒙 特卡罗方法可以推广到多变量函数,在那里它变得更加实用.
ˆ f n ( A) 。 在 n 次中出现的频率。假如我们取 fn ( A) 作为 p P( A) 的估计,即 p
ˆ 然后取 2l a.s. ˆ fn ( A) 作为 的估计。根据大数定律,当 n 时, p p. af n ( A) 2l P 。这样可以用随机试验的方法求得 的估计。历史上 af n ( A)
蒲丰问题与蒙特卡罗方法
蒲丰问题与蒙特卡罗方法蒲公英——问题解决之良方;蒙特卡罗——数学精妙在此聚首。
蒲丰问题与蒙特卡罗方法是此前一直以来在统计学、学、社会学、商业学、教育学等不同学科中都非常热门的研究主题,它们也紧密联系在一起。
这篇文章中,将要讨论蒲丰问题与蒙特卡罗方法的内容和它们之间的关系。
一、蒲丰问题蒲丰问题是由博弈论学家Robert F.Pufet于1941 年提出的一个关于定量推理的问题,也是这一学科的早期的文献的一部分。
问题主要解释了通过使用定量理论处理各种不可预知的社会行为和变化。
蒲丰问题涉及对不同公司在不同时期进行价格水平、受欢迎程度、技术水平和其他重要因素的多变量考虑,考虑所有可能影响公司业绩的因素,使得各公司由者的选择决定其未来的地位,以及各公司之间的竞争关系。
二、蒙特卡洛方法蒙特卡罗方法也称模拟方法,是一种仿真技术,它能够对复杂系统中不可预料的事件进行模拟,研究决策理论,可以用来衡量伦理、风险和效用等等方面的影响。
实际上,它是一种抽象研究手段,能够将复杂的问题转换成可计算的形式,并且可以在有限的时间内运行快速完整的仿真模型,为进行有关决策的分析提供重要的依据。
三、蒲丰问题与蒙特卡罗方法的联系蒲丰问题与蒙特卡罗方法之间的关系非常密切,因为它们都可以用来模拟和研究企业决策、市场变化以及其他业绩因素。
从蒲丰问题中可以得出复杂的变量,包括公司表现、行业环境和市场趋势等,而蒙特卡罗方法可以模拟这些因素对于结果的影响,并且可以采取正确的策略以应对不确定性。
因此,通过将蒲丰问题与蒙特卡罗方法相结合,就可以得出根据不同的情况和态势,采取正确的管理策略和决策措施。
总之,蒲丰问题和蒙特卡罗方法二者有着密切的联系,它们影响着公司行为,从而使公司 and 决策能够更为恰当。
他们不仅可以帮助我们了解企业发展过程,而且可以模拟未来的变化,为采取正确的决策、策略、行动措施提供重要的参考。
蒲丰投针试验---------概率论与数理统计
蒲丰资料
1777年,法国科学家蒲丰(Buffon)提ห้องสมุดไป่ตู้了投针 试验问题.平面上画有等距离为a(a>0)的一些平行直 线,现向此平面任意投掷一根长为b( b<a )的针,试求 针与某一平行直线相交的概率. 解 以 x表示针投到平面上时,
针的中点M到最近的一条平行
a
M x
直线的距离, 表示针与该平行直线的夹角.
1.0
0.75 0.83 0.5419
600
1030 3408 2520
382
489 1808 859
3.137
3.1595 3.1415929 3.1795
利用蒙特卡罗(Monte Carlo)法进行计算机模拟. 单击图形播放/暂停 ESC键退出 取a 1, b 0.85.
利用上式可计算圆周率π 的近似值.
历史上一些学者的计算结果(直线距离a=1)
试验者 Wolf Smith 时间 1850 1855 针长 0.8 0.6 投掷次数 相交次数 π的近似值 5000 3204 2532 1218 3.1596 3.1554
De Morgan 1860
Fox Lazzerini Reina 1884 1901 1925
那么针落在平面上的位置可由( x , )完全确定.
投针试验的所有可能结果与 矩形区域
a S {( x , ) 0 x ,0 π} 2 中的所有点一一对应 . 由投掷的任意性可知 这是一个几何概型问题.
a
M x
所关心的事件
o
A { 针与某一平行直线相交} 发生的充分必要条件为S 中的点满足 b 0 x sin , 0 π . 2
蒲丰投针问题_概率论论文
Buffon投针问题摘要本文讨论了Buffon投针问题的解法及其不同解法之间的内在联系,同时从投针到投平面图形对Buffon投针问题给出了一些推广,并得到一般的结论,指出了其概率在探矿、近似计算中的应用。
关键词蒲丰投针概率随机试验近似计算一、引言蒲丰投针问题是由法国科学家蒲丰(Buffon)在1777年提出的,它是概率中非常有代表性的问题,它是第一个用几何形式表达概率问题的例子,其结论具有很强的理论与实际意义。
蒲丰针问题的解决不仅较典型的反应了集合概率的特征及处理方法,而且还可以由此领略到从“概率土壤”上开出的一朵瑰丽的鲜花——蒙特卡洛(Monte-Carlo)方法。
二、Buffon投针问题及其解法Buffon投针问题:平面上画有等距离的平行线,每两条平行线之间的距离为2a,向平面任意投掷一枚长为2l(l<a)的针,试求针与平行线相交的概率。
解:以x表示针的中点M到最近一条平行线的距离,以φ表示该针与平行线的夹角。
针与平行线的关系见图1.则有:0≤x≤a,0≤φ≤π,由它们所围成的矩形区域记为G1。
针与平行线相交的充要条件是:0≤x≤lsinφ,记满足这个关系的区域为g1(图2中的阴影部分)。
则所求概率为P1=g1的面积G1的面积=∫lsinφdφπaπ=2laπ三、Buffon投针问题不同解法及其内在联系上述解法是常见解法之一(记为解法一),这里讨论一下蒲丰针问题的其他解法及其之间的联系。
1.其他解法解法二:以x表示针的重点M到最近一条平行线的距离,y表示该针在此平行线上投影和长度,如图3所示。
易知x和y的取值范围是0≤x≤a,0≤y≤2l,这两个不等式确定了xOy平面上的矩形区域G2,针与平行线相交的充要条件是(y2)2+x2≤l2,该不等式确定了矩形区域G2(如图4所示)中的区域g2,从而所求概率为P2=g2的面积G2的面积=14·l·2l·π2l·a=lπ4a解法三:作垂直于平行线的直线,在该直线上选定一方向为正向,用z1,z2分别表示针头与针尾关于某平行线的纵坐标(如图5所示),该平行线的选取应使|z1+z2|≤2a。
蒲丰投针与蒙特卡洛(MonteCarlo)方法
蒲丰投针与蒙特卡洛(Monte —Carlo)方法1777年法国科学家蒲丰(Buffon )提出并解决了如下的投针问题:桌面上画有一些平行线,它们之间的距离都是,一根长为a )(a l l ≤的针随机地投在桌面上。
问:此针与任一直线相交的概率是多少?设表示针的中点到最近的一条平行线的距离,Y 表示针与平行线的夹角(如图),如果X 2sin l Y X <, 或Y lX sin 2<时,针与一条直线相交。
由于向桌面投针是随机的,所以用来确定针在桌面上位置的是二维随机向量。
并且在),(Y X X ⎟⎠⎞⎜⎝⎛2,0a 上服从均匀分布,在Y ⎟⎠⎞⎜⎝⎛2,0π上服从均匀分布,与Y 相互独立。
由此可以写出的联合概率密度函数:X ),(Y X⎪⎩⎪⎨⎧<<<<=其它20,204),(ππy ax ay x f 于是,所求概率为:∫∫∫∫===⎭⎬⎫⎩⎨⎧<<20sin 20sin 224),(sin 2πππal dxdy adxdy y x f Y l X P y ly lx ①由于最后的结果与π有关,因此有些人想利用它来计算π的值。
其方法是向桌面投针次,若针与直线相交次,则针与直线相交的频率为n k n k ,以频率代替概率,则有al n k π2=,所以aknl2=π。
下表列举了这些试验的有关资料。
投针试验的历史资料(折算为1)a 试验者 年份 针长投针次数n 相交次数k π的试验值Wolf 1850 0.85000 2532 3.1596 Smith1855 0.63204 1219 3.1554 De.Morgan 1860 1600 383 3.137 Fox 1884 0.751030 489 3.1595 Lazzerini 1901 0.833408 1801 3.1415929 Reina1925 0.5425208593.1795这个思路已被人们发展成为统计学的一个分支—随机试验法或称为蒙特卡洛(Monte—Carlo )方法,其中随机试验可借助计算机大量重复,以致结果更接近真值。
蒙特卡罗模拟方法-计算统计
6
6
在等概率X的F 情 n况下,可使用如下更简单的 方法:
X F [6 ] 1
其中[]表示取整数。
连续型分布的直接抽样方法
对于连续型分布,如果分布函数F(x) 的反
函数 F-1(x)存在,则直接抽样方法是 :
X F F 1( )
例3. 在[A,B]上均匀分布的抽样
在[a,b]上均匀分布的分布函数为:
Matlab常用的随机数产生函数
函数名
调用形式
函数注释
betarnd
R=betarnd(A,B)
分布随机数产生函数
binornd R=binornd(N,P,MM,NN) 二项分布随机数产生函数
chi2rnd
R=chi2rnd(v)
卡方分布随机数产生函数
frnd
R= frnd(v1,v2)
F分布随机数产生函数
计算统计 Monte Carlo
MONTE CARLO方法的发展历史
早在17世纪,人们就知道用事件发生的“频率”来 决定事件的“概率”。从方法特征的角度来说可以 一直追溯到18世纪后半叶的蒲丰(Buffon)随机投 针试验,即著名的蒲丰问题。
1777年,古稀之年的蒲丰在家中请来好 些客人玩投针游戏(针长是线距之半), 他事先没有给客人讲与π有关的事。客 人们虽然不知道主人的用意,但是都参 加了游戏。他们共投针2212次,其中 704次相交。蒲丰说,2212/704=3.142, 这就是π值。这着实让人们惊喜不已。
①能够比较逼真地描述具有随机性质的 事物的特点及物理实验过程
从这个意义上讲,蒙特卡罗方法可 以部分代替物理实验,甚至可以得 到物理实验难以得到的结果。用蒙 特卡罗方法解决实际问题,可以直 接从实际问题本身出发,而不从方 程或数学表达式出发。它有直观、 形象的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蒲丰投针与蒙特卡洛(Monte —Carlo)方法
1777年法国科学家蒲丰(Buffon )提出并解决了如下的投针问题:桌面上画有一些平行线,它们之间的距离都是,一根长为a )(a l l ≤的针随机地投在桌面上。
问:此针与任一直线相交的概率是多少?
设表示针的中点到最近的一条平行线的距离,Y 表示针与平行线的夹角(如图),如果
X 2sin l Y X <, 或Y l
X sin 2
<时,针与一条直线相交。
由于向桌面投针是随机的,所以用来确定针在桌面上位置的是二维随机
向量。
并且在),(Y X X ⎟⎠⎞⎜⎝⎛2,0a 上服从均匀分布,在Y ⎟⎠⎞
⎜⎝⎛2,0π上服从均匀分布,与Y 相互独立。
由此可以写出的联合概率密度函数:
X ),(Y X
⎪⎩⎪
⎨⎧<<<
<=其它
20,204
),(ππy a
x a
y x f 于是,所求概率为:
∫∫
∫∫
=
=
=
⎭
⎬⎫
⎩⎨⎧<<20sin 20sin 2
24),(sin 2π
ππa
l dxdy a
dxdy y x f Y l X P y l
y l
x ①
由于最后的结果与π有关,因此有些人想利用它来计算π的值。
其方法是向桌面投针
次,若针与直线相交次,则针与直线相交的频率为n k n k ,以频率代替概率,则有a
l n k π2=,所以ak
nl
2=
π。
下表列举了这些试验的有关资料。
投针试验的历史资料(折算为1)
a 试验者 年份 针长投针次数n 相交次数k π的试验值
Wolf 1850 0.85000 2532 3.1596 Smith
1855 0.6
3204 1219 3.1554 De.Morgan 1860 1
600 383 3.137 Fox 1884 0.751030 489 3.1595 Lazzerini 1901 0.833408 1801 3.1415929 Reina
1925 0.54
2520
859
3.1795
这个思路已被人们发展成为统计学的一个分支—随机试验法或称为蒙特卡洛(Monte—Carlo )方法,其中随机试验可借助计算机大量重复,以致结果更接近真值。
目前,蒙特卡洛方法广泛地应用于市场预测、证券投资、金融与保险行业,在计算机高度普及的今
①
这个概率也可以通过几何型概率来计算。
天,有着广阔的应用前景。
在随机模拟(蒙特卡洛方法)中,经常要产生正态分布的随机数,但一般计算机只具备产生区间(0,1)上的均匀分布的随机数(常称为伪随机数)的软件,怎样通过均匀分布的随机数来产生正态分布的随机数呢?利用中心极限定理可以获得正态分布(已知)的随机数。
具体做法如下:
),(2σµN )1,0(U ),(2σµN ),(2σµN 2,σµ(1)从计算机中产生均匀分布的随机数30个(当然,也可以是任意个,m 越
大越好,主要是符合中心极限定理的条件),记为;由于)1,0(U m 3021,,,u u u "2
1
)(=i u E ,
)30,,2,1(121
)("==i u D i 根据中心极限定理,可以认为
近似服从均值为∑=30
1
i i u 153021
=×,方
差为
5.23012
1
=×的正态分布。
(2)计算:5.2)
15(3021−+++=u u u v ",由中心极限定理,它可以看作是来自标准正态
分布的一个随机数;
)1,0(N (3)变换:v x σµ+=,由正态分布的性质可知,它可以看作是来自正态分布的一个随机数。
)
,(2σµN 重复以上步骤,即可得到正态分布的一组随机数。
这种做法的理论根据就是中心极限定理。
),(2σµN 蒙特卡罗(Monte Carlo )方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。
这一方法源于美国在第一次世界大战间研制原子弹的“曼哈顿计划”。
该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo —来命名这种方法,为它蒙上了一层神秘色彩。
Monte Carlo 方法的基本思想很早以前就被人们所发现和利用。
早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率”。
19世纪人们用投针试验的方法来决定圆周率π。
二十世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。
考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo 方法是这样一种“随机化”的方法:向该正方形“随机地”投掷个点有N M 个点落于“图形”内,则该“图形”的面积近似为。
N M /可用民意测验来作一个不严格的比喻。
民意测验的人不是征询每一个登记选民的意见,而是通过对选民进行小规模的抽样调查来确定可能的优胜者。
其基本思想是一样的。
科技计算中的问题比这要复杂得多。
比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。
对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Course Dimensionality ),传统的数值方法难以对付(即使使用速度最快的计算机)。
Monte Carlo 方法能很好地用来对付维数的灾难,因为该方法的计算复杂性不再依赖于维数。
以前那些本来是无法计算的问题现在也能够计算。
为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。
另一类形式与Monte Carlo 方法相似,但理论基础不同的方法—“拟蒙特卡罗方法”(Quasi-Monte Carlo 方法)—近年来也获得迅速发展。
我国数学家华罗庚、王元提出的
“华—王”方法即是其中的一例。
这种方法的基本思想是“用确定性的超均匀分布序列(数学上称为Low Discrepancy Sequences)代替Monte Carlo方法中的随机数序列。
对某些问题该方法的实际速度一般可比Monte Carlo方法提出高数百倍,并可计算精确度。
评注:
1、理论依据:
利用二维随机变量的联合分布计算相关的概率(与π有关),据此进行模拟求出π的近似值;根据中心极限定理模拟正态分布的随机数。
2、应用与推广
建立一个与我们感兴趣的量(这里是π)有关的概率模型,然后设计适当的随机试验,通过实验的结果来确定这个量。
依照这样的思路,利用计算机技术,已经建立起一类称为随机试验法或蒙特卡罗(Monte—Carlo)法的计算机模拟方法,目前这种方法已广泛应用到经济管理当中。
参考文献:
谢国瑞等.概率论与数理统计[M].高等教育出版社.2002.8.
茆诗松等.概率论与数理统计[M].中国统计出版社.2000.7.。