[转帖]圆周率π的计算历程及各种脑洞大开的估计方法_生活灌水_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  生活服务区 »  生活灌水 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2735 | 回复: 0   主题: [转帖]圆周率π的计算历程及各种脑洞大开的估计方法        上一篇   下一篇 
liuliying930406
注册用户
等级:中校
经验:2027
发帖:210
精华:0
注册:2018-10-9
状态:离线
发送短消息息给liuliying930406 加好友    发送短消息息给liuliying930406 发消息
发表于: IP:您无权察看 2018-10-19 15:29:26 | [全部帖] [楼主帖] 楼主


转自公众号算法与数学之美


圆周率是一个极其驰名的数。从有文字记载的历史开始,这个数就引进了外行人和学者们的兴趣。作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。回顾历史,人类对π 的认识过程,反映了数学和计算技术发展情形的一个侧面。π 的研究,在一定程度上反映这个地区或时代的数学水平。为求得圆周率的值,人类走过了漫长而曲折的道路,它的历史是饶有趣味的。我们可以将这一计算历程分为几个阶段。


实验时期

通过实验对π 值进行估算,这是计算π 的的第一阶段。这种对π 值的估算基本上都是以观察或实验为根据,是基于对一个圆的周长和直径的实际测量而得出的。在古代世界,实际上长期使用π =3这个数值。最早见于文字记载的有基督教《圣经》中的章节,其上取圆周率为3。这一段描述的事大约发生在公元前950年前后。其他如巴比伦、印度、中国等也长期使用3这个粗略而简单实用的数值。在我国刘徽之前“圆径一而周三”曾广泛流传。

早期的人们还使用了其它的粗糙方法。如古埃及、古希腊人曾用谷粒摆在圆形上,以数粒数与方形对比的方法取得数值。或用匀重木板锯成圆形和方形以秤量对比取值……由此,得到圆周率的稍好些的值。如古埃及人应用了约四千年的4 (8/9)2 = 3.1605。在印度,公元前六世纪,曾取π= √10 = 3.162。在我国东、西汉之交,新朝王莽令刘歆制造量的容器――律嘉量斛。刘歆在制造标准容器的过程中就需要用到圆周率的值。为此,他大约也是通过做实验,得到一些关于圆周率的并不划一的近似值。现在根据铭文推算,其计算值分别取为3.1547,3.1992,3.1498,3.2031比径一周三的古率已有所进步。


几何法时期

凭直观推测或实物度量,来计算π 值的实验方法所得到的结果是相当粗略的。

真正使圆周率计算建立在科学的基础上,首先应归功于阿基米德。他是科学地研究这一常数的第一个人,是他首先提出了一种能够借助数学过程而不是通过测量的、能够把π 的值精确到任意精度的方法。由此,开创了圆周率计算的第二阶段。

image.png

圆周长大于内接正四边形而小于外切正四边形,因此2√2 <π <4 。

当然,这是一个差劲透顶的例子。据说阿基米德用到了正96边形才算出他的值域。

阿基米德求圆周率的更精确近似值的方法,体现在他的一篇论文《圆的测定》之中。在这一书中,阿基米德第一次创用上、下界来确定π 的近似值,他用几何方法证明了“圆周长与圆直径之比小于3+(1/7) 而大于3 + (10/71) ”,他还提供了误差的估计。重要的是,这种方法从理论上而言,能够求得圆周率的更准确的值。到公元150年左右,希腊天文学家托勒密得出π =3.1416,取得了自阿基米德以来的巨大进步。

 


割圆术。不断地利用勾股定理,来计算正N边形的边长。

在我国,首先是由数学家刘徽得出较精确的圆周率。公元263年前后,刘徽提出著名的割圆术,得出π =3.14,通常称为“徽率”。

恐怕大家更加熟悉的是祖冲之所做出的贡献吧。对此,《隋书·律历志》有如下记载:“宋末,南徐州从事祖冲之更开密法。以圆径一亿为丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率:圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。”

这一记录指出,祖冲之关于圆周率的两大贡献。其一是求得圆周率

3.1415926 <π <3.1415927 

其二是,得到π 的两个近似分数即:约率为22/7;密率为355/113。

