目前圓周率已經達到10萬億位了,為何超級電腦還在不停地計算圓周率?計算圓周率有什麼用處?

羅上林


老規矩,先來說下答案:主要是用來測試計算機的性能和挑戰科學極限



圓周率π是圓周長與直徑的比值,是計算圓周長、面積、球體等集合形狀的關鍵值,也廣泛應用到了我們的生活中,如果沒有記錯的話,我們從小學三年級的時候應該就接觸到了這個神秘的數值——圓周率π,只應用到了小數點的後兩位,即3.14,但這也完全可以滿足我們日常下需求和應用,在科技工程方面,小數點後百位也完全夠用,我們這裡先說明一點,所謂不斷的計算圓周率是為了鍛鍊記憶力完全是無稽之談。


我們下面接著來講一下超級計算機,超級計算機這一名詞的誕生最早要追溯到1929年,在《紐約世界報》中首次出現,超級計算機的主要用來執行一般個人電腦無法處理的大量資料,在國際一般的指標中,平均速度超過每秒1000萬次的計算機才被稱為超級計算機,現在運算速度最大的超級計算機的運算速度達到了每秒一萬億次(一太)以上,也是國家科技發展水平和綜合實力的重要標誌,我國現有運算速度最快的計算機是天河二號。

迴歸正題,我們在之間曾經說到在日常和科研工作的遠算中小數點後幾百位完全夠用,截止2011年為止,圓周率已經算到了小數點後十萬億位,上面我們也說到圓周率不是為了鍛鍊鍛鍊的記憶力,那麼為什麼超級計算機要不斷的計算圓周率呢?

其實答案很簡答,就是挑戰科學的極限,我們人類是一種喜歡挑戰極限的生物,所以圓周率成了他們最好的目標,另外就是為了測試超級計算機的性能,用圓周率來測試超級計算機已經形成了一種不成文的測試標準,因為圓周率太經典了。

我是時間史,如果喜歡請點上一讚,歡迎在下方評論區進行討論。


時間史



圓周率π是周長和直徑的比值,在物理和數學中有著十分重要的地位,但圓周率在一般應用中取3.14就夠了,在高精度的航天和其他領域, 圓周率取到15或者16位就足夠用了,精度完全能滿足需要,圓周率取的越“長”,精度就越高,用40位圓周率計算整個可觀測宇宙大小的話,誤差只有半個氫原子。

人類文明很早就開始求圓周率了,但是人工方式終究是費時費力進展緩慢的,1949年人類第一臺計算機ENIAC用70個小時把圓周率算到了2017位,此後人類的圓周率位數便開始了爆炸性增長,1973年圓周率突破了100萬位,好事者還把它印成了書,1989年突破十億,1995年突破64億,目前圓周率位數已經達到了1000萬億位以上了,現在的圓周率唯一的作用就是測試計算機性能,圓周率的位數已經越來越取決於計算機的開機時間了。

人類雖然已經無法和計算機比了,但也找到了關於圓周率的另一個活動,目前人工背誦圓周率的記錄的保持者是呂超,他用24小時背誦了圓周率小數點後67890位,但有人吹牛說自己對圓周率可以倒背如流...

關於圓周率還有一個有趣的事實,那就是正規數,圓周率小數點後的每一個數字的出現概率都是相同的,這說明圓周率中包含過去現在和未來的所有數字組合,我們每個人都身份證號和銀行卡密碼都能在圓周率中被找到,但我們可能無法把它們提取出來。

早在1909年就有人提出了“無限猴子打字機”想法,意思是說如果無限只猴子在無限多的打字機上面亂敲亂打,那麼它們早晚有一天能打出世界上所有的文學作品,甚至是還沒有問世的文學作品,劉慈欣當年在《詩云》中描述了一個宇宙神級文明的故事,這個文明在最後為了打敗李白而把古往今來所有的詩都寫了出來,但寫法只是將漢字的所有排列組合都試了一遍而已。


宇宙探索未解之迷


題主說的數據有點早,現在的電子計算機已經把圓周率計算到1000萬億位以上了。

圓周率是個無限不循環的數,很多人認為圓周率可能是個正規數。

什麼是正規數?

