為何人們熱衷於寻找梅森素数?

本文围绕「為何人们热衷于寻找梅森素数」这一问题,介绍了完全数的定义、研究历史与奇完全数难题,梅森素数的定义、不同时期的探索历程及相关发现,并从与完全数的关联、寻找最大素数的途径、测试计算机性能、推动数论等学科发展、密码学应用等方面阐释了人们热衷于寻找梅森素数的原因。

為何人們熱衷於寻找梅森素数?

於中世紀的歐洲,意大利人將 6 視為愛神維纳斯所属的數字,認為它是美满婚姻的象征,並稱其為完數。事实上,当它传入中国时,完数还有另一个译名,叫做“完美数”。如果一个自然数的所有因数(本身不算在内)加起來正好等于这个数,那么这样的自然数就叫完数。不难看出,6 有三个因数 1,2,3,而 1 + 2 + 3 = 6,所以 6 是一个完数,它是完数家族中最小的成员。28 除去本身有五个因数 1,2,4,7,14,它是第二个完数:1 + 2 + 4 + 7 + 14 = 28。已发现的完数都是偶数,一个奇数也没有。尽管如此,人们依然未能证明奇完数不存在,这一问题也成为数論中又一個悬而未决的难题。

早在公元前 500 多年,毕达哥拉斯就已接触过完数。之后的欧几里得在《几何原本》第九章中论述完数时指出:如果 2^n - 1 是素数,那么 2^(n - 1)(2^n - 1) 就是完数。到 17 世纪,法国天主教修士梅森对 2^n - 1 做了大量计算,并做出了一些断言(有的有错误),为纪念他的功绩,后人把形如 2^n - 1 的数称为梅森数,并记作 Mn。

不難证明,当梅森数 2^n - 1 是素数时,n 必為素数;反之,当 n 为素数时,梅森数似乎也是素数,例如:M3 = 7,M5 = 31,M7 = 127。然而出乎意料的是,当下一个 M11 = 2^11 - 1 = 2047 = 23×89 出现时,这个规律就不存在了!由于梅森素数具有许多奇特的性质和美妙的趣闻,千百年来一直吸引着众多数学家。但直到 18 世纪,为止,发现的梅森素数只有 8 个,即 M2,M3,M5,M7,M13,M17,M19,M31。其中,最后一个 M31 是由数学家欧拉在双目失明的情况下,靠心算证明的,堪称当时世界上已知的最大素数。欧拉还证明了欧几里得关于完数的定理的逆定理,即每个偶完数都具有形式 2^(n - 1)(2^n - 1),其中 2^n - 1 是素数。这就使得偶完数完全成了梅森素数的“副产品”。此后的 100 多年间,新发现的梅森素数只增加了 4 个——M61,M89,M107 和 M127。其中法国数学家卢卡斯在 1876 年提出的用来判别 Mp 是不是素数的重要定理——卢卡斯定理,为梅森素数的探寻提供了强有力的工具。在“笔算纸录的年代”,人们历尽艰辛,仅找到 12 个梅森素数。

电子计算机的出现大大加快了探寻梅森素数的步伐。1952 年,数学家鲁滨逊等人将 1930 年美国数学家莱默改进的卢卡斯方法,即卢卡斯-莱默方法,编译成计算机程序,使用 SWAC 型计算机找到了 5 个新的梅森素数:M521,M607,M1279,M2203 和 M2281。1963 年,当第 23 个梅森素数 M11213 通过大型计算机被找到时,美国广播公司中断了正常的节目播放,第一时间发布了这一重要消息。发现这一素数的美国伊利诺伊大学数学系全体师生感到无比骄傲,为了让全世界都分享到这一成果,他们把系里发出的所有信件都盖上了“2^11213 - 1 i以「2^11213 - 1」為素數的郵票。特別值得一提的是,两位初出茅庐的美国中学生诺尔和尼科尔经过三年的努力,编写了一个计算程序,并于1978年10月在Cyber174型计算机上运行350小时,发现了第25个梅森素数M21701。当时,世界各大新闻机构(包括中国的新华社)和学术刊物都争相报道这一消息,《纽约时报》还将其作为头版头条进行报道。

网格这一新技术的出现为寻找梅森素数提供了有力的助力。1996年初,美国数学家兼程序设计师沃特曼编写了一个梅森素数计算程序,并将其放在网页上供数学家和数学爱好者免费使用,这就是闻名世界的“因特网梅森素数大搜索”(GIMPS)项目。该项目采用网格计算方式,利用大量普通计算机的闲置时间获得相当于超级计算机的计算能力。现在,只要人们访问GIMPS的主页下载一个免费程序,就可以立即参加GIMPS项目来寻找梅森素数。目前,世界上有150多个国家和地区的近15万人参加了GIMPS这一国际合作项目。人们通过GIMPS项目找到了14个新的梅森素数。2008年8月23日,加州大学洛杉矶分校的计算机专家史密斯发现了第45个梅森素数M43112609。2008年9月6日,电子工程师埃尔维尼科发现了第46个梅森素数M37156667。2009年4月12日,挪威人斯特林德莫发现了介于上述两个数字之间的梅森素数M42643801。2013年1月25日,美国密苏里大学中部分校数学教授柯蒂斯·库珀领导的研究小组发现了已知的最大梅森素数M57885161,它有1700多万位,使被发现的梅森素数达到了48个。除第一个外,所有的梅森素数都以1和7结尾。有趣的是48个梅森素数中的大多数都以1结尾。

人们为什么如此热衷于寻找梅森素数?从古希腊时代到17世纪,寻找梅森素数的意义似乎只是为了寻找完全数。但自梅森提出他的著名断言以来,特别是欧拉证明了欧几里得关于偶完全数定理的逆定理以来,完全数也只是梅森素数的一种“副产品”。寻找梅森素数是发现已知最大素数的最有效途径。自欧拉证明M31是当时最大的素数以来,在发现已知最大素数的世界性竞赛中,梅森素数几乎囊括了所有冠军。寻找梅森素数也是测试计算机运算速度和其他功能的有力手段。例如,第34个梅森素数M1257787就是1996年9月美国克雷公司在测试其最新超级计算机的运算速度时得到的。发现梅森素数不仅需要高性能的计算机,还需要素数判别和数值计算的理论和方法,以及高超巧妙的程序设计技术等,从而推动了“数学皇后”——数论的研究,促进了计算数学和程序设计技术的发展。

梅森素数在实用领域也有用武之地,目前人们已将大素数用于现代密码设计领域,其原理是:将一个很大的数分解成若干素数的乘积非常困难,但将几个素数相乘却容易得多。在这种密码设计中,需要使用大素数,素数越大,密码被破译的可能性就越小。