一个源自高中生的算法让圆周率的精度再破世界纪录

近日,瑞士格劳宾登应用科学大学团队历时101天9小时,完成了圆周率小数点后62.8万亿位的计算,比创下吉尼斯纪录耗费的计算时间减少一半!诞生如此多位小数的算法「y-cruncher」竟出自高中生之手。

62,831,853,071,750!圆周率都精确到小数点后62.8万亿位了!

近日,瑞士研究团队向圆周率最准确值的世界纪录发出挑战!目前的吉尼斯世界纪录是50万亿位,于2020年1月29日由搭载了Chudnovsky算法的y-cruncher程序,计算时间长达8个多月。

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

计算时间缩短一半!

瑞士格劳宾登应用科学大学的数据分析、可视化和模拟能力中心 (DAViS) 于4月下旬首次开始计算。上一次在阿拉巴马州创下的吉尼斯世界纪录耗时303天,这次瑞士科学家完成任务只用了108天9小时。时间大大压缩!而这一切,只需要2个AMD处理器!

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

格劳宾登应用科学大学官网公开了这次项目的硬件设备:

  • -两个32核AMD Epyc 7542处理器
  • -1TB内存
  • -510TB磁盘空间
  • -38个16TB硬盘,运行速度为7200rpm(其中34个硬盘用于交换空间,4个磁盘用于保存最后的圆周率数字)
  • -2个SSD用于储存操作系统

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

存储系统结构:黄色部分为带有处理器和磁盘的计算单元;红色部分为38个硬盘

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

黄色部分为RAM,绿色部分为处理器,蓝色部分为机箱风扇。

虽说计算量很大,但这个项目是相当环保!团队计算了项目的能耗,CPU、内存、SSD、38个硬盘,再加上冷却,总共需要约1700瓦!常规的吹风机也才2000瓦

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

来自一个走得有点远的高中项目

1988年,Chudnovsky兄弟提出了计算π的公式。

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

直到现在,Chudnovsky公式仍然是计算π任意位数最有效的方法,计算精度平均为每次迭代14.81位。而诞生如此多万亿位小数的算法「y-cruncher」,竟然出自Alexander J. Yee在高中时开发的一个算术Java库:「BigNumber」。他在2006年算出了欧拉-马斯刻若尼常数小数点后116,580,041位,创造了世界纪录。后来在2009年,凭借14,922,244,782位小数再次打破纪录。之后他将程序改名为「y-cruncher」,用C和C++重新编写。这个y也正是源自欧拉常数的γ。

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

后来这位大神去了伊利诺伊大学厄巴纳-香槟分校,先是在2011年利用自己的程序计算出π小数点后10万亿位,打破了世界纪录,然后发表了一篇「在多核系统上对超几何数列进行高精度求和」的研究。

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

最新后10位的诞生

7月25日,y-cruncher完成了Chudnovsky公式的核心计算(下图绿色部分),然后计算「逆平方根」部分。

一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录

此前计算的是分母(绿色部分),为小数点后一万亿位。

  • 8月4日,在计算了92天之后,y-cruncher将其十六进制版本的π写到了计算机的磁盘上。数字经过压缩之后只使用了约24TB的磁盘空间(未压缩为48TB),之后再将计算出的π转换为十进制。
  • 8月11日7:30,完成了62.8万亿位数字从十六进制到十进制的转换。数字被分割成63个压缩文件,验证基数转换过程是否已经正确完成。
  • 8月14日9:30,高性能计算平台最终完成了小数点后62,831,853,071,750位的计算,并得到π的最后10个已知数字是:7817924264。
下一节:8 月 13 日上午 9 点 30 分,苏州高铁新城一位市民踏上了一辆名为“龙舟 ONE”的无人小巴,用智能手机向车载移动支付设备出示了数字人民币 App 付款码,完成了全球首单搭乘无人小巴的数字人民币测试扣款。