2018年11月27日星期二

知乎日报: 圆周率里是否包含所有可能的银行卡密码?

知乎日报
知乎日报 
圆周率里是否包含所有可能的银行卡密码?
Nov 28th 2018, 06:37

Super Mario,留美凝聚态物理博士生,爱好健身和跑步。

银行卡密码一般只有 6 位数,我写了一个程序,验证了所有的六位数均会在前 1000 多万位出现。其中,你的银行卡密码会有 60%的概率在前 100 万位找到,90%的概率在前 230 万位找到。最后一个六位数是 569540,在第 14118307-14118312 位出现。

然后我做出了如下的图像,横坐标是包含六位数组合的个数(1-100 万),纵坐标是对应的位数。做出的图像如下

我们可以看到,全部组合 100 万个需要 1400 多万位,而所有组合首先出现的位置的平均值 1000882 位。曲线呈现暴涨趋势,毕竟这是一个收集问题,越往后,收集新的六位数的难度越大。

当然了,银行卡密码也可能是其他位数,比如如果是 4 位数的话,根据我的程序,前 10 万位就全部包括了,最后一个出现的组合是 6716,在第 99846-99849 位。如果位数更多,那么需要的位数就越多。但是我认为,不论你多少位,都能在圆周率中找到,虽然这个还没有被严格证明。

从原因分析,我觉得π很大的概率是正规数(虽然还没有得到严格的数学上的证明)。正规数意味着它是无限不循环小数,它的每个数字的出现都是完全随机的而且概率相同,所以任何一串数字的组合的出现,都是有可能的。

于是,我自己又编写了另外一个程序,研究圆周率前 100 万位数字。

首先统计 0-9 出现的频率。

我们发现,前 100 万位里,0-9 数字出现的个数大致都为 10 万次,从直观上看,可以认为 0 到 9 出现的概率是相等的。

当然,作为理科生,仅仅从直观看是不够的,我们还需要从统计的方面来考虑,它是不是在误差范围内? 这里,我采用了卡方检验。

通过计算,我们得出 chai 的平方为 5.51。通过查表,在自由度为 9 的情况下,要想证明其不满足 0-9 的均匀分布,chai 平方值必须大于 16.9(95%确信度)。因此,可以说,其落在误差范围内。

然后,仅仅证明各个数字出现的概率相同是不够的。比如,0.1234567890123456789....,这个数字是无限循环小数,也满足各个数字出现的概率相同,但是它们之间关联都很紧密,所以显然不能"包含整个宇宙"。我们还需要验证,数字与数字之间是没有关联的。

这里我采用的方法是,计算固定间距下,圆周率数字的相关系数。具体的计算方法如下:假设π的小数点后第 i 位是 X_i,容易知道,X_1=1, X_2=4, X_3=1, X_4=5..... 因此在间距为 k 下,相关系数的计算公式如下:

这里, N 取的越大越好,我这里取的 10 万。而则代表了所有数字的平均数,这里约等于 4.5。那么经过计算,我们取不同的间距 k,画出相关系数与 k 的关系图。

因为相关系数的范围是 0-1 之间,越大,代表线性相关性越强,我们可以看到,不论 k 取多大,其在-0.01-0.01 之间,而且在 0 之上和 0 之下的分布大致相等,说明线性相关极其微弱,且在 0 附近震荡。那么在圆周率下,至少间距在 1000 之内,数字之间没什么相关性。如果能计算无穷多的位的话,我们甚至可以将其作为一个随机数产生器。 当然这个检验方法也是不充分的,但是至少能说明一些问题。

对于有理数,那么相关性就很强了。比如我们计算 1/2233,用同样第方法画出线性相关图。 我们发现,相关系数很强,而且有一定的周期,和之前的截然不同。

那么通过均匀分布检验,和相关性检验两个方面的实验,虽然不能严格证明,但是我们起码可以在一定程度上,验证了π的各个数字出现的概率是相等且随机的。数学上称这样的数为"正规数",至少我们能说明π是正规数的概率很大。

因此,对于任意的一串数字组合,都有一定的概率会出现在某位之后,更不用说是银行卡密码了。 但是这并不是一个稀奇的事情。因为满足各个数字出现的概率相等且随机的无理数太多太多了。根号 2,根号 3,e,ln 2, sin(10),等等等等,都可能包含了所有数字组合(虽然还没有完全得到证明)。

毕竟,你让一只寿命无穷的猴子,不停的在键盘上乱敲,总有一天,它会敲出林肯的《葛底斯堡演讲》。

You are receiving this email because you subscribed to this feed at blogtrottr.com. By using Blogtrottr, you agree to our policies, terms and conditions.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions.

没有评论:

发表评论

"  割下心头肉   河北省阜城县古城镇西火星堂村曾发生过一起命案,受害者是个六个月不到的小女孩,而凶手,正是生她的母亲。小女孩刚从母亲肚子里出来,还没记住世界长什么样子,就被母亲砖头砸死。而造成这一切的罪魁祸首,便是李主佛的法轮功。   俗话说,孩子是母亲身上掉下的一...