魅力无穷的梅森素数

——互联网上一个有吸引力的搜索梅森素数项目

由于使用超级计算机寻找梅森素数实在是太昂贵了,而且可以参与的人也有限,因此美国数学家及程序设计师乔治·沃特曼在1996年编制了一个梅森素数寻找程序,并把它放在网页上,供数学爱好者免费下载与使用,这就是著名的“因特网梅森素数大搜索”(GIMPS)项目。1997年美国数学家及程序设计师斯科特·库尔沃斯基和其他人建立了“素数网”(PrimeNet),它使得分配搜索区间和向GIMPS发送报告的工作自动化。现在只要人们去GIMPS 的主页下载那个免费程序,就可以立即参加GIMPS项目来搜寻梅森素数。

目前,全球有超过7万名志愿者参加该项目,并动用20多万台以上的计算机联网来进行大规模的分布式计算,以寻找新的梅森素数。

        

从1996年到2004年5月15日,GIMPS项目发现了7个梅森素数:M1398269、M2976221、M3021377、M6972593、M13466917、M20996011和M24036583,它们都是使用奔腾型计算机得到的结果。

梅森素数的由来

马林·梅森(Marin Mersenne,1588–1648)是17世纪法国著名的数学家和修道士,也是当时欧洲科学界一位独特的中心人物。他与大科学家伽利略、笛卡尔、费马、帕斯卡、罗伯瓦、迈多治等是密友。虽然梅森的职业是修道士致力于传播宗教,但他却是科学的热心拥护者,在教会中为了保卫科学事业做了很多工作。他翻译过伽里略的一些著作,并捍卫了他的理论;同时他也捍卫笛卡儿的哲学思想,反对来自教会的批评。

梅森对科学所作的主要贡献是他起了一个极不平常的信息交换中心的作用。17世纪时,科学刊物和国际会议等还远远没有出现,甚至连科学研究机构都没有创立,交往广泛、热情诚挚和德高望众的梅森就成了欧洲科学家之间的联系的桥梁。许多科学家都乐于将成果寄给他,然后再由他转告给更多的人。因此,他被人们誉为“有定期学术刊物之前的科学信息交换站”。梅森和巴黎数学家笛卡儿、费马、罗伯瓦、迈多治等曾每周一次在梅森住所聚会,轮流讨论数学、物理等问题,这种民间学术组织被誉为“梅森学院”,它就是法兰西科学院的前身。

1640年6月,费马在给梅森的一封信中写道:“在艰深的数论研究中,我发现了三个非常重要的性质。我相信它们将成为今后解决素数问题的基础”。这封信讨论了形如2 P-1的数(其中p为素数)。早在公元前300多年,古希腊数学家欧几里得就开创了研究2 P-1的先河,他在名著《几何原本》第九章中论述完美数时指出:如果2 P-1是素数,则2 P-1(2 P-1)是完美数。

梅森在欧几里得、费马等人的有关研究的基础上对2 P-1作了大量的计算、验证工作,并于1644年在他的《物理数学随感》一书中断言:对于p=2,3,5,7,13,17,19,31,67,127,257时,2 P-1是素数;而对于其他所有小于257的数时,2 P-1是合数。前面的7个数(即2,3,5,7,13,17和19)属于被证实的部分,是他整理前人的工作得到的;而后面的4个数(即31,67,127和257)属于被猜测的部分。不过,人们对其断言仍深信不疑,连大数学家莱布尼兹和哥德巴赫都认为它是对的。

虽然梅森的断言中包含着若干错误,后面将详述,但他的工作极大地激发了人们研究2 P-1型素数的热情,使其摆脱作为“完美数”的附庸的地位。可以说,梅森的工作是素数研究的一个转折点和里程碑。由于梅森学识渊博,才华横溢,为人热情以及最早系统而深入地研究2 P-1型的数,为了纪念他,数学界就把这种数称为“梅森数”;并以Mp记之(其中M为梅森姓名的首字母),即Mp=2 PP-1。如果梅森数为素数,则称之为“梅森素数”(即2 P-1型素数)。

梅森素数貌似简单,而研究难度却很大。它不仅需要高深的理论和纯熟的技巧,而且需要进行艰巨的计算。即使属于“猜测”部分中最小的M31=231-1=2147483647,也具有10位数。可以想象,它的证明是十分艰巨的。正如梅森推测:“一个人,使用一般的验证方法,要检验一个15位或20位的数字是否为素数,即使终生的时间也是不够的。”是啊,枯燥、冗长、单调、刻板的运算会耗尽一个人的毕生精力,谁愿让生命的风帆永远在黑暗中颠簸!人们多么想知道梅森猜测的根据和方法啊,然而年迈力衰的他来不及留下记载,四年之后就去世了;人们的希望与梅森的生命一起泯灭在流逝的时光之中。看来,伟人的“猜测”只有等待后来的伟人来解决了。

充满艰辛与乐趣的探索历程

梅森素数就像数学海洋中的一颗璀璨明珠,吸引着一代又一代的研究者去探寻。自梅森提出其断言后,人们发现的已知最大素数几乎都是梅森素数;因此,寻找新的梅森素数的历程也就几乎等同于寻找新的最大素数的历程。而梅森断言为素数而未被证实的几个Mp当然首先成为人们研究的对象。

1772年,瑞士数学家欧拉在双目失明的情况下,靠心算证明了M31是一个素数,它共有10位数,堪称当时世界上已知的最大素数。欧拉的毅力与技巧都令人赞叹不已,他因此获得了“数学英雄”的美誉。这是寻找已知最大素数的先声。欧拉还证明了欧几里得关于完美数的定理的逆定理,即:每个偶完美数都具有形式2P-1(2P-1),其中2P-1是素数。这就使得偶完美数完全成了梅森素数的“副产品”了。欧拉的艰辛给人们提示:在伟人难以突破的困惑面前要想确定更大的梅森素数,只有另辟蹊径了。

100年后,法国数学家鲁卡斯提出了一个用来判别Mp是否是素数的重要定理——鲁卡斯定理。鲁卡斯的工作为梅森素数的研究提供了有力的工具。1883年,数学家波佛辛利用鲁卡斯定理证明了M61也是素数——这是梅森漏掉的。梅森还漏掉另外两个素数:M89和M107,它们分别在1911年与1914年被数学家鲍尔斯发现。

1903年,在美国数学学会的大会上,数学家柯尔作了一个一言不发的报告,他在黑板上先算出267-1,接着又算出193707721×761838257287,两个结果相同。这时全场观众站了起来为他热烈鼓掌,这在美国数学学会开会的历史上是绝无仅有的一次。他第一个否定了“M67为素数”这一自梅森断言以来一直被人们相信的结论。这短短几分钟的报告却花了柯尔3年的全部星期天。1922年,数学家克莱契克进一步验证了M257并不是素数,而是合数(但他没有给出这一合数的因子,直到20世纪80年代人们才知道它有3个素因子)。

“手算笔录时代”,人们历尽艰辛,仅找到12个梅森素数。而计算机的产生使寻找梅森素数的研究者如虎添翼。1952年,数学家鲁滨逊等人将鲁卡斯-雷默方法编译成计算机程序,使用SWAC型计算机在短短几小时之内,就找到了5个梅森素数:M521、M607、M1279、M2203和M2281。其后,M3217在1957年被黎塞尔证明是素数;M4253和M4423在1961年被赫维兹证明是素数。1963年,美国数学家吉里斯证明M9689和M9941是素数。1963年9月6日晚上8点,当第23个梅森素数M11213通过大型计算机被找到时,美国广播公司(ABC)中断了正常的节目播放,以第一时间发布了这一重要消息;发现这一素数的美国伊利诺伊大学数学系全体师生感到无比骄傲,以致于把所有从系里发出的信件都敲上了“211213-1是个素数”的邮戳。

