上个月,有一个不太引人注目的科学发现:人类已知的最大质数诞生了。
除了数学家,大概没人会对这个消息感兴趣,它离日常生活太远了。
但是,本周《华盛顿邮报》的一篇报道,却把这个发现跟普通人拉近了距离。
大家恐怕想不到,发现这个数字的人不是数学家,而是程序员。《华盛顿邮报》就是讲述背后的精彩故事,我看得津津有味,科学报道就该这么写,下面分享给大家。
===================
2024年10月10日,美国程序员卢克·杜兰特 (Luke Durant) 发现了人类已知的最大质数。
那天晚上,他收拾衣物,准备从加州返回阿拉巴马州的老家。出门之前,他决定远程登录服务器,看一下正在运行的脚本。
他原以为,就像过去一年的每次远程登录一样,脚本要么没有结果,要么报错。但是,那天晚上不一样,脚本给出了运行结果。
杜兰特意识到,他刚刚发现了世界上新的最大质数。他立刻告诉同伴这个消息,然后顾不上回老家了,开始仔细检查脚本的结果。
他发现的这个质数,后来被命名为 M136279841。它大得离谱,足足有41,024,320个十进制位。如果你每秒读一位,需要475天才能读完。这个数字等于2的136,279,841 次方减一。
为了算出这个数字,杜兰特花了差不多一年,自掏腰包大约200万美元,去购买 GPU 计算时间,用来运行脚本。
今年36岁的杜兰特,曾经在 Nvidia 公司担任程序员。公司的股价上涨,让他赚到了足够的钱,于2021年离职,开始投入自己的项目。
他选择的项目,就是计算梅森质数。他在 Nvidia 的经历,让他能够熟练使用 GPU 编程,去完成高速计算。
17世纪,法国传道士马林·梅森(Marin Mersenne)提出,存在无数个质数,可以表示成 2n - 1 的形式,比如3等于22 - 1,7等于23 - 1。
目前,人类已知的梅森质数有52个(包括杜兰特发现的那个)。寻找新的梅森质数,早就成了数学迷的一种爱好。
上个世纪90年代,互联网出现后,一个美国程序员乔治·沃尔特曼(George Woltman)组织了"互联网梅森质数搜索计划"(Great Internet Mersenne Prime Search,简称 GIMPS 计划)。
GIMPS 计划的目的,就是使用计算机程序,寻找梅森质数。它的官网提供程序下载,你可以在自己的电脑上运行这个程序,它会在计算机的空闲时间进行计算,寻找下一个梅森质数。
目前,全世界大约有3,000~5,000名志愿者在运行这个程序。梅森质数实在太难算了,在过去的28年里,GIMPS 计划一共发现了18个梅森质数。
上一个数字发现于2018年,比杜兰特发现的第52个梅森质数短了1600万个十进制位。
杜兰特的不同之处在于,在他以前,所有人都使用 CPU 进行计算,只有他使用 GPU。CPU 一两周的计算量,GPU 大约只需要一两天的时间。
杜兰特为了找到这个数字,动用了17个国家/地区24个机房和两家云服务商的服务器,进行协同计算。
他说:"如今个人的能力比历史上任何时候都强得多,你能调用的云计算,规模令人难以置信。我们拥有这样神奇的强大系统,所以最好弄清楚如何利用它们。"
梅森质数没有任何实际用途,科学家寻找它只是为了乐趣和探索人类知识的边界。
杜兰特由于这个发现,得到了3000美元奖金。他把这些钱捐给了阿拉巴马州的公立寄宿学校,那是他去加州理工学院读大学前的母校。
他发现的最大质数已经到了4100万位,GIMPS 计划依然在悬赏第一个找到十亿位质数的人。
来源:阮一峰博客