即着名的蒲丰投针问题
蒲丰投针――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 πθθπππ⇒≈==≈⎰下面是一些通过蒲丰投针实验计算出来的 π 的近似值:蒲丰投针问题的重要性并非是为了求得比其它方法更精确的π值,而是在于它是第一个用几何形式表达概率问题的例子。
蒲丰投针问题

蒲丰投针问题1.蒲丰简介蒲丰有的时候翻译成布丰,是18世纪法国著名的博物学家。
他喜欢研究数学和生物学。
主要的贡献有:(1)翻译了牛顿的《流数法》,流数法按现在的说法就叫微积分。
(2)写了一本巨著,这部巨著的名字叫《自然史》,因为他特别喜欢研究生物。
这个自然史一共有44卷,其中他生前写了36卷,后来他学生又完成了。
这本书对后来的世界有很大的影响,尤其影响到一个人叫达尔文,所以蒲丰这个人其实是很厉害的。
2.蒲丰投针1777年,在蒲丰晚年的时候,他有一次举行了一个家庭宴会。
邀请了一大堆他的朋友来帮他做实验。
做什么实验呢,就“投针”。
那朋友来了之后发现,就是桌子上有很多根间距相等的平行线。
然后蒲丰就说了,给你们同样大的针,你把这些针随机扔到这个桌子上。
然后宾客就随便扔吗,有可能这样,有可能这样……,随便扔是吧,这都有可能,什么情况都有可能。
有的针就没有跟平行线相交,比如这个,这个,这个,就没有相交,也有相交的,比如这个,这个,这个,这是相交的,对吧,然后他就数,他说这个针一共投了多少个呢?一共投了n =2212个。
其中与这个平行线相交的针有多少个,数了一下有m =704个。
然后他说,我现在可以计算圆周率了,别人都不信,他说你看我圆周率怎么算,我只要把这两个数相除就行了。
我用n 除以m ,这个数除完了大概是3.142,这个就是圆周率了。
别人说好神奇,这怎么回事儿,蒲丰说我给你解释解释这个原理是什么?其实这个原理并不复杂,我们来看一下它的原理是什么。
3. 蒲丰投针原理(1)首先,它这个平行线是严格平行的,那平行线之间的距离是固定的,是a 。
然后我随意地把一根针投上去,也许相交,也许不相交,这不一定。
比如说这个针投上去了,投上去了之后,针的总长是b ,针有一个中点叫M ,对吧,这个M 到它比较近的平行线之间的距离我们设为x ,大家注意,这个是针的中点到比较近的平行线的距离是x ,所以我们应该知道x 的范围。
x 的最小值就是这个终点正好落在平行线上,那最小值是0,对吧。
蒲丰(Buffon)投针试验

一、利用Matlab计算机语言验证蒲丰(Buffon)投针试验问题给定a=10,b=5时,模拟100万次投针实验的Matlab程序如下:a=10;b=5;n=1000000;p=10; % a为平行线间距,b为针的长度,n为投掷次数,p为有效数字位数x=unifrnd(0,a/2,[n,1]);phi=unifrnd(0,pi,[n,1]); % 产生均匀分布的随机数,分别模拟针的中点与最近平行线的距离和针的倾斜角y=x<0.5*b*sin(phi); m=sum(y); % 计数针与平行线相交的次数PI=vpa(2*b*n/(a*m),p)运行结果PI =3.138919145二、利用C++计算机语言编程通过大量重复实验验证以下结论:三个阄,其中一个阄内写着“有”字,两个阄内不写字,三人依次抓取,各人抓到“有”字阄的概率均为1/3。
程序如下:#include<stdio.h>#include<stdlib.h>#include<time.h>void main(){int n=500000;int i,a[3]={0};srand(time(NULL));for(i=0;i<n;i++)a[rand()%3]++;printf("共测试%d次,其中有字事件有%d次, 占%.2f%%\n""抓到无字事件1有%d次,占%.2f%%\n""抓到无字事件2有%d次,占%.2f%%\n""抓到无字事件共%d次,占%.2f%%",n,a[0],a[0]*100.0/n,a[1],a[1]*100.0/n,a[2],a[2]*100.0/n,a[1]+a[2],(a[1]+a[2])*100.0/n);return 0;}。
蒲丰投针实验模拟

