质数互联网艾森斯坦搜索

作者:Bob Bruen

质数互联网艾森斯坦搜索(PIES)是一项长期致力于发现质数的努力。PIES 试图利用一小类先前被其他数学家忽视的数字的特性,这些数字被称为广义艾森斯坦费马数。这些数字具有新发现的特性,即它们比典型的数字更容易且更快地被证明为质数。此外,对它们有利的是,它们在质数中异常密集,比任何其他质数搜寻项目中的候选数都更密集。

PIES 项目由英国数学家 Phil Carmody 策划,他居住并在芬兰工作。Phil 是一位数学家,他在 2001 年发现了第一个“非法”质数。这个质数可以被解包成 DeCSS 的原始源代码,DeCSS 是解码 DVD 加密方案的软件。他还发现了第二个质数,实际上可以执行该代码。

The Prime Internet Eisenstein Search

图 1. PIES 标志

PIES 的贡献者来自美国、加拿大、芬兰、德国、法国以及世界各地的其他几个地方,尽管它是一个相对较小的国际项目。以真正的 Linux 形式,该项目完全基于志愿者工作,预算很少,是国际性的,并产生了实际成果。其目标是纯粹的研究,并且有些深奥——发现形式略微不寻常的大质数。

质数

质数是只能被 1 和自身整除的数字。数字 1 和 0 不被认为是质数,而数字 2 是唯一的偶数质数。质数是我们数字系统的基本组成部分,对质数的搜索已经吸引了数学家超过两千年。今天,质数被用于公钥加密,而搜索大质数需要大量的计算。世界上最大的质数都存档在 Chris Caldwell 教授的“质数页”中,该网站托管在田纳西大学马丁分校。“质数页”不仅存档了世界上最大的质数,而且还是世界上最完整的质数信息资源。

判断一个数字是否为质数的最简单方法是古希腊人理解的。只需将该数字除以小于被测试数字的平方根的质数。这样做可以找到该数字的所有因数;如果找不到,则该数字为质数。当你的数字很小时,这种方法效果相当好,但是当数字变大时,你需要更聪明地考虑如何搜索、计算和证明该数字确实是质数。找到你认为是质数的数字是不够的。数学家需要提供证明。

伯恩哈德·黎曼在 1859 年的一次讲座中提出了一种将质数作为一般规律进行计数的方法。证明被称为黎曼猜想的理论是上个世纪伟大的数学挑战之一,并且在本世纪仍然如此。试图弄清楚一个范围内有多少质数以及该范围内质数的分布情况是一个活跃的研究领域,它有助于推动对质数的搜索。

质数是我们数字系统的一种骨干。质数的用途不仅仅是数学家的简单智力游戏。一旦 Ron Rivest 和他的同事们弄清楚质数是使 Whitfield Diffie 的非对称或公钥密码学的想法成为现实的方式,质数就变得不可或缺了。所需的安全性越高,质数就必须越大。

PIES 项目

PIES 项目背后的数学原理有些深奥,并在项目主页上部分解释。它与其他大型质数搜寻项目共享一些属性,即它是一种分圆形式,是 ab–1 的因子。其他分圆形式包括梅森数 (2p–1) 和广义费马数 (b(2n)+1)。PIES 质数是第一种可以以大尺寸、大量且快速找到的分圆形式,但并非显式地为 ab–1 或 ab+1 的形式。PIES 的这种特殊形式,广义艾森斯坦费马数,在 PIES 启动前几年由英国业余数学家 Mike Oakes 首次深入研究。但是,由于 Phil Carmody 在筛选方面的进步——即快速去除明显的非质数,因为它们具有小的、容易找到的因数——以及快速的素性测试算法,使得研究 PIES 目前正在处理的更大数字成为可能。分圆数是从评估分圆多项式得到的。第 n 个分圆多项式用 Phi(n) 表示,它在 b 处的值用 Phi(n,b) 表示。梅森数是 Phi(p,2),广义费马数 (GFN) 是 Phi(2n,b)。PIES 广义艾森斯坦费马数是 Phi(3*2n,b)。

开放大学的 David Broadhurst 博士一直饶有兴趣地关注着 PIES 项目的发展,尽管他没有投入任何计算资源。当被问及他的意见时,他说:

这是好的数学、好的编程和好的乐趣。Phil Carmody 成功地使 Chris Caldwell 教授的 5000 个已验证质数数据库活跃起来。以前,它几乎完全由以 -1 或 +1 结尾的字符串组成,因为这些形式是为现有的素性证明程序量身定制的。现在,Phil 和他的朋友们添加了数百个以 Phi 开头的条目,Phi 在数学术语中表示分圆多项式,尽管在本例中是一个相当简单的多项式,基于单位的立方根。Phil 能够在不损失处理速度的情况下做到这一点。事实上,由于作为复数的单位的两个立方根的特定属性,他甚至可能在竞争对手的速度上有所提高。

