Welcome to Changhai Lu's Homepage

圆周率两则

:: 前一篇主题:关于科普量子力学的建议 ::

新用户注册 | 用户登陆 | 回复 | 刷新

lifubo


发表文章数: 522
内力值: 273/273
贡献度: 6264
人气: 2863
武功等级:
深不可测

圆周率两则 [文章类型: 原创]

第一个问题,圆周率的密率为355/113.

因为355/113=3.14159292.
所以,我们一般认为圆周率的密率给出了前7个有效数字,即3.141592
但是不一定如此。

如果以3.1416作为圆周率的近似值,作连分数展开,得到
第一位3,余0.1416;
求其倒数得1/0.1416=7.062,取整数部分得连分数第二位7,余数0.062;
继续求倒数得1/0.062=16.1,取整数部分得连分数第三位16.
因此得到一个连分数[3;7,16,...].
取连分数的前三项,即为3+1/(7+1/16)=355/113,亦即密率。
也就说,如果我们求出圆周率的近似值3.1416,则由此所得连分数前三项的值为355/113,即密率。

简而言之,3.1416和圆周率的连分数展开的前三项是相同的,而且刚好给出密率。

所以,圆周率的密率很可能不是由近似值的前7个有效数字算出来的,而是由前5个有效数字得到的,只不过由此所得的表达式的前7个有效数字刚好又与圆周率真值的前7个有效数字相同。

发表时间: 2014-04-28, 03:15:43 >> 察看个人资料

River


发表文章数: 85
内力值: 98/98
贡献度: 165
人气: 18
武功等级:
野球拳 (第六重)

Re: 圆周率两则 [文章类型: 混合]

有趣。

发表时间: 2014-04-28, 15:08:21 >> 察看个人资料

lifubo


发表文章数: 522
内力值: 273/273
贡献度: 6264
人气: 2863
武功等级:
深不可测

Re: 圆周率两则 [文章类型: 原创]

第二个问题:蒲丰投针问题。

先简述蒲丰投针问题如下。

1,取一张白纸,在上面画上许多条间距为a的平行线。
2,取一根长度为b(b<a)的针,随机地投掷n次,设针与直线相交的次数为m,于是可知相交的频率为m/n.
3,理论上针与直线相交的概率为P=2b/(a\pi).
其中\pi=3.14159...为圆周率。

由于频率近似等于概率,故可得m/n=2b/(a\pi).
即\pi=2bn/(ma),这样我们通过概率统计方法得到了圆周率的一个近似计算公式。
不妨设平行线的间距为a=1.故\pi=2bn/m.

这个公式通常也作为蒙特卡洛方法的的一个介绍。通常会接着介绍一个故事:由蒲丰公式得到的高度精确的圆周率。

1901年,意大利数学家Lazzerini作了蒲丰投针试验,其中,平行线间距为1,针长5/6,共投针3408次,相交1808次。由此给出圆周率\pi的近似值为3.1415929,准确到小数后6位。顺便说一句很多书都搞错了一点,就是将针长5/6换算成了0.83. 由此可知\pi=2*5/6*3408/1808,由此可得上述近似值。

下面要说明这个数据根本不可信。

首先,\pi=2bn/m仅仅是一个近似公式,而且是带有概率的,根本不是等号。严格一点,应该将\pi写成\pi^表示这是一个有统计得到的估计量。

公式中有3个量:

其一,\pi的估计值\pi^和真实值之间的偏差,我们用c=|\pi^ - \pi|来表示这个偏差。也可以说c表示精确度。

其二,试验的次数,即投针的次数n.

其三,没有明显给出的量,即蒲丰公式的可靠性,即估计值的可靠程度,即P{|\pi^ - \pi|<c},记作r. 也就是区间估计的置信水平。

(1),给定试验的次数n=3408,置信水平r=0.95,容易算出,精确程度大约为c=0.1.即实际上只有2位有效数字,以及估计值虽然算出来等于3.1415929,但是实际上只有3.1是可靠的。

(2),给定试验次数n=3408,由此得到的\pi的近似值有6个有效数字的可靠性也容易算出来,非常小,只有10%. 也就是说Lazzerini的估计值可以说完全不可靠、不靠谱。实际上,仅仅精确到小数点后两位,即得到估计值3.14,Lazzerini的3408次试验给出的可靠性都是非常低的。

(3),假设我们要以95%的可靠性得到\pi的近似值的前7个有效数字,可以算出需要的试验次数,亦即投针的次数的数量级为n=10^13.

