蒲丰投针问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蒙特卡罗方法概述
§ 8.2 引例:蒲丰投针问题
在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用Monte Carlo 方法。
下面通过例子简单介绍Monte Carlo 方法的基本思想.
Monte Carlo 方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周π的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:
1) 1) 取一张白纸,在上面画上许多条间距为d 的平行线,见图8.1(1)
2) 2) 取一根长度为)(d l l <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m
3)计算针与直线相交的概率.
由分析知针与平行线相交的充要条件是
ϕsin 21≤
x 其中
πϕ≤≤≤≤0,2
0d x 建立直角坐标系),(x ϕ,上述条件在坐标系下将是曲线所围成的曲边梯形区域,见图
8.l (2).
由几何概率知
(*)22
sin 210d l d d G g p ππϕϕπ===⎰的面积的面积 4)经统计实验估计出概率,n m P ≈由(*)式即?2=⇒=ππd
l n m Monte Carlo 方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计试验,即多次随机抽样试验(确定m 和n ),统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.
************************************************************************* 提示:设x 是一个随机变量,它服从区间[0,d/2]是的均匀分布,同理,ϕ是一个随机变量,它服从区间],0[π上的均匀分布。
按照某种抽样法,产生随机变量的可能取值,例如
进行n 次抽样,得到样本值n i x i i ,,2,1),,( =ϕ,统计出满足不等式
i i d x ϕsin 2
≤
的次数m(m<n),从而可以计算出p 的估计值n m p /ˆ=. **************************************************************************** 使用MATLAB 语言编程实现(4.m)
l=1
d=2;
m=0;
for k =l :n
x =unifmd (0,d /2);
p =unifmd (0,pi );
if )sin(15.0y x ⨯⨯<
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 个数对,1,,m i y x i i <<,其中H y b x a i i <<<<0,,置 n =n +l ;
3)判断N n ≤,若是,转4,否则停止计算;
4)判断条件)(i i x f y <(表示一块溅水的石头)是否成立,若成立则置m=m+1,转2,否则转2;
5)计算水塘面积的近似值N m a b H S /)(⨯-⨯=.
2.平均值估计法
1)产生[a,b]区间的均匀随机数;,,2,1,N i x i =
2) 计算;,,2,1),(N i x f i =
3)计算∑=-=N
i i x f N a b S 1
)()(。
该方法的特点是估计函数f(x)在[a,b]上的平均值,面积近似等于该平均值乘以(b-a). *************************************************************************** 做:用MA TLAB 软件编制程序实现,并对以上两种方法进行比较.。