尽管 Phil 对数学和他的各种项目都很认真,但他做这一切都是为了乐趣。他的有些不寻常的幽默感可以在 PIES 项目主页上看到。例如,他认为 PIES 是唯一一个有项目歌曲的分布式计算项目。正如人们可能从项目名称似乎不太正确解析的方式猜到的那样,这确实完全是人为的,这样做仅仅是为了使项目名称有趣,并且搜索可以“主题化”。Phi(3*2n,b) 中每个固定的 n 值定义了一个频带,在这个频带中,质数可以随着 b 的变化而被搜寻。Phil 将小的 n=13 范围称为“樱桃”,n=14 范围称为“桃子”,最近开始的 n=15 范围称为“苹果”。只有他和他的女朋友 Anna 知道即将到来的范围将被称为什么,Anna 协助处理项目的形象、文字和歌曲歌词。

分布式计算

这种质数发现项目的工作分为两个主要领域。首先,数学家们进行绞尽脑汁的思考,以确定如何找到质数并证明它们是质数。如有必要,此步骤包括编写针对手头任务优化的自定义程序。第二部分是涉及网络通信和系统管理的计算工作。这形成了一种富有成效的伙伴关系,几乎没有大型项目带来的开销。

大多数大质数都是由分布式计算项目发现的,这可以从“质数页”上的顶级发现者表格中看出。因此,项目之间以及参与其中的个人之间存在着真实但友好的竞争感。两者都通过发现大数字、最多数量的数字以及具有特定特殊形式的数字来获得分数和排名。在 2004 年的大部分时间里,PIES 是质数数量最多的单个项目,因为它正在处理一个非常有成果的小质数频带,大约有 50,000 位数字。唉,所有这些质数都已从“质数页”的 5,000 强列表中消失,该项目现在仅是质数数量第三大的生产者。Phil 认为按数量排名并不特别重要——大量的小质数并没有特别的挑战性。它们也是一项糟糕的投资,因为它们不会在列表中停留太久。

最著名的搜索项目可能是互联网梅森质数大搜索 (GIMPS)。该项目正在寻找最大的梅森质数,目前,它也是任何形式的最大质数。2005 年 2 月,发现了已知的最大质数,有 7,816,230 位数字。计算在一台 2.4GHz 机器上花费了 50 天,独立验证又需要了 5 天。第二次验证花费了 15 天。发现者,来自德国的 Martin Nowak 博士,在六年前加入了 GIMPS。本质上,他已经计算了六年才找到这一个数字,仅仅是发现的第 42 个梅森质数。第 41 个是在 2004 年 5 月发现的;自 1996 年以来,该项目仅发现了 8 个。GIMPS 列出了大约 41,000 人参与计算,其中许多人允许使用他们个人机器的空闲 CPU 周期来处理数字。其他参与者拥有大型学术或商业设施可供使用,帮助 GIMPS 全球网络维持超过 17 万亿次浮点运算。

根据 Caldwell 教授的说法,Phil 通过研究通常比普通数字更快地测试素性的数字,实现了重要的进步。在十年左右的时间里,这样的项目可能能够与 GIMPS 就创纪录大小的质数展开认真的竞争。这并非因为它们在某种程度上是更好的项目,而是因为梅森数稳步减少,而许多其他形式的质数减少得没有那么快。即使当梅森数再次失去对已知最大质数的锁定后,它们也可能因其悠久的历史而仍然是最重要的质数。

Caldwell 教授碰巧在 Linux 上运行他的“质数页”,他说:“PIES 通过在 10 万位数字范围内找到大量质数,迅速确立了自己作为主要参与者的地位。我自己也是 PIES 的成员,我真的很欣赏 Phil 为他的系统付出的思考和努力。”还有许多其他项目,有些甚至属于万亿次浮点运算类别。与这些更大的项目相比,PIES 正在较小的规模和较小的数字大小范围内工作。更多数字被更快地发现,在某种意义上是从高梅森数回填。在已知最大质数列表中,截至 2005 年 4 月 4 日,PIES 已达到 191,362 位数字,但预计大约每周会找到一个新的更大的质数。

为了简单地吸引项目成员,理想的分布式计算设置是客户端架构中立的。所有最大的分布式项目在客户端上运行 Linux、*BSD 和其他操作系统时都同样出色。Phil 决定使用 Perl 编写他的客户端和服务器,因为它提供了他所需的所有网络原语,并且在设计上是安全的。实际交换任务和结果的任务只是整个项目的一小部分,因此诸如 Perl 之类的 p 代码或编译成中间形式的语言完全足够快。

