蒲丰投针问题.docx
《蒲丰投针问题.docx》由会员分享,可在线阅读,更多相关《蒲丰投针问题.docx(4页珍藏版)》请在冰豆网上搜索。
蒲丰投针问题
蒙特卡罗方法概述
§8.2引例:
蒲丰投针问题
在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用MonteCarlo方法。
下面通过例子简单介绍MonteCarlo方法的基本思想.
MonteCarlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周
的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:
1)1) 取一张白纸,在上面画上许多条间距为d的平行线,见图8.1
(1)
2)2) 取一根长度为
的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m
3)计算针与直线相交的概率.
由分析知针与平行线相交的充要条件是
其中
建立直角坐标系
上述条件在坐标系下将是曲线所围成的曲边梯形区域,见图8.l
(2).
由几何概率知
4)经统计实验估计出概率
由(*)式即
MonteCarlo方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计试验,即多次随机抽样试验(确定m和n),统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.
*************************************************************************
提示:
设x是一个随机变量,它服从区间[0,d/2]是的均匀分布,同理,
是一个随机变量,它服从区间
上的均匀分布。
按照某种抽样法,产生随机变量的可能取值,例如进行n次抽样,得到样本值
,统计出满足不等式
的次数m(m.
****************************************************************************
使用MATLAB语言编程实现(4.m)
l=1
d=2;
m=0;
fork=l:
n
x=unifmd(0,d/2);
p=unifmd(0,pi);
if
m=m+1
elsc
end
end
p=m/n
pi_m=1/p
运行,取n=1000,simu4回车,即得结果
***************************************************************************
想:
1)在上述的程序中任意调整n的取值,会发现什么规律?
2)参数l,d的不同选择,会导致什么结果?
***************************************************************************
蒙特卡洛方法适用范围很广泛,它既能求解确定性的问题,也能求解随机性的问题以及科学研究中的理论问题.例如利用蒙特卡洛方法可以近似地计算定积分,即产生数值积分问题.
任意曲边梯形面积的近似计算
一个古老的问题:
用一堆石头测量一个水塘的面积.应该怎样做呢?
测量方法如下:
假定水塘位于一块面积已知的矩形农田之中.如图8.2所示.随机地向这块农田扔石头使得它们都落在农田内.被扔到农田中的石头可能溅上了水,也可能没有溅上水,估计被“溅上水的”石头量占总的石头量的百分比.试想如何利用这估计的百分比去近似计算该水塘面积?
结合图8.2中的图形
(1)分析,只要已知各种参数及函数(a,b,H,f(x)),有以下两种方法可近似计算水塘面积.
1.随机投点法
1)赋初值:
试验次数n=0,成功次数m=0;规定投点试验的总次数N;
2)随机选择m个数对
,其中
,置n=n+l;
3)判断
,若是,转4,否则停止计算;
4)判断条件
(表示一块溅水的石头)是否成立,若成立则置m=m+1,转2,否则转2;
5)计算水塘面积的近似值
.
2.平均值估计法
1)产生[a,b]区间的均匀随机数
2)计算
3)计算
。
该方法的特点是估计函数f(x)在[a,b]上的平均值,面积近似等于该平均值乘以(b-a).
***************************************************************************
做:
用MATLAB软件编制程序实现,并对以上两种方法进行比较.