每日最新頭條.有趣資訊

一名程式員意外發現迄今最大素數,長約25000000位!

2825,899,33-1

這個有著大約 2500 萬位的數字,正是迄今為止人類發現的最大的素數。

最近,一位來自美國佛羅裡達州的程式員 Patrick Laroche,利用互聯網梅森素數大搜索項目(GIMPS),成功發現該素數,它有 24862048 位數字,這也是人類發現的第 51 個梅森素數,名為 M82589933。 Patrick Laroche也因此獲得了 3000 美元的獎金。

圖丨迄今最大素數(來源:GIMPS )

在這次發現之前,第 50 位梅森素數可謂出盡風頭,2018 年 1 月 13 日,日本一家出版社為第 50 位梅森素數做了一本書,據報導 4 天就賣出了 1500 本,發行兩周後迅速攀上日本亞馬遜數學類“暢銷書第1位”。

圖 | 最大素數局部展示(來源:QUARTZ)

而在這一次的發現中,主人公 Patrick Laroche 並不是專門研究數學的數學研究者;其次,GIMPS 這個項目並不僅僅是數學工作者可以使用,而是所有人都能使用的一個數學工具。

20 世紀 90 年代中後期,在美國程式設計師沃特曼和庫爾沃斯基等人的共同努力下,建立了世界上第一個基於互聯網的分布式計算項目——因特網梅森素數大搜索(GIMPS)。人們只要在 GIMPS 的主頁上下載一個計算梅森素數的免費程式,就可以立即參加該項目來搜尋新的梅森素數。Patrick Laroche 就是嘗試使用 GIMPS 的千萬個志願者的一員。

要知道,人類曾經尋找這類素數的方式非常簡單粗暴但是收獲頗少。

例如 100 以內的素數,最簡單的方法就是“試”——將 100 個數字寫出來,一個個去質因數分解,不能分解的就是素數。圖中,黃色標出的就是素數,100 以內的素數共有 25 個。這樣的操作,首先我們要把所有的數都寫出來,然後一一辨別,找 100 以內的素數還不算很麻煩,但是 1000、10000 之後呢?這樣的方法就不實用了。

那麽我們可以用另一種方法——“篩法”,簡單來說就是將 100 以內的數一遍一遍篩選,剩下來的就是我們想要的素數。首先,將 100 以內 2 的倍數去掉,然後 3 的倍數去掉,接著 5 的倍數、7 的倍數去掉,以此類推。篩到最後,就只剩下了我們的 25 個素數。這種“篩法”相對來說比較簡單,由古希臘的哲學家埃拉托斯特尼首次提出,他也是第一個丈量地球的人,十分天才。

在找出素數之後,數學家又在想,能不能有一種方式能解決所有素數的分布或者素數的計算公式呢?

這就要提到幾個著名的猜想了:“哥德巴赫猜想”、“孿生素數”、還有今年受到熱議的“黎曼猜想”。這些著名猜想都對素數的分布提出了闡述,但是至今還未完全被證明。

數學家退而求其次,能不能找到一個公式,並證明通過這個公式算出來的數一定是素數呢?這就是著名的“梅森素數”。

圖|法國數學家馬林·梅森(Marin Mersenne , 1588-1648)

最早開始研究梅森素數的是古希臘數學家歐幾裡得。他早在公元前 300 多年,就開創了研究梅森素數的先河。在他的名著《幾何原本》第九章數論中,就提到了梅森素數以及完全數的概念。

在這之後,17 世紀的法國數學家馬林·梅森(Marin Mersenne)開始研究梅森素數,在歐幾裡得、費馬等人有關研究的基礎上對梅森素數做了大量的計算和驗證。

“梅森素數”是這樣一類數,由 Mp=2p-1 這個公式確定。當 p 為合數時,Mp一定為合數. 但當 p 為素數時,Mp不一定皆為素數,例如最小的梅森素數是M2=22-1=4-1=3, 但是 M11=211-1=2047=23*89 就不是素數。