一、蒲丰投针问题在平面上画有等距离的一些平行线,平行线间的距离为a(a>0) ,向平面上随机投一长为l(l<a)的针,针与平行线相交的概率p,结果发现π =2*l/(a*p).二、试验方法能够采纳MATLAB软件进行模拟实验,即用MATLAB编写程序来进行“蒲丰投针实验”。
1、基来源理因为针投到纸上的时候,有各样不一样方向和地点,但是,每一次投针时,其地点和方向都能够由两个量独一确立,那就是针的中点和偏离水平的角度。
以 x 表示针的中点到近来的一条平行线的距离,β表示针与平行线的交角。
明显有0<=x<=a/2 ,0<=β <=Pi 。
用边长为 a/2 及 Pi 的长方形表示样本空间。
为使针与平行线相交,一定x<=l*sinβ * ,知足这个关系的地区面积是从0 到Pi的l*sinβ对β的积分,可计算出这个概率值是(2l)/(Pi*a)。
只需随机生成n 对这样的x 和β,就能够模拟 n 次的投针实验,而后统计知足 x<=l*sin β * 的 x 的个数,就能够以为这是订交的次数。
而后利用公式求得π值。
2、MATLAB编程clear ('n')clear('a')clear('x')clear('f')clear ('y')clear ('m')disp(' 本程序用来进行投针实验的演示, a 代表两线间的宽度,针的长度 l=a/2 ,n 代表实验次数 '); a=input(' 请输入 a:');n=input(' 请输入 n:');x=unifrnd(0,a/2,[n,1]);f=unifrnd(0,pi,[n,1]);y=x<*a*sin(f);m=sum(y);PI=vpa(a*n/(a*m))三、实验数据 ( 部分程序截屏见后 )a n PI第一次310000第二次310000第三次3100000第四次3100000第五次31000000第六次31000000第七次3第八次3第九次3第十次3四、实验结论从上述数据剖析可知,跟着模拟次数的愈来愈多, PI 的值渐渐稳固在π值邻近,即愈来愈趋近于π,故蒲丰投针实验的确能够模拟出π的值。
蒲丰投针问题

蒲丰投针问题
1.有一只小猫,抓到20只老鼠,他准备每次吃掉奇数位置的老鼠,直到最后一只老鼠就把它放生,有一只很聪明的老鼠听到这里,就站到了一个位置上,最后它果然是那只被放生的老鼠,请问它站的是第几个位置?
2.伟大的数学家蒲丰,他邀请了他的很多朋友到他家,他在纸上画了很多间距相同的平行线,他给了他朋友很多长度是平行线间距一半的针,经过几千次的数据收集,针与平行线相交的数量与总数量的比值是
3.14,与π接近,各位知道是什么原因吗?。
浦丰投针问题