他算出的π 的8位可靠数字,不但在当时是最精密的圆周率,而且保持世界记录九百多年。以致于有数学史家提议将这一结果命名为“祖率”。

 

中国发行的祖冲之纪念邮票

我国再回过头来看一下国外所取得的成果。

1150年,印度数学家婆什迦罗第二计算出π= 3927/1250 = 3.1416。1424年,中亚细亚地区的天文学家、数学家卡西著《圆周论》,计算了3×228=805,306,368边内接与外切正多边形的周长,求出π 值,他的结果是:

π=3.14159265358979325

有十七位准确数字。这是国外第一次打破祖冲之的记录。

16世纪的法国数学家韦达利用阿基米德的方法计算π 近似值,用6×216正边形,推算出精确到9位小数的π 值。他所采用的仍然是阿基米德的方法,但韦达却拥有比阿基米德更先进的工具:十进位置制。17世纪初,德国人鲁道夫用了几乎一生的时间钻研这个问题。他也将新的十进制与早的阿基米德方法结合起来,但他不是从正六边形开始并将其边数翻番的,他是从正方形开始的,一直推导出了有262条边的正多边形,约4,610,000,000,000,000,000边形!这样,算出小数35位。为了记念他的这一非凡成果,在德国圆周率π 被称为“鲁道夫数”。但是,用几何方法求其值,计算量很大,这样算下去,穷数学家一生也改进不了多少。到鲁道夫可以说已经登峰造极,古典方法已引导数学家们走得很远,再向前推进,必须在方法上有所突破。

17世纪出现了数学分析,这锐利的工具使得许多初等数学束手无策的问题迎刃而解。π 的计算历史也随之进入了一个新的阶段。


分析法时期

这一时期人们开始摆脱求多边形周长的繁难计算,利用无穷级数或无穷连乘积来算π 。

1593年,韦达给出

image.png

韦达的公式

这一不寻常的公式是π 的最早分析表达式。甚至在今天,这个公式的优美也会令我们赞叹不已。它表明仅仅借助数字2,通过一系列的加、乘、除和开平方就可算出π 值。

接着有多种表达式出现。如沃利斯1650年给出:

image.png

沃利斯的公式

1706年,梅钦建立了一个重要的公式,现以他的名字命名:

梅钦公式

再利用分析中的级数展开,他算到小数后100位。

这样的方法远比可怜的鲁道夫用大半生时间才抠出的35位小数的方法简便得多。显然,级数方法宣告了古典方法的过时。此后,对于圆周率的计算像马拉松式竞赛,纪录一个接着一个:

1844年,达塞利用公式:

算到200位。

19世纪以后,类似的公式不断涌现,π的位数也迅速增长。1873年,谢克斯利用梅钦的一系列方法,级数公式将π 算到小数后707位。为了得到这项空前的纪录,他花费了二十年的时间。他死后,人们将这凝聚着他毕生心血的数值,铭刻在他的墓碑上,以颂扬他顽强的意志和坚韧不拔的毅力。于是在他的墓碑上留下了他一生心血的结晶:π 的小数点后707位数值。这一惊人的结果成为此后74年的标准。此后半个世纪,人们对他的计算结果深信不疑,或者说即便怀疑也没有办法来检查它是否正确。以致于在1937年巴黎博览会发现馆的天井里,依然显赫地刻着他求出的π 值。

又过了若干年,数学家弗格森对他的计算结果产生了怀疑,其疑问基于如下猜想:在π 的数值中,尽管各数字排列没有规律可循,但是各数码出现的机会应该相同。当他对谢克斯的结果进行统计时,发现各数字出现次数过于参差不齐。于是怀疑有误。他使用了当时所能找到的最先进的计算工具,从1944年5月到1945年5月,算了整整一年。1946年,弗格森发现第528位是错的(应为4,误为5)。谢克斯的值中足足有一百多位全都报了销,这把可怜的谢克斯和他的十五年浪费了的光阴全部一笔勾销了。

对此,有人曾嘲笑他说:数学史在记录了诸如阿基米德、费马等人的著作之余,也将会挤出那么一、二行的篇幅来记述1873年前谢克斯曾把π 计算到小数707位这件事。这样,他也许会觉得自己的生命没有虚度。如果确实是这样的话,他的目的达到了。

1948年1月弗格森和伦奇两人共同发表有808位正确小数的π 。这是人工计算 π的最高记录。