正規數通俗來講:就是小數點後每一位出現特指數字的幾率是相等的。

這就意味著著只要樣本足夠大,那麼所有的信息都可以包含在圓周率內。

現在的電子計算機運算能力有限,如果出現量子計算機。那麼圓周率可能被計算到萬億億億...位。


如果我們把圓周率內的十進制數字轉化成二進制。那麼二進制就可以表達任出人類認知事物的任何知識和思想。

比如安卓底層代碼,大英百科全書,各種小說都有二進制代碼。只要把圓周率無限計算。總會找出一連串數字對應的二進制代碼剛好是安卓系統的代碼,剛好是Windows系統的代碼,甚至是人的基因遺傳圖譜。

不信可以說一下,隨便說出一個八位數,幾乎都能在圓周率小數點後十億位找到。

你現在的大腦不管在思考什麼事物,總會被語言描述出來,而這些語言都可以轉化成二進制,再轉化成十進制。而這些十進制數學串都可以在圓周率內找到。也就是說你現在的所思所想都按照某種法則早已刻錄在圓周率內了!是不是細思極恐?


比如我今天答題的時間是公元2019年1月17日,對應的十進制數字是20190117。

那麼我現在找一下20190117在圓周率小數點後的多少位後開始出現。

於是我打開了一個專門統計圓周率的網站,輸入數字,於是發現

20190117這八位數出現在圓周率後的第57444571位,也就是千萬位後,還沒有達到億位。

你也可以順便輸入你的身份證號碼,網站密碼什麼的,都會出現在圓周率上。



我甚至認為整個宇宙的所有信息都有可能被在圓周率內蘊藏著,比如某個星系內的物質構成信息,黑洞的質量等等信息。

現在的計算機能力還是不夠,如果量子計算機出現了,圓周率的位數又會被指數爆炸式挖掘出來。


科學認識論


首先,π確實是無理數,相信多數人是知道的,某人人懷疑是不是因為人類無法算出足夠多的位數,才造成π是無理數的“假象”,事實並不是這樣的,數學家早已經證明π就是無理數,如何證明的?也不難,可以搜索瞭解下!

既然知道π是無限不循環的數,為何人類如此執著計算π的位數呢?

通常情況下,π取3.14就能滿足我們的要求,在上學時我們也經常這樣選擇。而在需要更精確的航天科技等領域會把π取到小數點後5位數,再多的話基本上就很難用到了!

之所以很多超級電腦如此執著,更多的還是想檢驗電腦的性能,因為如果能用更多的時間計算出更多的π的位數,說明計算機的性能確實很強大!

同時,只能說還夾著人類的一個“癖好”或者說好奇心,我們想知道π到底是如何“無限不循環”的,甚至心裡有種信念萬一找到π小數點後的某種規律呢?或者萬一找到π的終點呢?(雖然我們知道不可能)當然,人類更像用不斷地計算π展現大自然的神奇。

同時,還有一個關於背誦圓周率的吉尼斯世界紀錄,我國一位名叫呂超的天才能夠背誦圓周率小數點後67890位,經過24小時的鏖戰才背誦完成!


宇宙探索


圓周率在數學上早已被證明是一個無理數,這意味著它的小數點後有無數位不循環的數。目前為止,通過計算機算出的圓周率小數點位數早已超過10萬億位。根據維基百科給出的數據,Peter Trueb在2016年創下了世界紀錄,他用計算機耗費105天的時間把圓周率的小數位算到22.4萬億位。

顯然,圓周率的小數位取得越多,計算結果也就越精確。雖然圓周率的小數位已經可以精確到很多位之後,但我們通常使用的也就兩位,此時計算圓周長的誤差大約為0.05%,這已經滿足一般精度。如果取五位,誤差將會降到0.000084%。

NASA科學家表示,即便在精度要求極高的航天領域,他們也只會用到圓周率小數點後的15至16個位。在理論物理學中,與圓周率有關的基本常數計算也只會用到前32位。如果用40位來計算可觀測宇宙的尺寸,它的誤差將會小於氫原子半徑。因此,把圓周率的小數位計算到萬億位對於實際應用已經沒有意義,幾十位的精度已經完全足夠人們使用。