怎么办呢?
如果我们将针的每一个位置看作是一个基 本事件,此时,假定每一个位置都“同等可能” 是合理的。这样就可以用几何概率去解决。
模型建立与求解
x 以M 表示针落下后的中点, 表示中点 M 到最近一条平行线的距离, 表示针于平行线
x
a 2
的交角
则基本事件区域为 a 0 x : 2 0
这种方法由于来源于浦丰投针问题,常常被 称为随机投针法。更进一步的,这种方法成为了 现代计算机模拟的基础——蒙特卡洛方法。
结束
L ( A)
a
x
x
a 2
投针简图
0
1 l sin d l 2
o
从而所求概率为 L( A) l 2l p L ( ) 1 a a 2
模型分析
2l 2)由于 p a
l 1)当比值 不变时, 值始终不变 p a
2l a 所以可以利用它来计算 的近似值
o
基本事件简图
它为 ox 平面上的一个矩形,其面积为:
a L() 2M 为使针与平线(这线必定是它与 最近的一条平行线)相交,其充要条件是 l 0 x sin , A 2 (为什么?) 0 显然A 是Ω 中的一个区域(如图) , 而 A 的面积为
对于一些不确定的自然现象和科学实验 结果,我们通常用概率统计学去研究,建立 概率统计模型(随机现象)
问题:平面上画有等距离为a ( a 0) l 的一些平行线,向此平面投一长为 (l a ) 的针,试求此针与任一平行线 相交的概率?
分析: 针投到平面上与平行线的关系有两种可能:
针与这些平行线中的某一根相交,或不相交。 这两种可能性一般来说不一样大,即不具有等 可能性。因此无法用古典概率来求解。
蒲丰投针原理

