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

羅上林


——提到數學常數“π”,相信大家都不陌生,可能有的學霸還記得約等於3.141592653,雖然3.14就能進行近似計算,但是我們還是沒有放棄對圓周率的研究。

尤其是有了超級計算機之後,更是計算到了小數點以後10萬億位,但是這並不是終點,超級計算機還在沒日沒夜的計算圓周率。

可能有些人覺得這不是吃飽了沒事幹嘛?其實這就是一種學術精神,雖然我們都認為圓周率是無限不循環小數,隨著的“π”值計算不斷髮展,萬一未來有一天它循環了呢?又或者發現它是有限的呢?




TM野指針


π是無理數,這意味著它是一個實數,不能用一個簡單的分數來表示。當我們剛開始學習π時,老師會告訴我們π的近似值是3.14或3.14159。雖然π沒有確切的值,但許多數學家和數學迷都想要把這個數值算的更精確,這是一種興趣。



之前谷歌的一名員工計算π值達到了31萬億位,打破了2016年的記錄22萬億位,這是怎麼計算的呢?這個員工使用了谷歌的雲計算服務,花費了121天,利用了170TB的數據才完成。

除了興趣,還有一些公司非常喜歡計算π值,因為計算π值成為了測試超級計算機能力的一種方法,隨著計算的進行,計算機很難在硬件程序中斷或故障中生存下來。其實這麼多π值是沒有用的,這幾萬億位π值早已超過了人類所需的位數。

在基本數學中,經常用π來求圓的面積和周長,π在建築和建築、量子物理、通信、音樂理論、醫療程序、航空旅行和太空飛行等大多數計算中都會用到。美國宇航局經常使用π來計算航天器的軌跡,舉一個例子,卡西尼號飛船用來完成土星衛星土衛六飛行的機動飛行時都會用到π值,但是也只需要13位左右。而美國宇航局的精密計算也只需要16位π值……計算宇宙也只需要40位。






所以現在計算π值是為了其他方面,和計算已經無關了。


宇宙與科學


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

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

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

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

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

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

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

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

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

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

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

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


海螺008


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

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

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

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

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


火星一號


圓周率的計算機時是很有意義的。 其一,目前各國的很多超級計算機都是通過運算圓周率來檢測他的運力。大家都知道圓周率是一個永不重複的小數。他的存在跟我們的生活有很多微妙的聯繫。打個比方說我們的身份證號碼,每一期的六合彩號碼。銀行卡密碼。這些數字的排列都可以在圓周率裡面找到。圓周率的計算方法是把一個圓分割成無限個三角形來計算它的周長。這樣的計算方法是讓他無限的接近圓周長。到現在為止。圓周率還沒有算盡,就證明人類還無法計算出一個真正圓的周長。其實這是一個很矛盾的問題。一個圓是有他真正的周長的。但目前為止,人類還無法計算出一個圓的真正周長。

試想一下。如果人類有一天能真正的算出圓周率。而這個圓周率是可以算盡的話。而這些又顛覆了人類的認知。我門所有的認知都可能會被顛覆。包括我們的電腦,陽光宇宙都會顛覆所有的認識。以我們現在的認知。光是直線運動的。宇宙是有邊的,既然宇宙有邊為什麼圓周率他算不盡,如果圓周率算盡了,那反倒又證明了沒有真正的直線存在。光也不是循直線運動的。所有的這些本來就是一個互相矛盾的問題。這也是到目前為止,科學家要盡其所有的去計算圓周率的意義所在。


何以解憂唯有暴富168


π是一個數學常數,其最早被定義為圓周長與直徑的比率,因而在中國它被稱為圓周率,而在西方它也被稱為阿基米德常數,而現在π有各種等價的定義,並廣泛出現在數學和物理學的所有領域的眾多公式當中,π的重要性可見一斑。

π的神奇之處

作為一個無理數,π不能被表示為一個普通分數,這句話的意思是,它的數字形式不僅無限而且還不循環。雖然諸可以用有理數的分數來近似π,但π的小數部分是不可預測地無限延伸下去的,學者們認為其數字序列的構成應該是符合隨機分佈的。但也有學者推測π的數字序列可能滿足某種統計隨機性(具有一定的統計學規律,比如某些數字出現的幾率要比其他數字高),但到目前為止,還沒有發現這種證據。而且,π還是超越數,也就是說,它不是具有有理係數的任何多項式的根。π超越性意味著用羅盤和直尺解決“方圓面積問題”的古老挑戰是不可能的(即在有限的步驟內繪出一個與圓面積相同的正方形)。

上圖:一個根號π邊長的正方形(其面積等於一個直徑為1的圓)是尺規無論如何也作不出來的。


π的數位簡史

由於現實需求,包括古代埃及人、巴比倫人、希臘人、印度人和中國人都曾對π的具體數值進行了各種精度的趨近計算。[頭條·小宇堂—未經授權,嚴禁轉載]

  • 在古巴比倫,公元前1900至1600年的粘土片上發現的幾何描述,暗示將π視為25/8=3.125

  • 在古埃及,公元前1650年成書的《林德手卷》(據說是複製自公元前1850年文稿)中記載了一個圓的區域公式,將π視為(16/9)2≈3.1605;

  • 希臘數學家阿基米德於公元前250年左右創造了一種計算算法;

  • 公元前150年的印度將π視為√10≈3.1622;

  • 在公元5世紀中國數學家祖沖之算出圓周率的真值在3.1415926和3.1415927之間,將π推演到了七位數,自此開始到歐洲中世紀末期π的精度再未有提升。


  • 歷史上第一個基於無限級數的精確的π公式直到一千年後才出現,在14世紀的印度,馬德哈-萊布尼茲系列被發現用於計算。
    上圖:萊布尼茲公式(馬德哈採用這種無窮分割方式計算圓周率比萊布尼茲要早2個世紀)


現代人算π的動機

在20世紀和21世紀,在超級計算機與日俱增的計算能力的加持下,數學家和計算機科學家開發出了新的計算π的方法,並將π的趨近值擴展到了小數點後的數萬億個數字。有的研究者瘋狂地計算π的動機是出於尋找更有效的計算冗長的數字序列的算法,或者簡單地就是出於想打破之前記錄的“美(qiang)好(lie)願(ye)望(xin)”。

對於涉及π的大多數數值計算,實際上少數數字就可以提供足夠的精度。有學者的研得出究,三十九個數字足以執行大多數宇宙學計算,因為這是以一個原子的精度計算可觀測宇宙周長所需的準確度。考慮到補償計算四捨五入誤差所需的額外數字,學者們得出結論,幾百位就足以滿足任何科學應用。儘管如此,人們還是竭力計算π到數千和數百萬的數字。這種努力可能部分歸因於人類對刷新和打破記錄的痴迷,因為這種對π計算成果常常成為全世界的頭條新聞。但這些計算工作和成果也有一些實際的好處,例如用於測試超級計算機,測試數值分析算法(包括高精度乘法算法),此外,在純數學研究範圍內,這些成果可以用於評估π數字隨機性的相關數據。

一個彩蛋

上圖:一個π派


小宇堂



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

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



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

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

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


宇宙探索未解之迷


首先,圓周率對於我們普通人來說,在生活中除了數學上很少會用到它。但是對於科學來說,它的用處是有很多的。以下簡單為大家介紹一下,為什麼我們要一直算圓周率呢?

第一,測算計算機的計算性能。這一點也是最為主要的,計算機處理能力越強,計算速度越快,在越短的時間之內計算出的小數點位數越多越精準,這就說明計算機處理數據的能力越強,這臺計算機的大腦也就越強大。當然,即使是超級計算機它內部的位數也是有限的,這時不同的算法對於計算速度也有著極大的影響,優化算法往往能夠收穫奇效,一般來說收斂速度越快的算法計算圓周率的效率也就越高。

第二,對未知的探索。古往今來,π的神秘性吸引了一代又一代的科學家去探索,無數科學家論證過這一問題,也都無數次推演出同樣的結果。這始終是一個數學上的問題,正是因為探索永無止境,所以還是想要計算,直到能夠儘可能地算出它最精確的數值為止。

當然,除了以上兩點,還有很多是科學家們要一直讓計算機計算圓周率的原因,大家還知道哪些呢?


cal仔知道一切


\\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,廢話不多說,正式開始介紹:

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


周揚珏


關於用來驗證無限不循環和機器性能等,前面的幾位已經談過了,不再贅述。

其實,圓周率的精確是有現實意義的。在這裡我想談談混沌系統。

龐加萊對“三體”問題的回答

1900年,法國數學家兼物理學家龐加菜對自從牛頓時代就困擾數學家的所謂“三體問題”或"n體問題”做出了一項重大貢獻。牛頓定律應用於行星運動時是完全確定的,故此也就意味著,如果你知道行星的初始位置和速度,那麼你就可以準確地確定它們在未來(或過去)的位置和速度。問題是,初始測量,不管測量得多麼謹慎,始終達不到無限的精確,總是有微小的誤差。起初人們並不覺得困擾,因為他們認為,只要減小初始測量的誤差,就能減小預測客案的誤差。

龐加菜發現,簡單的天文系統確實存在這樣的規律,即減小初始不確定性總能減少最終預測的不確定性,可一旦天文系統內包含了3個或了個以存在相互作用的軌道星體,情況就不是這樣了。事實上情況恰恰相反!他發現,即使初始測量上只有極微小的差異,隨著時間的推移,也會擴展變大,產生一個非常不同的結果,遠大於數學計算預期的比例。

此類系統(現在稱為混沌系統)對初始條件的極端敏感性叫做“動態不穩定性”或“混沌”,長期數學預測的準確性和隨機預測的準確性相當。這也就是說,混沌系統的問題在於,用物理規律進行精確的長期預測,在理論上安慰.就是不可能實現的。

因此,更為精準的圓周率可能對於一些複雜的計算有著重大意義,而並非只是人類的愛好。而在這個超級計算機大量存在、巨量計算已經不是問題的今天,利用更加精確的計算無疑對大範圍、大尺度時間和空間問題的預測有積極作用。





分享到:


相關文章: