tft每日頭條

 > 圖文

 > 孿生素數猜想python

孿生素數猜想python

圖文 更新时间:2024-08-16 15:16:21

2^82,589,933-1!

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

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

孿生素數猜想python(一名程序員意外發現迄今最大素數)1

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

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

孿生素數猜想python(一名程序員意外發現迄今最大素數)2

圖 | 最大素數局部展示(來源: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 個素數。這種“篩法”相對來說比較簡單,由古希臘的哲學家埃拉托斯特尼首次提出,他也是第一個丈量地球的人,十分天才。

孿生素數猜想python(一名程序員意外發現迄今最大素數)3

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

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

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

孿生素數猜想python(一名程序員意外發現迄今最大素數)4

圖|法國數學家馬林·梅森(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 将他們的閑散資源、閑散時間以及閑散“思維”都集中了起來,這是一種模式上的創新。

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

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved