CPU 频道

谷歌算法助力 圆周率π算出2000万亿位

  圆周率π是一个无限不循环的无理数,但人们对小数点后那一长串数字的追求是永无止境的。据英国BBC报道,研究人员近日借助Google的新算法和云计算技术,确认了圆周率小数点后的第两千万亿位,也就是第2000000000000000位。

  来自雅虎的Nicholas Sze在其公司的1000台计算机上花费了23天时间得出结果,圆周率小数点后的第两千万亿位数字是个0。这一看似简单的结论如果要放到单独一台计算机上进行计算,会花费500多年的时间。

  Nicholas Sze不但使用了强大的硬件,还借鉴了Google开发的分布式编程架构MapReduce。它可以将一个复杂的大问题划分成多个简单的小问题,分而治之再将结果汇总,从而解决难以正面攻克的数学谜题。

谷歌算法助力 圆周率π算出2000万亿位
▲云计算公式

  Nicholas Sze解释说:“有趣的是,借助一些代数运算,(我们的)方程可以在计算π的时候跳过一些位数,换言之就是允许计算π小数点后的特定某一位数。

  在此之前,圆周率的世界纪录由法国科学家Fabrice Bellard保持,使用自编软件算法获得,但“只有”小数点后2.7万亿位。日本长野县55岁的上班族近藤茂不久前曾经宣布自己算到了5万亿位,但尚未获得公认。

  Fabrice Bellard在得知Nicholas Sze的进展后也随即发表评论说,单个数字和完整的π计算是完全不同的事情,可以同时进行,而现在单位数字记录“更多地只是Hadoop并行框架(基于MapReduce的开源框架)的一种展示……它证明了这种新算法的强大威力,对其他领域也可能有用”,比如物理、加解密、数据挖掘等等。

  Nicholas Sze补充说,这种计算也是对Hadoop硬件、软件一次很好的测试,并且可用于基准测试,事实上他们已经在用它对比集群的处理器性能了。

0
相关文章