/4.因为对于每一个z,这个概率都为(π-2)/4,因此对于任意的正数x,y,z,有P=(π-2)/4,命题得证。
为了估算π的值,我们需要通过实验来估计它的概率,这一过程可交由计算机编程来实现,事实上x+y>z,x²+y²;﹤z²;等价于(x+y-z)(x²+y²-z²;)﹤0,因此只需检验这一个式子是否成立即可。
若进行了m 次随机试验,有n次满足该式,当m足够大时,n/m趋近于(π-2)/4,令n/m=(π-2)/4,解得π=4n/m+2,即可估计出π值。
值得注意的是这里采用的方法:设计一个适当的试验,它的概率与我们感兴趣的一个量(如π)有关,然后利用试验结果来估计这个量,随着计算机等现代技术的发展,这一方法已经发展为具有广泛应用性的蒙特卡罗方法。
计算π最稀奇方法之一计算π的最为稀奇的方法之一,要数18世纪法国的博物学家C·布丰和他的投针实验:在一个平面上,用尺画一组相距为d的平行线;一根长度小于d的针,扔到画了线的平面上;如果针与线相交,则该次扔出被认为是有利的,否则则是不利的.布丰惊奇地发现:有利的扔出与不利的扔出两者次数的比,是一个包含π的表示式.如果针的长度等于d,那么有利扔出的概率为2/π.扔的次数越多,由此能求出越为精确的π的值.公元1901年,意大利数学家拉兹瑞尼作了3408次投针,给出π的值为3.1415929——准确到小数后6位.不过,不管拉兹瑞尼是否实际上投过针,他的实验还是受到了美国犹他州奥格登的国立韦伯大学的L·巴杰的质疑.通过几何、微积分、概率等广泛的范围和渠道发现π,这是着实令人惊讶的!证明下面就是一个简单而巧妙的证明。
找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d。
可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点。
蒲丰投针问题_概率论论文

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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蒲丰投针 ―― Monte Carlo 算法
20
书面作业(P51)
1. 在一条笔直的流水线上,有5个机器人,它们顺序间 隔为1千米。试在流水线上设置一个零件供应站,使 得各机器人到供应站的距离总和为最短,并求出这 个最短距离总和。若有奇数个机器人,又将如何? 2. 丈夫和他的妻子上街购物,他们决定在下午4:00到 5:00之间在某一街角相会。他们约好当其中一人先 到后,一定要等另一人20分钟,若另一人仍不到则 离去。试问这对夫妇能相遇的概率为多少(假定他 们到达约定地点的时间是随机的,且都在约定的一 小时内)? 3. 设计一种蒙特卡罗模型用于估计无理数 ln2 的近似 值。(提示:ln2 等于1/(1+x)在[0,1] 上的定积分)
古典概型不仅要求基本事件的出现等可能 性,而且要求样本空间为有限集。但实际问题 却经常碰到无限样本空间的情形。对于无限样 本空间的情形,常可转化为几何概型来解决。 所谓几何概型主要用长度、面积、体积等有关 几何的直观概念来解决问题。古典概型与几何 概型的相同点:两者基本事件发生的可能性都 是相等的;古典概型与几何概型的不同点:古 典概型要求基本事件有有限个,几何概型要求 基本事件有无限多个。 12
19
三、(补充)蒙特卡罗模型
问题的提出:
蒲丰投针问题的重要性并非是为了求得比 其它方法更精确的π值,而是在于它是第一个 用几何形式表达概率问题的例子。计算π的这 一方法,不但因其新颖,奇妙而让人叫绝,而 且它开创了使用随机数处理确定性数学问题的 先河,是用偶然性方法去解决确定性计算的前 导。 具体内容参见文件:
数学建模理论与实践
—— 基于几何学的数学建模
1
基于几何学的数学建模
一、几何优化模型 二、普通几何概几何优化模型
问题的提出:
我们都知道,平面几何里有一个基 本公理:平面上两点之间的连线,线段 最短。这里的最短,就是一种几何优化 思想。
3
一、几何优化模型
问题的提出: 现在的问题是: 例1:在一条笔直的流水线上,有5个机器人。现要 在流水线上设置一个零件供应站,使得各机器人到供 应站的距离总和为最短,问供应站应设在哪里?一般 地,如果有n 个机器人,供应站又应设在哪里? 例2:在一条笔直的流水线上,有 7 个点分别有机器 人3、2、2、1、2、4、3个,现要在流水线上设置 一个零件供应站,使得各机器人到供应站的距离总和 为最短,供应站应设在哪里?若最后一个点上多 1 个机器人,将如何?若最后一个点上多 3 个机器人, 4 又如何?
二、普通几何概率模型
问题的提出:
对于复杂的实际问题,解题的关键是要建 立概率模型,找出随机事件与所有基本事件相 对应的几何区域,把问题转化为几何概型的问 题,利用几何概型公式求解。
13
二、普通几何概率模型
例子及其解答
假设小王家订了一份报纸,送报人可能在 下午1:30到2:30之间把报纸送到小王家,而小 王离家去工作的时间在下午2:00到3:00之间, 问小王在离开家前能得到报纸(称为事件)的 概率是多少?
21
10
二、普通几何概率模型
问题的提出:
概率,又称为几率、或然率,是反映某种 事件发生的可能性大小的一种数量指标.它介 于0和1之间。这里的事件是指随机现象中出 现的某个可能结果。概率论是研究随机现象统 计规律的一门数学分支学科,它有着悠久的历 史。其中以古典概型特别成熟。
11
二、普通几何概率模型
问题的提出:
14
二、普通几何概率模型
例子及其解答
15
二、普通几何概率模型
例子及其解答
16
二、普通几何概率模型
例子及其解答
17
二、普通几何概率模型
例子及其解答
18
三、(补充)蒙特卡罗模型
问题的提出: 蒙特卡罗方法(Monte Carlo),也称统计模拟 方法,是在二次世界大战期间随着科学技术的发展和 电子计算机的发明,而被提出的一种以概率统计理论 为基础的一类非常重要的数值计算方法。蒙特卡罗方 法在应用物理、原子能、固体物理、化学、生态学、 社会学以及经济行为等领域中得到广泛利用。 蒙特卡罗方法的名字来源于世界著名的赌城 — — 摩纳哥的蒙特卡罗。其历史起源可追溯到1777年 法国科学家蒲丰提出的一种计算圆周率的方法 —— 随机投针法,即著名的蒲丰投针问题。
一、几何优化模型
模型假设 1. 流水线在一条笔直的直线上
2. 机器人、供应站都是一个质点,没有长度
建模目的
最佳的供应站设点位在哪?
5
一、几何优化模型
例1的求解:
6
一、几何优化模型
例1的求解:
7
一、几何优化模型
例1的求解:
8
一、几何优化模型
例1的求解:
9
一、几何优化模型
例2的求解:
在若干点上机器人有重复,考虑将此种情 形化成例1的情况,问题迎刃而解!具体此略。