至於為什麼超級計算機經常被用來計算圓周率,主要的原因就是為了測試計算機的計算性能。在越短的時間之內計算出的小數點位數越多,表明計算機的計算性能越強。當然,這還與圓周率的算法有關,收斂越快的算法(都是無窮級數)計算圓周率也就越高效。

另外,還有人類記憶圓周率的比賽,目前的世界紀錄已經超過7萬位。


火星一號


我們都知道圓周率是無限不循環小數,小數點後有無限位數字,沒有窮盡,並且這一點早已在數學上被證明。

而如今,計算圓周率也是一種檢測計算機處理器性能的方式。還有的就是出於愛好,歷史上,很多人都鑽研過各種計算π值的方法,比如我國數學家劉徽的割圓術、往後人類又利用更高級的數學方法來計算,再往後就利用計算機工作,圓周率越算越長,越算越精確。

而且在這過程中也會有想不到的驚喜出現,比如在2015年,羅切斯特大學的研究人員在氫原子能級計算中無意得到了沃利斯公式(見上圖,一種計算圓周率的公式)

期待您的點評和關注哦!


賽先生科普


對於我們日常生活應用來說,π=3.14就夠用了,這就是小學畢業的要求。

如果是工程上用,π=3.1415927也足夠用了,也就是計算器的精度。

那麼如果繼續計算圓周率,到100位、1萬位,其實已經不是實用價值,而是數學研究價值了。

1,信念,驗證無限不循環

π肯定是無限不循環的,不需要驗證了。但是,作為數學的信念,我們就想驗證一下。這種信念不僅僅在數學家中有,在其他學科領域、行業領域也有。

2,研究和驗證各種π的計算方法

我們學校裡只講了祖沖之的割圓術,其實求π的方法很多,因為很多數學公式裡都有π,反過來就是π的計算方法。研究不同的方法,也驗證各種方法。有時,在π的圈子裡還有比賽和競爭,追求哪個方法能更快速計算π,或者更簡單計算π。

3,跑分,考驗計算機的能力

π的計算,是一個純算術的任務,用這個任務可以比較各家公司的超級計算機產品的能力。就像魯大師跑分。

實際上,計算機計算π還是有點技巧的,畢竟計算機內部的位數是有限的,要計算一個有效數字上萬位的實數,已經需要專門做數據的安排了,甚至計算機內存都不夠。於是,這裡涉及到很多計算機能力了。

4,附帶的小應用,如果一個文件加密的密鑰是π呢?

告訴你:“密鑰是π的小數點後12846位至12945位。”這種加密方法是有人用過的。


海螺008


\\pi 還是太naive了。我要是宇宙設計者,我就把信息藏在蔡廷常數里,這才是對人類最大的嘲諷。

蔡廷常數,其含義是找隨機生成一段程序,這段程序不會陷入死循環的概率。可以證明這是一個確定存在的無理數,但是同樣可以證明它是不可以被計算出來的。

實際上,能被計算出來的實數的集合是可數無窮的,所以說不能被計算出來的實數是可以計算出來的實數的無窮多倍。像 \\pi 這種能計算出其中任意一位的實數是少之又少的。

而蔡廷常數屬於不可被計算的實數中特殊的一類數,它不僅不能計算,而且除了知道它小於1大於0以外,就連它在小數點後任意一位,包括第一位,都是可以從理論上證明是無法計算出來的【注:此處不嚴謹,文末有說明】。

但是呢,這個數又被證明是確實存在的一個常數。所以,我,造物主,把宇宙的秘密藏在這個數里面,我明確的告訴你們人類這一點,而你們卻無可奈何。

當然,碰巧我現在心情很好,所以我大發慈悲的告訴你們,我寫在蔡廷常數里面的那句話就是:你們都是蟲子

————————————————————————————————————————

ps: \\pi 是否是正規數,和它是否被編碼了沒有關係啊

\\pi的特殊性:

\\pi 是個特殊的數,不僅在於其是周長與直徑之比,如果這麼定義的話,在一些非歐幾何中,\\pi 都不是常量,現在數學中使用的 \\pi 的定義也已經脫離了其幾何含義,而將其視為微分方程中的一個常量(回想下歐拉的那個上帝公式)

\\pi 編碼的可能性:

