投针实验计算圆周率的数学分析
- 格式:doc
- 大小:81.00 KB
- 文档页数:2
蒲丰投针 ―― 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 πθθπππ⇒≈==≈⎰下面是一些通过蒲丰投针实验计算出来的 π 的近似值:蒲丰投针问题的重要性并非是为了求得比其它方法更精确的π值,而是在于它是第一个用几何形式表达概率问题的例子。
产学研理论与实践科技经济导刊 2016.22期基于R语言蒲丰投针法求圆周率王利娜(上海海事大学经济管理学院 上海 201306)1引言圆周率π取自希腊语,表示圆的周长与直径的比值。
历史上,许多数学家试图寻求圆周率π的近似值。
迄今为止,英格兰数学家、发明家奥特雷德[1]最早在数学中使用“π”这个符号,他用圆的周长除以直径表示圆周率。
古埃及、古希腊人[2]用匀重木板锯成圆形和方形以秤量对比取值,或者用谷粒摆在圆形上,以粒数与方形对比求得。
在论文《圆的测定》中,阿基米德[3]得到更精确近似圆周率π的结果,著名数学家韦达[4]曾运用级数乘积和分析式来计算π;英国数学家梅钦[5]发现了Machin 公式,1734 到1735 年,欧拉研究出著名的欧拉公式[6];中国数学家李善兰求圆面积时也求出π的公式[7]。
18世纪法国科学家蒲丰[8]( Buffon,1707-1788) 在画有一组平行线的地面投针,计算出圆周率π的估计值;1961 年,华盛顿的雷恩奇和丹尼尔•尚克斯[9]运用挪威斯托默公式,计算圆周率π到小数点后的100256 位。
黄朝霞[10]把蒲丰问题中的投掷物用硬币来替代,从而得到几种相应的概率结果。
后来很多数学家也做过蒲丰投针试验,方法虽然简单,但是实验次数有限。
本研究基于R语言在蒲丰投针实验的基础上,运用已知的数学关系用计算机来模拟随机试验代替实际的蒲丰投针试验,估计圆周率π,并通过计算均值和方差,判断随着实验的次数增多圆周率π估计值的稳定性和波动情况。
2蒲丰投针实验1777年法国蒲丰(Buffon)用投针实验方法来计算圆周率π,这就是随机模拟的思想的起源。
有很多人做过一些实验求圆周率,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,比较接近真实值,很明显,德摩根求得的圆周率π比拉泽里尼投针求得的π误差较大;1925年,赖纳投针2520次,与平行线相交次数为859次,求得的π的实验值为3.1795[11]。
一、 问题的提出在人类数学文化史中,对圆周率π精确值的追求吸引了许多学者的研究兴趣。
在众多的圆周率计算方法中,最为奇妙的是法国物理学家布丰(Boffon )在1777年提出的“投针实验”。
与传统的“割圆术”等几何计算方法不同的是,“投针实验”是利用概率统计的方法计算圆周率的值,进而为圆周率计算开辟了新的研究途径,也使其成为概率论中很有影响力的一个实验。
本节我们将借助于MATLAB 仿真软件,对“投针实验”进行系统仿真,以此来研究类比的系统建模方法和离散事件系统仿真。
二、 系统建模“投针实验”的具体做法是:在一个水平面上画上一些平行线,使它们相邻两条直线之间的距离都为a ;然后把一枚长为l (0<l <a )的均匀钢针随意抛到这一平面上。
投针的结果将会有两种,一种是针与这组平行线中的一条直线相交,一种是不相交。
设n 为投针总次数,k 为相交次数,如果投针次数足够多,就会发现公式2ln ak计算出来的值就是圆周率π。
当然计算精度与投针次数有关,一般情况下投针次数要到成千上万次,才能有较好的计算精度。
有兴趣的读者可以耐心地做一下这个实验。
为了能够快速的得到实验结果,我们可以通过编写计算机程序来模拟这个实验,即进行系统仿真。
所谓的系统仿真是指以计算机为工具,对具有不确定性因素的、可模型化的系统的一种研究方法。
建立能够反映实验情况的数学模型是系统仿真的基础。
系统建模中需解决两个问题,一个是如何模拟钢针的投掷结果,另一个是如何判断钢针与平行线的位置关系。
这里,设O 为钢针中点,y 为O 点与最近平行线之间的距离,θ为钢针与平行线之间的夹角(0180θ≤< )。
首先,由于人的投掷动作是随机的,钢针落下后的具体位置也是随机的,因此可用按照均匀分布的两个随机变量y 和θ来模拟钢针投掷结果。
其次,人工实验时可以用眼睛直接判断出钢针是否与平行线相交,而计算机仿真实验则需要用数学的方法来判别。
如下图所示,如果y 、l 和θ满足关系式1sin 2y l θ≤,那么钢针就与平行线相交,否则反之,进而可以判断钢针与平行线的位置关系。
教材提到了“投针实验”求圆周率的方法。
1777年,法国数学家蒲丰取一根针,量出它的长度,然后在纸上画上一组间距相等的平行线,这根针的长度是这些平行线的距离是的一半。
把这根针随机地往画满了平行线的纸面上投去。
小针有的与直线相交,有的落在两条平行直线之间,不与直线相交。
这次实验共投针2212次,与直线相交的有704次,2212÷704≈3.142。
得数竟然是π的近似值。
这就是著名的蒲丰投针问题。
后来他把这个试验写进了他的论文《或然性算术尝试》中。
蒲丰证明了针与任意平行线相交的概率为p= 2l/πd 。
这个公式中l为小针的长,d为平行线的间距。
由这个公式,可以用概率方法得到圆周率的近似值。
当实验中投的次数相当多时,就可以得到π的更精确的值。
蒲丰实验的重要性并非仅仅是为了求得比其它方法更精确的π值。
而在于它是第一个用几何形式表达概率问题的例子。
计算π的这一方法,不但因其新颖,奇妙而让人叫绝,而且它开创了使用随机数处理确定性数学问题的先河,是用偶然性方法去解决确定性计算的前导。
找一根粗细均匀,长度为 d 的细针,并在一张白纸上画上一组间距为l 的平行线(方便起见,常取l = d/2),然后一次又一次地将小针任意投掷在白纸上。
这样反复地投多次,数数针与任意平行线相交的次数,布丰(Comte de Buffon)设计出他的著名的投针问题(needleproblem)。
依靠它,可以用概率方法得到π的近似值。
假定在水平面上画上许多距离为a的平行线,并且,假定把一根长为l<a的同质均匀的针随意地掷在此平面上。
布丰证明:该针与此平面上的平行线之一相交的概率为:p=2l/(api) 把这一试验重复进行多次,并记下成功的次数,从而得到P的一个经验值,然后用上述公式计算出π的近似值,用这种方法得到的最好结果是意大利人拉泽里尼(Lazzeri ni)于1901年给出的。
投针实验计算圆周率的数学分析王向东投针实验计算圆周率的数学证明方法,初中一般是采取假设针弯成直径等于平行线距离的方法巧妙证明。
这个方法是基于不管针弯成什么形状,针上的每一个部位与平行线相交的概率相同,但这是感观上的认识,要把其中原因解释清楚不是很容易。
笔者从纯数学的角度来推导这个公式。
一、投针问题的由来1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d 的平行线。
2) 取一根长度为()l l d <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d 的平行线,将一根长度为()l l d <的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是:2lp d π=,π为圆周率。
二、投针实验的数学证明投针这个动作是由两个事件构成的。
事件1:针投下后与平行线构成一定的夹角。
我们来分析一下针投下后与平行线之间的成某一特定夹角时的概率。
设针投下后与平行线之间的夹角为θ,则θ在0与π之间。
针与平行线之间的夹角在θ到θ+θ∆之间的概率为1p θπ∆=,当0θ∆→时,可看作针投下后与平行线之间成某一特定夹角为θ的概率。
事件2:针投下后会在平行线垂直的方向形成一个投影,针与平行线相交等于它的垂直投影与平行线相交。
这个投影的长度'l 在0到l 之间。
此时针在水平方向的投影为'sin()l l θ=。
再分析'l 与平行线相交的概率。
等于我们将问题转化成长度为'l 的针,并且只允许它处在与平行线垂直的方向上,这时它与平行线相交的概率显然为:2'sin()l l p d d θ==因为每一次投掷都是由上述两个事件组成的,因而对于针与平行线之间的夹角在θ到θ+θ∆之间时,针与平行线相交的概率()p θ为这两个事件概率的乘积,即:12sin()().l p p p d θθθπ∆== 因为针与平行线之间构成的夹角在0-π之间每个角度的机会都是均等的,因此针与平行线相交的概率相当于针落在每个θ附近θ∆范围内,当0θ∆→时与平行线相交的所有概率之和。
布丰投针实验详解1777年,法国数学家布丰(D,Buffon,1707年-1788年)提出了随机投针法并通过投针实验计算出了圆周率π的值,与刘徽的“割圆术”不同的是,随机投针法是利用概率统计的方法来计算圆周率π的值,开辟了计算圆周率的新途径,因此,“布丰投针实验”成为概率论中很有影响力的一个实验。
程序运行时,计算机上将显示出每次“投针实验”的具体情况,即显示当前总投掷的次数、钢针与平行线相交的次数以及由此计算出来的圆周率的值,当满足所设置的精度要求后,程序就停止运行,当钢针投掷276427次后,所计算出来的圆周率值满足精度要求,此时钢针与平行线相交131984次,圆周率计算结果为3.14159670869196.当然,由于“投掷动作”具有随机性,因此每次“投针实验”的仿真结果不一定相同,为了使计算结果更趋近于π,可以减小误差,取更小的s的值来提高计算的精度,当然仿真实验的时间也会随之变长,值得说明的是,若将一根钢丝弯成一个圆圈,使其直径恰好等于平行线间的距离a,投掷的结果不外乎有两种:一种是与一条平行线相交,一种是与相邻两条平行线相切,这两种情况都将导致圆圈和平行线有两个交点,因此,如果圆圈扔下的次数为n,那么相交的交点数必为2n。
若将圆圈拉直变成一根长为πa的钢针,显然,这样的钢针被扔下时与平行线相交的情形要比弯成圆圈的情况复杂得多,可能没有交点,还可能有1个交点、2个交点、3个交点、4个交点,由于圆圈和拉直后的钢针的长度相同,根据机会均等的原理可知,当投掷的次数足够多时,两者与平行线组的交点的总数将是一样的,换句话说,当长度为πa的钢针被扔下无穷多次后,它与平行线相交的交点总数也为2n。
從本质上看,上述投针实验运用了离散事件系统仿真,如果按照布丰的做法,进行成千上万次的投针实验和手工计算,势必要消耗大量的人力、物力和财力,而通过运用类比的方法,对实验进行系统建模,在此基础上使用计算机进行系统仿真来解决问题,事情就会变得非常简单,我们只需要根据已掌握的经验与认识,通过对比分析1,运用数学语言、数学符号、数学公式、数学概念等来表达这些量,从多种复杂的因素中抽取主要因素,忽略次要因素,抓住事物的本质特征,运用一系列等式或不等式来表达各个量之间的关系,从而建立起研究对象的数学模型,这有助于掌握复杂事物的内在规律。
蒲丰投针问题1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的布丰投针问题。
这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d的平行线。
2) 取一根长度为l(l<d)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为l(l<d)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是p=2l/(πd) π为圆周率利用这个公式可以用概率的方法得到圆周率的近似值。
下面是一些资料实验者年代投掷次数相交次数圆周率估计值沃尔夫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赖纳1925 2520 859 3.1795布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率论的发展起到一定的推动作用。
像投针实验一样,用通过概率实验所求的概率来估计我们感兴趣的一个量,这样的方法称为蒙特卡罗方法(Monte Carlo method)。
蒙特卡罗方法是在第二次世界大战期间随着计算机的诞生而兴起和发展起来的。
这种方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
法国数学家布丰(1707-1788)最早设计了投针试验。
并于1777年给出了针与平行线相交的概率的计算公式P=2L/πd(其中L是针的长度,d是平行线间的距离,π是圆周率)。
由于它与π有关,于是人们想到利用投针试验来估计圆周率的值。
此外,随便说出3个正数,以这3个正数为边长可以围成一个钝角三角形的概率P也与π有关。
龙源期刊网
布丰投针实验
作者:
来源:《初中生世界·九年级》2014年第02期
把一根质量均匀的小棒向一个画了一些平行线的平面上随意地扔几千下,就能得到有六个准确数字的圆周率π的近似值,你相信吗?肯定有很多人不相信. 事实上,确实有这样的数学实验.
1777年的一天,法国的博物学家C·布丰伯爵的家里宾客满堂,他们是应主人的邀请来观看一次奇特的试验的.
年已古稀的布丰拿出一张纸来,纸上预先画好了一条条等距离的平行线. 他又拿出一大把准备好的小针,这些小针都是平行线间距离的一半. 布丰先生宣布:“请诸位把这些小针一根一根地往纸上扔吧!不过,请大家务必把针与纸上的线相交的次数告诉我. ”
客人们遵照主人的意愿,加入了试验的行列. 一把小针扔完了,把它们捡起来再扔,布丰则把小针与平行线相交的次数记了下来. 实验进行了将近一个小时才结束. 随后布丰先生高声宣布:“先生们,我这里记录了诸位刚才的投针结果,共投针2212次,其中与平行线相交的有704次. 总数2212与相交数704的比值为3.142. ”大家异常惊奇,这投针的比例怎么会与圆周率如此接近呢?布丰解释说:“这就是概率的原理,因为针长恰好是平行线间距的一半,那针与线相交的概率为0.318,它的倒数就近似于圆周率. ”
著名的布丰公式
后来,布丰又取出一些圆圈,它们的直径均等于平行线的间距. 不管怎样扔下去,它们与平行线都有两个交点. 布丰又把同样大小的一些圆圈拉直,将这些长针随意扔下去,它们与平行线有多种相交情况,交点数或是4个,或是3个,或是2个,或是1个,有的甚至不相交. 当投的长针数越多,针、线的交点总数就越接近针数的两倍. 如果用不同长度的针去投,那针与线的交点数与针的长度成正比. 这就是著名的布丰公式.。
投针法计算圆周率原理今天来聊聊投针法计算圆周率原理的事。
你说这圆周率,大家都知道是圆周长和直径的比值,一般用希腊字母π表示。
那它和投针能有啥关系呢?这可就有趣了。
我先给你讲个生活中的小现象。
你看,下雨天地上会有好多小水洼。
假如你有一些直直的小树枝,你随便往水洼里扔这些树枝。
这时候就会有个很神奇的情况,树枝落在水洼里的情况各不相同,有的可能就横跨了水洼的某条直径,有的可能就是斜着在水洼中的某个位置,有的可能和水洼里一些想象的线条平行或者有夹角。
再来聊聊这个投针法算圆周率。
这就好比我们把这个地面、水洼看成一个有好多等距平行线的大平面。
那针就相当于是那些小树枝。
这里呢,我们得了解一些专业术语,像针和平行线的长度都是有具体要求的。
这里有个专业理论,假如我们设针的长度是l,平行线之间的距离为d (l <= d),投针的次数为n,针与平行线相交的次数为m。
根据概率论,就有这样一个神奇的公式:π= 2ln / dm。
为啥会这样呢?打个比方吧,就像是在抽奖,针落在不同的位置就像是不同的抽奖结果。
每一次投针就像抽一次奖,针与平行线相交或者不相交都是可能的结果。
老实说,我一开始也不明白,为啥投针能和圆周率联系起来呢?后来我慢慢地学习才发现,这背后其实是利用了概率和几何之间的奇妙关系。
这个投针法呢,在实际中就算我们不像专业数学家那么精确地去做实验,也能大概理解它的原理。
比如说我们可以在一张画满等距平行线的纸上,拿长度合适的针来模拟这个实验,多扔几次针,然后按照公式去估算圆周率呢。
说到这里,你可能会问,如果针和线很粗会怎么样呢?这就是个很好的思考方向哦。
在实际应用中,我们就必须要考虑针的粗细以及线条的宽度等因素对结果的影响。
这就告诉我们,这个投针法看似简单但是有很多需要注意的地方。
我觉得这个投针法真的很有趣,它让我们看到了看似毫不相关的事情之间奇妙的联系。
不知道你对这个投针法有没有自己的想法呢?欢迎一起讨论呀。
投针实验计算圆周率的数学分析
王向东
投针实验计算圆周率的数学证明方法,初中一般是采取假设针弯成直径等于平行线距离的方法巧妙证明。
这个方法是基于不管针弯成什么形状,针上的每一个部位与平行线相交的概率相同,但这是感观上的认识,要把其中原因解释清楚不是很容易。
笔者从纯数学的角度来推导这个公式。
一、投针问题的由来
1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:
1) 取一张白纸,在上面画上许多条间距为d 的平行线。
2) 取一根长度为()l l d <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m
3)计算针与直线相交的概率.
18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d 的平行线,将一根长度为()l l d <的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是:
2l p d
π=,π为圆周率。
二、投针实验的数学证明
投针这个动作是由两个事件构成的。
事件1:针投下后与平行线构成一定的夹角。
我们来分析一下针投下后与平行线之间的成某一特定夹角时的概率。
设针投下后与平行线之间的夹角为θ,则θ在0与π之间。
针与平行线之间的夹角在θ到θ+θ∆之间的概率为1p θ
π∆=,当0θ∆→时,可看作针投下后与平行线之
间成某一特定夹角为θ的概率。
事件2:针投下后会在平行线垂直的方向形成一个投影,针与平行线相交等于它的垂直投影与平行线相交。
这个投影的长度'l 在0到l 之间。
此时针在水平方向的投影为'sin()l l θ=。
再分析'l 与平行线相交的概率。
等于我们将问题转化成长度为'l 的针,并且只允许它处在与平行线垂直的方向上,这时它与平行线相交的概率显然为:
2'sin()l l p d d
θ== 因为每一次投掷都是由上述两个事件组成的,因而对于针与平行线之间的夹角在θ到θ+θ∆之间时,针与平行线相交的概率()p θ为这两个事件概率的乘积,即:
12sin()().l p p p d θθθπ
∆== 因为针与平行线之间构成的夹角在0-π之间每个角度的机会都是均等的,因此针与平行线相交的概率相当于针落在每个θ附近θ∆范围内,当0θ∆→时与平行线相交的所有概率之和。
这个概率可用下列定积分表示,并可求出这个定积分的值为:
0sin()l p d π
θπ=⎰ d θ=2l d
π d 这是一个有趣的结论,当实验用针的长度2d l =时,针于平行线相交的概率就是1π。
笔者还用计算机模拟了这个实验,证实经过4万次投掷,算出的π值误差小于万分之二。
参考文献:
[1] 蒲丰投针问题 /view/1037888.htm
[2] 投针实验 /view/4154b0eb81c758f5f61f6786.html。