简而言之,虽然Lazzerini表面上得到了\pi的有7位有效数字的近似值,但是,他的结果非常不可靠。有这样几种可能性:或者Lazzerini根本没有做投针试验;或者他做了3408次试验,极其偶然地有1808次相交;或者,他的投针试验每一轮都进行3408次,其中又一轮试验刚好有1808次相交,他只报告了这一轮试验。

下面分析,为什么Lazzerini要做这么多次试验。

将Lazzerini的数据代入蒲丰公式可知,
\pi^=2*5/6*3408/1808,
化简可知即为
\pi^=355/113.
刚好就是圆周率的密率。
据此我们可以还原Lazzerini是怎么做假的:他正是根据圆周率的密率来设计他的“试验”,以达到一个惊人的结果。

我们要么承认Lazzerini造假,要么认为他估计的圆周率其实只有2为有效数字3.1.

发表时间: 2014-05-03, 21:47:49 >> 察看个人资料

dfj


发表文章数: 282
内力值: 217/217
贡献度: 1155
人气: 16
武功等级:
太极剑法 (第三重)

Re: 圆周率两则 [文章类型: 原创]

假设每投一根针就根据到目前为止的相交率算一次圆周率,到得出的圆周率小数点后六位正确时停止,那么,平均需要的投针次数是多少?

发表时间: 2014-05-07, 11:28:23 >> 察看个人资料

dfj


发表文章数: 282
内力值: 217/217
贡献度: 1155
人气: 16
武功等级:
太极剑法 (第三重)

Re: 圆周率两则 [文章类型: 原创]

搞了一个小小的蒙特卡洛试验。

用ipython notebook的同学可以直接把下面的代码拷过去运行。欢迎挑bug。

做20次Lazzarini试验,每次投针次数不超过5000,结果发现,在20次中有4次算出的圆周率误差不超过百万分之一,且在这四次“成功”试验里,最少只需要两百来次投针就可以了。

下面是挑出来的成功率很高的输出,三个数字的含义是(投针次数,相交次数,算出的pi):

(2769, 1469, 3.1415929203539825)
(2130, 1130, 3.1415929203539825)
(639, 339, 3.1415929203539825)
(213, 113, 3.1415929203539825)
(3834, 2034, 3.1415929203539825)
(1704, 904, 3.1415929203539825)

%pylab inline

def one_throw(b):
'''Assume a=1, hence b=b/a is the ratio between the length of the needle and the separation between the lines.'''
zcen = rand()
angle = pi*rand()
delz = b/2*sin(angle)
if delz >= zcen or delz >= (1.0-zcen):
return True
else:
return False


def one_Lazzarini_trial(b,n,eps=1e-6):
c_cross = 0
for i in xrange(n):
if one_throw(b):
c_cross += 1
this_pi = double(2.0)*b*double(i)/double(c_cross)
if abs(this_pi-pi) < eps:
return i, c_cross, this_pi

#############################

b = double(5)/double(6)
n = 5000
for i in xrange(20):
res = one_Lazzarini_trial(b, n, 1e-6)
if res != None:
print res

发表时间: 2014-05-07, 12:19:48 >> 察看个人资料

dfj


发表文章数: 282
内力值: 217/217
贡献度: 1155
人气: 16
武功等级:
太极剑法 (第三重)

Re: 圆周率两则 [文章类型: 原创]

楼上的python代码格式乱了。
可以在下面的链接看到
nbviewer.ipython.org/urls/dl.dropbox.com/s/fegqy0yzk6g36jc/20140507-Buffon_s%20needle-Pi.ipynb?create=1

发表时间: 2014-05-07, 12:23:26 >> 察看个人资料

dfj


发表文章数: 282
内力值: 217/217
贡献度: 1155
人气: 16
武功等级:
太极剑法 (第三重)

Re: 圆周率两则 [文章类型: 原创]

投针213次,相交次数平均为113次,标准差为7次,也就是说,大致只需要重复十来次这个实验,每次投针213次,就会碰巧有一次得到精确到小数点后6位的圆周率值,总共需要的投针次数约2000。不妨一试。

发表时间: 2014-05-07, 14:36:57 >> 察看个人资料

lifubo


发表文章数: 522
内力值: 273/273
贡献度: 6264
人气: 2863
武功等级:
深不可测

Re: 圆周率两则 [文章类型: 原创]

我前两个帖子中的计算是用中心极限定理作的近似计算,其中有一个写错了,但不影响结论。这个写错的地方是说:给定试验次数n=3408,由此得到的\pi的近似值有6个有效数字的可靠性也容易算出来,非常小,只有10%.其实概率更小,不到10%,只有1%.

也可以直接用二项分布来计算。

3408次试验,要得到pi的精确到0.01的近似值,则相交次数m需要介于1804--1824之间。而3408次试验中相交次数介于上述两个值之间的概率为三分之一左右。

再说一个理由。假设我们进行了3408次试验,相交也刚好为1808次。如此得到pi的近似值为3.1415929.好了,我们再做一次试验,即总共3409次试验,若最后一次投针是相交的,则由蒲丰公式得到pi的近似值为2*5/6*3409/1809=3.1408;若不相交则由蒲丰公式得到pi的近似值为2*5/6*3409/1808=3.1425.但是我们知道,随着试验次数的增加,所得近似值的精确程度应该越来越高。但是,很不幸,Lazzerini的结果不满足这一条。

3408次试验,97.5%的情况下相交次数介于1751--1864之间,如此所得pi的值介于3.04--3.24之间。

dfj网友的模拟试验和我的说法并不矛盾。因为我们讨论的是两个本质上不同的问题。我讨论的是蒲丰投针方法的可靠性,dfj网友讨论的是蒲丰试验的偶然结果--刚好凑巧等于pi的近似值。

若试验次数为n=213,则相交次数为m=113的概率为0.055. 故213次投针试验平均需要投针1/0.55=18轮就可以得到一次113次相交的情形。

显然若只投针213次就给出pi的近似值3.1415929,这是非常不可信的,恐怕没有人会相信。为了掩盖这个次数213太小的问题,于是就增加投针的次数,就是按照 213:113的比例增加试验次数n和相交次数m.

如果我们不是事先就知道pi的值,那么,没有人会相信3408次试验能给出精确到10^{-6}的近似值。Lazzerini计算出来的近似值其实是作弊的结果。

dfj网友的模拟可以这样说:为了得到一个作弊的结果,刚好等于pi的前七位有效数字,需要多少次试验。简而言之,就是最佳的作弊次数问题,即:最少多少次试验就可以达到作弊的效果?

发表时间: 2014-05-07, 21:38:49 >> 察看个人资料

dfj


发表文章数: 282
内力值: 217/217
贡献度: 1155
人气: 16
武功等级:
太极剑法 (第三重)

Re: 圆周率两则 [文章类型: 原创]

如果把Lazzarini实验看成一个数学魔术而不是骗局,其实挺有意思的。不知道他提出这个东西的目的是什么,是为了娱乐,还是认真的?

从这篇文章看:
www.jstor.org/discover/10.2307/2690682?uid=3739728&uid=2&uid=4&uid=3739256&sid=21104133224783
似乎Lazzarini并不是为了娱乐,真有不少人被骗了。

那篇文章的作者还说Lazzarini可能真做了实验。做18次每次投213次实验成功的几率为0.3,但实验次数增加至无穷时成功几率并不趋近于1(具体数字作者也不知道),所以运气不好的话可能永远得不到精确的355/113。涉及的证明并不简单。

不过到后面作者又说Lazzarini可能确实造假了,因为Lazzarini给的表格里的数字太接近期望值,缺乏应有的涨落。

作者还列举了“优化”Lazzarini骗局的几种可能性,在提高欺骗性和/或得到更高精度的Pi。比如采用长度为7.1厘米的长针以及宽度为10厘米的格子会显得比较“自然”。

如果用长度为5.492厘米的针和宽为6.643厘米的格子,则每投19次就有可能得到精度为百亿分之一的圆周率值。

最后作者说当代的造假者比Lazzarini更牛了,会人为加入涨落。

我觉得在自然科学中确实需要警惕Lazzarini式的骗局,很多时候这些骗局甚至是无意的。

比如某个理论预言了某个物理量的值,然后做实验的就会去测这个值。一开始不对,找原因发现是某个仪器没调好,或者某个实验量忘了修正,如此不断实验直到测出的值跟理论预言一致,然后就停止实验了。这种做法至少在表面上看来跟上面的Lazzarini骗局是类似的。

在现在这个实验成本越来越高,实验过程和数据处理越来越复杂,重复实验很少或者没有的时代,我觉得尤其需要注意这种有意无意的骗局。比如最近的BICEP2测出的引力波张量模,就有人觉得这个结果似乎太好了。具体如何,拭目以待。

发表时间: 2014-05-09, 16:21:55 >> 察看个人资料
  :: 新用户注册 | 用户登陆 | 回复 | 刷新 ::
您尚未登陆 | 用户登陆