Phil 打算调整他的服务器,以便它可以用于任意分布式质数搜寻项目。然后他计划将其作为自由软件发布。

Linux 计算设施

PIES 几乎完全在 Linux 机器上运行。Linux 使得在许多机器上安装可靠的操作系统成为可能,而每台机器的单独许可证将是一笔巨大的成本。Linux 管理很简单,使得一个人兼职管理一个集群成为可能,并且可以使用许多管理工具。Linux 在几乎任何硬件上都能良好运行,这意味着 200MHz 的机器可以用作子网网关或 DNS 服务器,从而进一步节省资金。廉价的硬件和免费的操作系统使爱好者能够运行产生一流结果的先进设施。

The Prime Internet Eisenstein Search

图 2. PIES 计算设施

Phil 在他家中的一台 Alpha 机器上运行该项目的中央服务器。他最早在 1993 年底将 Linux 作为他的首选操作系统,并在大约五年前完全放弃了人们可能称之为商业操作系统的系统。他还有几台 Linux 机器,他用作客户端。他通常只为 Linux 开发,但他不歧视架构——例如,他招募了几位 Alpha 测试人员。他很乐意为 BSD 和类 UNIX 系统构建,并且勉强地为可能存在的任何其他系统构建。

美国的计算支持站点之一位于佛蒙特州,在 Bob Bruen 的谷仓里。谷仓是为马建造的,因此一楼有马厩和两个开放区域,二楼有一个大的开放空间。两个一楼空间之一现在是 PIES 计算设施。该设施在 PIES 之前就开始建设,以支持 Linux、网络和安全方面的工作。Bob 没有让该设施浪费 CPU 周期,而是让 PIES 在机器不执行其他任务时访问这些机器。一段时间以来,一直没有其他此类任务。

The Prime Internet Eisenstein Search

图 3. Bob 的谷仓

佛蒙特州的设施是一个专用的集群,由十几台机器组成,频率从 450MHz 到 3GHz 不等,Bob 的谷仓中的一个单独子网上有几台 SMP 机器。该设施通过无线桥接器连接到房屋,房屋又通过有线调制解调器连接到互联网。大多数运行 Red Hat 9.0 和 Fedora Core 2,但也安装了 SUSE、Mandrake 和 Debian。

硬件是在拍卖或促销时购买的,它是服务器级硬件:机架式、重型机箱、一些 SMP、SCSI 和大量内存。同样的拍卖也以极低的价格获得了机架、交换机和其他硬件。

即使以 Linux 为基础,仍然存在一些问题。虽然拍卖购买的服务器并不在意,但一台 Dell SMP 服务器在未加热谷仓的极度寒冷中发生故障。有几天气温低于零下 20-25 华氏度。偶尔,一台服务器需要维护,但总的来说,正如人们对 Linux 机器所期望的那样,它们一直在运行。无线桥接器在同一次寒流中需要重启一次。然而,最严重的问题一直是佛蒙特州该地区原始的电力供应。

另一个较小的美国设施位于亚利桑那州,刑事辩护律师 Steven Harvey 在那里使用 Mandrake 10.1 运行 PIES。他使用几台机器进行其他质数搜索。Phil 是埃斯波(靠近赫尔辛基)的永久居民,那里也是服务器和他少数几台客户端机器的所在地,他在几百公里外的图尔库工作。搬到那里几天后,他已经调查了购买少量翻新 PC 的事宜。为了尽可能降低成本,他打算购买没有硬盘或软盘驱动器的系统,而是直接从 CD 启动。尽管 Debian 是他最喜欢的桌面和服务器发行版,但他计划使用 Knoppix 启动无盘机器。

结果

该项目的结果可以在田纳西大学马丁分校的 Caldwell 教授的质数网站上看到(参见在线资源)。佛蒙特州的设施在大约 18 个月内发现了超过 50 个质数,包括最大的六个。PIES 总体上已经发现了 900 多个大质数。

预计当前的“苹果”频带将产生近 100 个来自 150,000–200,000 位数字的质数。下一个频带,在当前频带接近完成之前不会启动,可能将包含至少 40 个介于 300,000 和 400,000 位数字之间的质数。目前,世界上只有 50 个已知大小的质数。因此,尽管 PIES 项目目前的规模相对较小,但它对记录表的影响预计将非常显著。

本文资源: article/8328

Bob Bruen 在马萨诸塞州斯普林菲尔德的斯普林菲尔德技术社区学院教授计算机安全和 Linux。他使用 Linux 已超过十年,并且担任 Cipher 的书评编辑也几乎有这么长时间。

Phil Carmody 是一位 34 岁的数学家,1991 年毕业于英国著名的牛津大学。当他不为工作或娱乐而编码时,他喜欢文字游戏、现场音乐以及喝单一麦芽威士忌和英国啤酒。

加载 Disqus 评论