1971年3月4日晚,美国哥伦比亚广播公司(CBS)中断了正常节目播放,发布了塔可曼使用IBM360-91型计算机找到新的梅森素数M19937的消息。而到1978年10月,世界几乎所有的大新闻机构(包括我国的新华社)都报道了以下消息:两名年仅18岁的美国高中生诺尔和尼科尔使用CYBER174型计算机找到了第25个梅森素数:M21701。

随着素数P值的增大,每一个梅森素数MP的产生都艰辛无比;而各国科学家及业余研究者们仍乐此不疲,激烈竞争。1979年2月23日,当美国克雷研究公司的计算机专家史洛温斯基和纳尔逊宣布他们找到第26个梅森素数M23209时,人们告诉他们:在两个星期前诺尔已得到这一结果。为此,史洛温斯基潜心发愤,花了一个半月的时间,使用CRAY-1型计算机找到了新的梅森素数M44497。这个记录成了当时不少美国报纸的头版新闻。

之后,这位计算机专家乘胜前进,使用经过改进的CRAY-XMP型计算机在1983年至1985年间找到了3个梅森素数:M86243、M132049和M216091。但他未能确定M86243和M216091之间是否有异于M132049的梅森素数。而到了1988年,科尔魁特和韦尔什使用NEC-FX2型超高速并行计算机果然捕捉到了一条“漏网之鱼”——M110503。

沉寂4年之后,1992年3月25日,英国原子能技术权威机构——哈威尔实验室的一个研究小组宣布他们找到了新的梅森素数M756839。1994年1月14日,史洛温斯基和盖奇为其公司再次夺回发现“已知最大素数”的桂冠——这一素数是M859433。而下一个梅森素数M1257787仍是他们的成果。这一素数是使用CRAY-794超级计算机在1996年取得的。史洛温斯基由于发现7个梅森素数,而被人们誉为“素数大王”。

2004年5月15日,美国国家海洋和大气局顾问、数学爱好者乔希·芬德利(Josh Findley)用一台装有2.4GHZ奔腾处理器的个人计算机,找到了目前世界上已知最大的梅森素数。该素数为2的24036583次方减1(即224036583-1),它有7235733位数,如果用普通字号将这个数字连续写下来,它的长度可达3万米!它是2000多年来人类发现的第41个梅森素数,也是目前已知的最大素数。世界上许多著名的新闻媒体和科学刊物都对这一消息进行了报道和评介,认为这是数学研究和计算技术中最重要的突破之一。

2006年9月,我们知道了44个梅森素数;现在已知最大的素数是梅森素数M32,582,657。

已发现的梅森素数表

序号 梅森素数 位数 发现时间  序号 梅森素数 位数 发现时间 
1 M2 1   公元前300 25 M21701  6533  1978 
2 M3  1 公元前300 26 M23209   6987 1979 
3 M5 2 公元前100 27 M44497  13395  1979 
4 M7 3 公元前100 28 M86293   25962 1983 
5 M13 4 15世纪中叶  29 M110503  33265  1988 
6 M17 6 1603  30  M132049           39751 1983 
7 M19 6 1603  31 M216091  65050  1985 
8 M31 10  1772  32 M756839  227832   1992
9 M61 19 1883  33 M859433  258716  1995 
10 M89 27 1911  34 M1257787  378632   1996
11 M107 33 1914  35 M1398269 420921  1996 
12 M127  39 1876  36  M2976221 895933  1997 
13 M521 157 1952  37 M3021377  909526  1998 
14 M607 183 1952  38 M6972593  2098960  1999 
15 M1279 386 1952 、 39 M13466917    4053946 2001
16 M2203 664 1952  40 M20996011 6320430  2003 
17 M2281 687 1952  41 M24036583   7235733 2004 
18  M3217 969 1957  42 M25964951  7816230  2005年2月18日
19 M4253 1281 1961  43 M30402457  9152052  2005年12月15日
20 M4423 1332 1961  44 M32582657  9808358  2006年9月4日 
21 M9689 2917 1963  45      
22 M9941 2993 1963  46      
23  M11213 3376 1963  47      
24 M19937 6002 1971  48       

由上表可见,梅森素数的分布极不规则,就连找到梅森素数的时间分布都很没有规律,有时许多年未能找到一个,而有时则一下找到好几个。探索梅森素数的分布规律似乎比寻找新的梅森素数更为困难。有数学家提出了一些猜想,如英国数学家香克斯、美国数学家吉里斯、法国数学家托洛塔和德国数学家伯利哈特曾分别给出过关于梅森素数分布的猜测,但他们的猜测有一个共同点,就是都以近似表达式给出;而它们与实际情况的符合程度均未尽如人意。

中国数学家与语言学家周海中经过多年研究,在1992年首先给出了梅森素数分布的精确表达式,为人们寻找这一素数提供了方便;这一科研成果被国际数学界命名为“周氏猜测”。著名的《科学》杂志上有一篇评论文章指出,这是梅森素数研究中的一项重大突破。

不久前,国际电子新领域基金会(IEFF)宣布了由一位匿名者资助的为通过GIMPS项目来寻找新的更大的梅森素数而设立的奖金。它规定向第一个找到超过一千万位数的个人或机构颁发10万美元。后面的奖金依次为:超过1亿位数,15万美元;超过10亿位数,25万美元。但据悉,绝大多数研究者参与该项目不是为了金钱而是出于乐趣、荣誉感和探索精神。可以相信,梅森素数这颗数海明珠正以其独特的魅力,吸引着更多的有志者去寻找和研究。 

梅森素数的意义

自古希腊时代直至17世纪,人们寻找梅森素数的意义似乎只是为了寻找完美数。但自梅森提出其著名断言以来,特别是欧拉证明了欧几里得关于完美数的定理的逆定理以来,完美数反倒成为是梅森素数研究的一种“副产品”了。寻找梅森素数是发现已知最大素数的最有效的途径,自欧拉证明M31为当时最大的素数以来,在发现已知最大素数的世界性竞赛中,梅森素数几乎囊括了全部冠军。

寻找梅森素数是测试计算机运算速度及其他功能的有力手段。如M1257787就是1996年9月美国克雷公司在测试其最新超级计算机的运算速度时得到的。梅森素数在推动计算机功能改进方面发挥了独特作用。发现梅森素数不仅仅需要高功能的计算机,它还需要素数判别和数值计算的理论与方法以及高超巧妙的程序设计技术等等,因而它还推动了数学皇后——数论的发展,促进了计算数学、程序设计技术的发展。

由于寻找梅森素数需要多种学科的支持,也由于发现新的“最大素数”所引起的国际影响使得对于梅森素数的研究能力已在某种意义上标志着一个国家的科学技术水平,而不仅仅是代表数学的研究水平。从各国各种传媒争相报道新的梅森素数的发现,我们可以清楚地看到这一点。梅森素数的特性使它具有一定实用价值,人们已将大素数用于现代密码的设计领域。它是基于这样的事实:将一个很大的数分解成若干素数的乘积非常困难,但将几个素数相乘却相对容易得多。在这种密码设计中,需要使用较大的素数,素数越大,密码被破译的可能性就越小。

寻找梅森素数另外的一个意义是,它促进了分布式计算技术的发展。从最新的7个梅森素数是在因特网项目中发现这一事实告诉我们,可以利用大量个人计算机去做这件事,分布式计算技术是一个前景非常广阔的领域。

欧几里得发现并证得“素数有无穷多个”,而梅森素数是否也有无穷多个?魅力无穷的梅森素数具有许多特异的性质和现象,千百年来一直吸引着众多的数学爱好者对它进行研究;虽然已经取得了一些进展,但仍然有许多未解之谜,等待着人们去探索。

本文节选自《世界科学》2004年第7期  作者是香港科技大学 方程