计算机时期

1946年,世界第一台计算机ENIAC制造成功,标志着人类历史迈入了电脑时代。电脑的出现导致了计算方面的根本革命。1949年,ENIAC根据梅钦公式计算到2035(一说是2037)位小数,包括准备和整理时间在内仅用了70小时。计算机的发展一日千里,其记录也就被频频打破。

ENIAC:一个时代的开始

1973年,有人就把圆周率算到了小数点后100万位,并将结果印成一本二百页厚的书,可谓世界上最枯燥无味的书了。1989年突破10亿大关,1995年10月超过64亿位。1999年9月30日,《文摘报》报道,日本东京大学教授金田康正已求到2061.5843亿位的小数值。如果将这些数字打印在A4大小的复印纸上,令每页印2万位数字,那么,这些纸摞起来将高达五六百米。来自最新的报道:金田康正利用一台超级计算机,计算出圆周率小数点后一兆二千四百一十一亿位数,改写了他本人两年前创造的纪录。据悉,金田教授与日立制作所的员工合作,利用目前计算能力居世界第二十六位的超级计算机,使用新的计算方法,耗时四百多个小时,才计算出新的数位,比他一九九九年九月计算出的小数点后二千六百一十一位提高了六倍。圆周率小数点后第一兆位数是二,第一兆二千四百一十一亿位数为五。如果一秒钟读一位数,大约四万年后才能读完。

不过,现在打破记录,不管推进到多少位,也不会令人感到特别的惊奇了。实际上,把π 的数值算得过分精确,应用意义并不大。现代科技领域使用的π 值,有十几位已经足够。如果用鲁道夫的35位小数的π 值计算一个能把太阳系包围起来的圆的周长,误差还不到质子直径的百万分之一。我们还可以引美国天文学家西蒙·纽克姆的话来说明这种计算的实用价值:

“十位小数就足以使地球周界准确到一英寸以内,三十位小数便能使整个可见宇宙的四周准确到连最强大的显微镜都不能分辨的一个量。”

那么为什么数学家们还象登山运动员那样,奋力向上攀登,一直求下去而不是停止对π 的探索呢?为什么其小数值有如此的魅力呢?

这其中大概免不了有人类的好奇心与领先于人的心态作怪,但除此之外,还有许多其它原因。


奔腾与圆周率之间的奇妙关系……

1、它现在可以被人们用来测试或检验超级计算机的各项性能,特别是运算速度与计算过程的稳定性。这对计算机本身的改进至关重要。就在几年前,当Intel公司推出奔腾(Pentium)时,发现它有一点小问题,这问题正是通过运行π 的计算而找到的。这正是超高精度的π 计算直到今天仍然有重要意义的原因之一。

2、 计算的方法和思路可以引发新的概念和思想。虽然计算机的计算速度超出任何人的想象,但毕竟还需要由数学家去编制程序,指导计算机正确运算。实际上,确切地说,当我们把π 的计算历史划分出一个电子计算机时期时,这并非意味着计算方法上的改进,而只是计算工具有了一个大飞跃而已。因而如何改进计算技术,研究出更好的计算公式,使公式收敛得更快、能极快地达到较大的精确度仍是数学家们面对的一个重要课题。在这方面,本世纪印度天才数学家拉马努扬得出了一些很好的结果。他发现了许多能够迅速而精确地计算π 近似值的公式。他的见解开通了更有效地计算π 近似值的思路。现在计算机计算π 值的公式就是由他得到的。至于这位极富传奇色彩的数学家的故事,在这本小书中我们不想多做介绍了。不过,我希望大家能够明白π 的故事讲述的是人类的胜利,而不是机器的胜利。

3、还有一个关于π 的计算的问题是:我们能否无限地继续算下去?答案是:不行!根据朱达偌夫斯基的估计,我们最多算1077位。虽然,现在我们离这一极限还相差很远很远,但这毕竟是一个界限。为了不受这一界限的约束,就需要从计算理论上有新的突破。前面我们所提到的计算,不管用什么公式都必须从头算起,一旦前面的某一位出错,后面的数值完全没有意义。还记得令人遗憾的谢克斯吗?他就是历史上最惨痛的教训。