梅森於 1644 年在他的《物理數學隨感》一書中歸納了 M2 到 M257 之間的所有梅森素數。雖然有所紕漏(M67 和 M257 都不是素數),但是這是在那個只有爛筆頭和好記性的年代,將這些龐大的數字,例如 2257-1 算出來並驗證是否是素數真的是一項龐大的工程。

為了紀念梅森的貢獻,梅森素數也因他得名。梅森素數提供了一種尋找素數的“捷徑”,所以如今人們發現的已知最大素數幾乎都是梅森素數,因此尋找新的梅森素數的歷程也就幾乎等同於尋找新的最大素數的歷程。

隨著時間的推進,電腦也出現了,尋找梅森素數也進入了“電腦時代”。

超級電腦以及相應素數算法的出現加快了我們尋找梅森素數的速度,例如美國數學家魯濱遜(1911~1995)在萊默指導下將此方法編譯成電腦程式,使用 SWAC 型電腦在幾個月內就找到了 5 個梅森素數:M521 、M607 、M1279 、M2203 和 M2281。

但使用超級電腦尋找梅森素數實在太昂貴了,而且可以參與的人也有限,尋找素數變成了世界上極少數人的遊戲。

隨著網絡的出現,梅森素數得以“飛入尋常百姓家”,GIMPS 的出現標誌著尋找梅森素數進入了“網絡共享時代”。從 1996 年投入使用開始,GIMPS 已經幫助我們發現了 17 個梅森素數了(第 35 個到第 51 個)。

但是,梅森素數又有什麽用呢?

說了這麽久,梅森素數不就只是一種素數麽?與我們的日常生活有什麽聯繫麽?

首先,梅森素數自古以來就是數論研究的一項重要內容,歷史上有不少大數學家都專門研究過這種特殊形式的素數。梅森素數還是數學中一種完美的體現,我們可以將梅森素數做這樣一個運算:

其中 n 就是一個完全數,即它的所有真因數相加之和等於它本身。例如 n=6 就是一個完全數,6=1x2x3=1+2+3。它是由 M2通過上面的公式得到,其實得到一個梅森素數也就得到了一個完全數。

其次,尋找梅森素數是目前發現已知最大素數的最有效途徑。自歐拉證明 M31 為當時最大的素數以來,梅森素數基本領跑最大素數榜。更多的是,尋找梅森素數是測試電腦運算速度及其他功能的有力手段,如 M1257787 就是 1996 年 9 月美國克雷公司在測試其最新超級電腦的運算速度時得到的。

計算、發現和驗證梅森素數能對電腦性能的評級和改進都是有獨特作用的,因為研究梅森素數的過程中會牽涉到冗長的大數計算,這是體現電腦性能的一個重要的指標,隨著梅森素數越來越大,計算量劇增,這就要求計算方法和計算技術的創新。

談及實際應用的意義,梅森素數能應用於現代密碼學中。

我們十分熟悉的銀行加密系統,幾乎天天都會用到,如今比較流行的加密算法是由 MIT 三位科學家開發的非對稱加密算法(RSA 算法),這種算法是基於數學運算原理加密的,在加密解密過程中需要用到素數相關的計算,例如質因數分解等。而素數作為加密解密的核心是安全性的標誌,一旦這個素數很容易被找到也就代表這個加密算法安全性很差,大素數的應用將大大增強算法的安全性。

尋找梅森素數已經從“手算時代”、歷經“電腦時代”到了我們的“網絡共享時代”。電腦的作用無須贅述,而 GIMPS 這種互聯網共享模式也得到了成功的驗證,它成功地讓非數學專業或者非數學研究的人都參與到了數學研究中來,儘管他們中很多人使用這個軟體的初衷並不是參與數學研究,例如 Patrick Laroche 發現 282589933-1 之前,曾用 GIMPS 的軟體測試自己的電腦。GIMPS 將他們的閑散資源、閑散時間以及閑散“思維”都集中了起來,這是一種模式上的創新。

新的一年即將來臨,讓我們期待長度更加可觀的的梅森素數被發現吧!

獲得更多的PTT最新消息
按讚加入粉絲團