\\pi是不是高票答案提到的正規數,和 \\pi是否被特殊編碼了沒有關係,即使知道它是正規數,但是小說中提到的小數點後10^60 位突然出現大段的規律性編碼(假設有的話),絕對是異常中的異常,因為一段長度為1000的異常編碼,其期望出現的位置也應該在10^1000位之後,是窮盡整個宇宙的能量都算不出來的。

(但是!但是!因為 \\pi 是一個純粹數學推理出來的產物,要能對 \\pi編碼,說明造物主能夠任意控制這個世界的邏輯本身!這是多麼難以想象的存在!)

—————————————————————————————————————

更新3:

這是第三次更新,因為看到評論區的留言,發現大家對蔡廷常數比較感興趣,因此趁著端午佳節,來介紹一下為什麼會存在不可計算的實數、蔡廷常數的歷史淵源以及其重要意義。當然,這個內容就是純粹的偏題了,若是你恰好有活動一下腦細胞的閒情雅緻,則不妨慢慢看下去:

在ZFC公理體系下,實數可以分為以下幾類:

存在但是不能被準確描述和定義的

能被準確的描述和定義,但是不能被計算出來的

能被計算出來的

其中第1類的數量是後兩類的無窮多倍。蔡廷常數屬於第2類。 \\pi 屬於第3類。

希爾伯特在聽說上面這個結論的時候,一定會回想起他在1900年向世界所有數學家提出直擊數學家靈魂的希爾伯特23問的那個遙遠的下午。

在工業革命之後,自然科學飛速發展,當物理學家高興的宣佈物理大廈已經建成,除了兩朵烏雲外晴空萬里之時,數學家的世界則愁雲慘淡:那些令人束手無策的難題不僅沒變少,反而越來越多。當此之時,希爾伯特向全世界數學家提出了當時尚未解決但是他認為非常重要的23個問題:

其中第二個問題就是:證明算術公理的自洽性(consistency)。所謂自洽性,即一個公理體系內不應該存在矛盾,即不能存在一個命題,既能被證明又能被證偽。

第十個問題是:找到一個通用的算法,能解決所有的丟番圖問題。

可以看出,雖然面臨許多難題,當時的數學家還是天真的相信,一切的問題都是可以解決的,只是我們目前太弱而已。只要我們足夠努力,在嚴格的定義和推導之下(公理化體系的建立,)我們終將可以提出一個完美的公理體系。而更樂觀的數學家則相信,可以找到一個通用的算法,所有的命題都可以用這個算法來一步步的證明和證偽。

可惜這個美好願景只是海市蜃樓,30年後,哥德爾提出了其不完備性理論打碎了數學家們的美夢:

任何一個複雜到包含了算數公理(即自然數)的公理體系,如果它是自洽的,則必然不是完備的,即必然存在一些命題,在此公理體系內部既不能被證明,又不能被證偽。

任何一個複雜到包含了算數公理(即自然數)的公理體系,其自洽性不能在該公理體系內部證明

同時圖靈也提出了通用的計算模型——現代計算機的理論基礎——圖靈機。圖靈機上有一個很重要的問題是停機問題,因為很多數學定理的證明可以歸約為停機問題。

那什麼是停機問題呢?停機問題是說,是否存在一個算法,對於任意一個給定的程序和輸入,該算法可以判斷這個程序對於這個輸入的運行是否會在有限時間內終止。通俗的說就是,你在電腦上運行一個程序,然後去判斷這個程序會不會陷入死循環永遠停不下來。

假如我們找到了解決停機問題的方法,那麼幾乎所有的數學問題都可以用這個方法求解了。也就是說,這些數學問題都可以歸約到停機問題上。舉個例子,著名的哥德巴赫猜想:任一大於2的偶數都可寫成兩個質數之和。我們可以構造一個程序,這個程序會從小到大的依次對每個偶數去計算它是否可以寫成兩個質數的和,如果不可以,則程序退出,如果可以,則繼續去枚舉下一個偶數。顯然,哥德巴赫猜想成立當且僅當這個程序永遠不會停止。