4、于是,有人想能否计算时不从头开始,而是从半截开始呢?这一根本性的想法就是寻找并行算法公式。1996年,圆周率的并行算法公式终于找到,但这是一个16进位的公式,这样很容易得出的1000亿位的数值,只不过是16进位的。是否有10进位的并行计算公式,仍是未来数学的一大难题。

5、作为一个无穷数列,数学家感兴趣的把π 展开到上亿位,能够提供充足的数据来验证人们所提出的某些理论问题,可以发现许多迷人的性质。如,在π 的十进展开中,10个数字,哪些比较稀,哪些比较密?π 的数字展开中某些数字出现的频率会比另一些高吗?或许它们并非完全随意?这样的想法并非是无聊之举。只有那些思想敏锐的人才会问这种貌似简单,许多人司空见惯但却不屑发问的问题。

6、数学家弗格森最早有过这种猜想:在π 的数值式中各数码出现的概率相同。正是他的这个猜想为发现和纠正向克斯计算π 值的错误立下了汗马功劳。然而,猜想并不等于现实。弗格森想验证它,却无能为力。后人也想验证它,也是苦于已知的π 值的位数太少。甚至当位数太少时,人们有理由对猜想的正确性做出怀疑。如,数字0的出现机会在开始时就非常少。前50位中只有1个0,第一次出现在32位上。可是,这种现象随着数据的增多,很快就改变了:100位以内有8个0;200位以内有19个0;……1000万位以内有999,440个0;……60亿位以内有599,963,005个0,几乎占1/10。

其他数字又如何呢?结果显示,每一个都差不多是1/10,有的多一点,有的少一点。虽然有些偏差,但都在1/10000之内。

7、人们还想知道:π 的数字展开真的没有一定的模式吗?我们希望能够在十进制展开式中通过研究数字的统计分布,寻找任何可能的模型――如果存在这种模型的话,迄今为止尚未发现有这种模型。同时我们还想了解:π 的展开式中含有无穷的样式变化吗?或者说,是否任何形式的数字排列都会出现呢?著名数学家希尔伯特在没有发表的笔记本中曾提出下面的问题:π 的十进展开中是否有10个9连在一起?以现在算到的60亿位数字来看,已经出现:连续6个9连在一起。希尔伯特的问题答案似乎应该是肯定的,看来任何数字的排列都应该出现,只是什么时候出现而已。但这还需要更多π 的数位的计算才能提供切实的证据。

8、在这方面,还有如下的统计结果:在60亿数字中已出现连在一起的8个8;9个7;10个6;小数点后第710150位与3204765位开始,均连续出现了七个3;小数点52638位起连续出现了14142135这八个数字,这恰是的前八位;小数点后第2747956位起,出现了有趣的数列876543210,遗憾的是前面缺个9;还有更有趣的数列123456789也出现了。

如果继续算下去,看来各种类型的数字列组合可能都会出现。


拾零:π 的其它计算方法

在1777年出版的《或然性算术实验》一书中,蒲丰提出了用实验方法计算π 。这个实验方法的操作很简单:找一根粗细均匀,长度为d 的细针,并在一张白纸上画上一组间距为l 的平行线(方便起见,常取l = d/2),然后一次又一次地将小针任意投掷在白纸上。这样反复地投多次,数数针与任意平行线相交的次数,于是就可以得到π 的近似值。因为蒲丰本人证明了针与任意平行线相交的概率为p = 2l/πd 。利用这一公式,可以用概率方法得到圆周率的近似值。在一次实验中,他选取l = d/2 ,然后投针2212次,其中针与平行线相交704次,这样求得圆周率的近似值为2212/704 = 3.142。当实验中投的次数相当多时,就可以得到π 的更精确的值。

1850年,一位叫沃尔夫的人在投掷5000多次后,得到π 的近似值为3.1596。目前宣称用这种方法得到最好结果的是意大利人拉兹瑞尼。在1901年,他重复这项实验,作了3408次投针,求得π 的近似值为3.1415929,这个结果是如此准确,以致于很多人怀疑其实验的真伪。如美国犹他州奥格登的国立韦伯大学的L·巴杰就对此提出过有力的质疑。

不过,蒲丰实验的重要性并非是为了求得比其它方法更精确的π 值。蒲丰投针问题的重要性在于它是第一个用几何形式表达概率问题的例子。计算π 的这一方法,不但因其新颖,奇妙而让人叫绝,而且它开创了使用随机数处理确定性数学问题的先河,是用偶然性方法去解决确定性计算的前导。

在用概率方法计算π 值中还要提到的是:R·查特在1904年发现,两个随意写出的数中,互素的概率为6/π2。1995年4月英国《自然》杂志刊登文章,介绍英国伯明翰市阿斯顿大学计算机科学与应用数学系的罗伯特·马修斯,如何利用夜空中亮星的分布来计算圆周率。马修斯从100颗最亮的星星中随意选取一对又一对进行分析,计算它们位置之间的角距。他检查了100万对因子,据此求得π 的值约为3.12772。这个值与真值相对误差不超过5%。

无穷的神秘气息:纪梵希的男用香水π 。广告词是:Explore pi, explore the universe

通过几何、微积分、概率等广泛的范围和渠道发现π ,这充分显示了数学方法的奇异美。π 竟然与这么些表面看来风马牛不相及的试验,沟通在一起,这的确使人惊讶不已。

在这些追求的过程中,诞生了一批千奇百怪的求π法。比如蒲丰投针实验等等。下面有两种实验性的方法,也颇让人赞叹不已!

第一种:任意写两个小于1的数(x,y),将他和1组成一个数对(x,y,1),则由x、y和1能构成一个钝角三角形的概率为(π-2)/4。

利用这个结论也可以求出π的近似值,方法和第一种方法一样。不过这个结论我们倒是可以证明的。

证明:我们现在考虑实数对(x,y),因为x和y均小于1,故在XOY平面上,点对(x,y)是落在如图1所示的的单位正方形OACB里面的。

于是,只要我们求出(x,y,1)能构成钝角三角形的(x,y)在正方形中所占据的面积大小S(如图1中的阴影部分),那么S/正方形面积,即S就是我们所求的概率了。

首先,必须满足x+y>1。这很显然的,两边之和大于第三边。

由余弦定理12=x2+y2-2xycosα。因为α为钝角,所以cosα<0,也就是有x2+y2<1。综合起来,x和y必须满足的关系就是由下面的两个不等式确定:x+y>1且x2+y2<1。

x+y>1表示点(x,y)只能出现在AB上方,x2+y2<1表示这些点只能出现在单位圆以内,这不就是刚好是我们图1里面的阴影部分吗?于是:

(x,y,1)构成一个钝角三角形的概率p=S=1/4π-1/2=(π-2)/4。

所以,如果有m个人参加实验,有n个人写出的x和y能构成钝角三角形,那么就有n/m=(π-2)/4,即有π=4n/m+2。

如果这些东西都不让你觉得惊讶的话,那么下面的事实一定足以使你目瞪口呆了:

1995年4月,英国《自然》杂志刊登了伯明翰城阿斯顿大学计算机科学与应用数学系的马修斯发表的一篇文章,他记述了他如何通过观察天空中亮星的分布计算圆周率,读来的确使人惊讶,但是原理却是如此滴简单,马修斯做的,就是从我们熟悉的事物中探求数学中有趣的道理。马修斯如此试验基于的事实很简单,每一个接触过数论的人都知道:

任意两个自然数互质的概率为6/(π2)。

他从众多星星中选择100个亮星,将这些亮星两个两个分成一对,然后计算每对星之间的角距,得出一堆数据,然后检查这些数据的因子情况(总共近100万对因子),从中计算出π值约为3.1272,与π的数值3.1416的相对误差很小。

看来,马修斯的工作就是从星星中获得一堆随机数而已,然后借助数学定理计算圆周率。受此启发,你也完全可以借助生活中熟悉的事物去获得一堆自然数,同样可以计算圆周率,不过数据量就一定很大,因为这是一个概率问题,数据量越大就越精确。

对于上面介绍的第二种计算圆周率的方法:

任意两正数x和y,使得他们满足0<x<1,0<y<1,且x+y>1的概率为(π-2)/4。</x<1,0<y<1,且x+y>

受马修方法的启发,因为你的数据都必须在0到1之间,所以你也可以得到一些角度的数据,计算他们的正弦值,从而计算圆周率。将数学性质放置于生活中,才是数学的魅力所在。





赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册