很久以前写的,那时候在外地培训,正是电视剧《暗算》热播季。搜了一下,《百度文库》中有这篇,略作修改......
在电视剧《暗算》中,数学天才黄依依将祖冲之当作“数学之神”,在接手破译“光秘”的任务时,还向他的塑像盈盈下拜以求护佑,可见老祖的地位非同一般。祖冲之是世界上第一位把圆周率推算之小数点后七位的人,这是货真价实的成就,但是,他老人家咋算的呢?
先不说老祖,先说老刘,老刘也很忙。魏晋之际的数学家刘徽用的是“割圆术”,“割之弥细,所失弥少。割之又割,以至于不可割,则与圆周合体而无所失矣。”如此,刘徽一直割到了圆内接正三千零七十二边形,求得了3.1416,这就已经很费劲了。祖冲之比他猛多了,但没人知道他是怎么捣鼓出来的。据说,这事儿记录在祖冲之的《缀术》里,可惜失传了。由于时代的局限性,他应该没有更高明的办法,后人只能推断他也用了割圆术。
对数学的追求是神授的疯狂,西夷们也木有闲着,前赴后继的数学家在数学的大海中狗刨,对计算圆周率的追求亦是一往情深不知道深几许。15世纪阿拉伯数学家阿尔·卡西和16世纪法国数学家维叶特采用了新的思想方法,计算出的圆周率精确值超过小数点后8 位,打破了祖冲之的记录,然此时祖冲之已仙逝一千年矣。到了1777年,有个叫布丰的法国佬提出了相当变态的“投针问题”,其辞曰:
“在平面上画有一组间距为d的平行线,将一根长度为L(L<d)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。”
解铃正是系铃人,布丰本人证明了,此概率为p=2L/(πd) (证明略,但你无须怀疑它的正确性)。既然这个概率非常令人困惑地与圆周率联系在一起,那么,当然也就可以通过大量投针来求得圆周率的近似值。投针的次数越多,得到的π值也就越精确。这件看似无聊的事情真有不少人干过,但结果却一直不尽如人意。没办法,人的耐心是有限度的。
公元1901年,猛人来了。当年,意大利数学家拉兹瑞尼作了3408次投针,给出π的值为3.1415929——准确到小数后6位。这实在太不可能,因为经过理论计算,需要投针88.7万次以上才能使计算结果精确到小数点以后三位。拉兹瑞尼只投了三千多次,居然算到第六位。他的手气也未免太好了,好到让人怀疑他根本就没投过针,纯粹自己瞎编出来的。
有时数学也可以令人废寝忘食,尤其是当“独在异乡为异客”的时候。本人当然不会真的去投针,都啥年代了,咱可以用计算机程序“仿真”。我编写的程序应该是没什么大问题,共计“投”了一百万次针,算出的圆周率居然是3.144。
这大概不能怪我,要怪只能怪随机数产生的不够好。也就是说,不够“随便”。事实上,“随便”还真不是一件容易事儿,计算机里没有“自由意志”。无论采用什么方法,计算机产生的随机数都不是真正的随机,在一定范围内可以表现的毫无规律,“前言不搭后语”,但实际上它是被计算出来的,即所谓“伪随机数”也。不管计算机如何突飞猛进的发展,只要仍然是在冯诺依曼机的框架里转圈,我们就不会看到计算机能够产生绝对随机的随机数。
为什么我会提到这个问题呢?因为我正在“研究”蒙特卡洛方法(Monte Carlo method),即通过概率实验所求的概率来估计我们感兴趣的一个量,而“投针”实验正是近代蒙特卡洛方法之滥觞。
如此,别说投针求π太疯癫,只是你的眼睛看不穿。
联系客服