很可惜的是,圖靈證明了,停機問題是不可計算的。停機問題的不可計算性存在一個很容易看懂的不很嚴謹的版本,在此簡要證明如下(當然你也可以先跳過這個部分,因為雖然簡單,不需要任何專業知識也能看懂,但是運氣不好的話在這裡卡上一個小時也是不出人意料的):

用矛盾法證明:

假設存在一個程序 H(f) 可以對於任何一個程序 f 判斷其能否停機。那麼我可以構造一個 f ,將程序 H 作為程序 f 的子程序調用:

如果H(f)返回的結果是停機:

進入死循環,永遠不停機

否則:

停機

可以看到,此時無論程序 H(f)的返回結果是停機還是不停機,都會導致矛盾。所以不存在能解決停機問題的通用程序。

證畢

如果你跳過了上述證明,你可以從這裡開始看起:

實際上,可以進一步證明,不可計算的問題是可計算問題的無窮多倍。

不過需要特別說明的是,這裡說的不可計算和我們通常理解的不可計算不是一個概念,可以說,這裡討論的不可計算比我們理解的不可計算“更加”不可計算。舉個例子:

我們定義一個自然數X等於哥德巴赫猜想的真值,也就是說,如果哥德巴赫猜想為真,則X等於1,如果為假則X等於0。你可能會認為,如果能證明哥德巴赫猜想屬於上面提到的既不能被證明也不能被證偽的命題,那麼X就是不能被計算的了。這個想法是不對的。這裡討論的可計算性是,存在一個圖靈機(或者說存在一個算法),能輸出X的值,那麼X就是可以計算的。顯然,存在一個可以輸出0的圖靈機,同時存在一個可以輸出1的圖靈機,所以X必定可以被其中1個圖靈機計算,只是我們不知道具體是哪個圖靈機而已。

而我們所要討論的不可計算的實數,則是說,不存在任何一個已知或未知的圖靈機(或者說算法),能輸出它的值。

ok,如果你一路辛勤的閱讀至此,那麼恭喜你,你已經完成了理解蔡廷的常數所需要的鋪墊了,在此基礎上,我們來看一個蔡廷常數的簡單版例子:

首先,我們來把所有程序依次編號為1,2,3,4...,然後我們來定義一個實數X如下:X是一個大於0小於1的實數,用二進制表示,其小數點第i位等於1僅當第i個程序能在有限步內停機,否則等於0。

這也就是說,X的小數點後第i位的數字,對應了第i個停機問題的答案。用柯西序列可以證明這個實數是良定義的。如果我們能計算出X的值,那麼數學的天空就會一片晴朗,因為非常多的數學問題都可以像上述的哥德巴赫猜想問題一樣歸約為某一個停機問題,面臨這樣的問題時,我們只需要查一下X的值就可以找到答案。X這個數字是如此神奇,以至於我懷疑當年Borel提出這個數字時他自己也在懷疑其可計算性吧。當然後來的事情我們都知道了,圖靈證明了不存在一個算法能解決所有停機問題,而能計算出這個數字就等於能解決了所有停機問題,所以可以反證出不存在一個算法能計算出這個數字。

在計算理論裡面,有一個衡量一個數字的信息量的指標叫做Kolmogorove Complexity,其含義是算出這個數字所需要的最短的程序(或者說算法)的長度。很顯然,所有的有理數的信息量都是有限的,所有的代數無理數的信息量也是有限的,而對於超越數來說,存在像 \\pi 這樣的數字,其信息量也是很少的,因為可以用一個很短的程序就可以做到輸出 \\pi 的任意一位。但是,大多數超越數的信息量是無窮,例如上面提到的X。這意味著不存在任何一個有限長的算法可以計算出它的值。

看到這裡,較真的讀者可能會表示懷疑,這個X真的存在嗎?上面的定義真的能準確無誤的定義出一個實數嗎?這個疑問是合理的,比如我用 y^2=-1 來定義的y就不是實數而是複數,或者是,如果我定義y為第一個大於2且不能被寫作兩個質數的和的正整數,這個正整數存在的前提是哥德巴赫猜想為假,如果哥德巴赫猜想為真或不能證明其真假,則這個數字不是良定義的。因此,下面簡要說明一下為什麼上文提到的X是良定義的實數:

首先讀者要有心理準備,無理數之所以是無理數,是因為它看起來的確不講道理,讓人難以理解,因此對此不感興趣的讀者可以直接跳過這一節。ok,廢話不多說,正式開始介紹:

在我們討論實數時,需要對什麼是實數達成共識。實數的定義有很多種,每種都不是那麼直觀,在此我準備用柯西序列(學過高數的人肯定有印象)來構造實數。柯西序列是指這樣一個無窮長的數列,它的元素隨著序數的增加而愈發靠近。更確切地說,在去掉有限個元素後,可以使得餘下的元素中任何兩點間的距離的最大值不超過任意給定的正數。


周揚珏


網上傳言的圓周率己經被電子機算機算到了幾萬億位,十萬億位,乃至二十多萬億位,這並不是權威機構或官方所公佈,並不可信,實際上沒有算到那麼多位,圓周率是個無限不循環的無理數,沒有一個統一計算公式,每加算一位,需要人工編程才能完成。試想,二十多萬億位,人工編程一天哪怕完成一億次(實際上根本就不可能能),也要二十多萬天,二十多萬天,少說也要六百多年!!!!!

有些東西,只要那麼一個或幾個人造謠,就可發展成全網絡與全世界的謠言,因為現在不比過去,網絡遍佈世界各地,只要人的手指在網上隨便點幾下,一下子全世界都知道了,很多假東西也成了真理。

反正,很多言論只要不是對人類社會造成大的危害,將事情吹上天,哪怕說圓周率已經算到了億億位,也沒有誰去探個真假,或去為此事打場官司!😄😄正如有的人說宇宙大爆炸時,溫度高達十後面一百個零的溫度,這個數大得難以去讀了,這有可能嗎?什麼概念?!人類從來沒有捉到過一隻鬼,就說鬼比山還高大!

有些東西,只要深入思考一下,就會知道其結論並不成立。但是,很多東西又比較深奧,例如現在的這個圓周率,甚至是深入思考也難確定其事,這就給假像造就了良好條件,導致很多人相信真的已經算到了二十餘萬億位。

新年快樂!



用戶創維


答:計算圓周率是數學家的興趣,也能檢驗計算機的綜合性能。


圓周率算法

圓周率是數學中最重要的常數之一,現在的計算機可以很輕鬆地計算圓周率數萬億位,在計算機沒有誕生以前,數學家計算圓周率經歷了幾何算法和分析算法,計算效率非常低。

比如圓周率在德國又叫做魯道夫數,原因是十七世紀,德國數學家魯道夫·範·科伊倫,在後半生的10多年時間裡,利用幾何算法把圓周率精確到小數點後35位。


分析算法的出現,大大提高了圓周率的計算效率,比如印度數學家拉馬努金髮現的這兩個公式,可以很容易用手算把圓周率精確到一百多位:

拉馬努金這兩個圓周率公式,收斂速度非常快,比如我們只需要把第二個公式取第一項,就可以得到小數點後的八位精度:

計算機出現後,湧現了大量有利於計算機的算法公式,比如著名的梅欽公式,就是常用計算機算法公式之一。

還有高斯-勒讓德迭代算法,每迭代一次,獲得的圓周率精度就可以翻一倍,收斂速度非常快,迭代25次就可以獲得4500萬位圓周率小數精度,但是對計算機內存要求非常高。


計算圓周率的意義

要說計算圓周率的意義,一來數學家對圓周率都有著特別的愛好,圓周率作為數學中最重要的常數,在圓周率中隱藏了很多數學秘密,數學家也希望通過研究圓周率,來發現其中的秘密。

比如上面,就是十億位圓周率小數中(十進制),出現數字0~9的頻率,隨著數值的增加,十個數字出現的頻率應該趨近於0.1,但是數學家還是希望從中得到不一樣的結果。


二來,圓周率的計算,可以用於檢驗一臺新計算機的性能,因為圓周率計算公式中,每一次迭代的算法步數都是可以確定的,計算機可以通過計算圓周率,來檢驗計算機硬件的性能,比如在某些手機性能測試軟件中,就有計算1000萬位圓周率浮點小數用時。


好啦!我的內容就到這裡,喜歡我們文章的讀者朋友,記得點擊關注我們——艾伯史密斯!


分享到:


相關文章: