谷歌造出拉馬努金機:幾毫秒求解數學常數,無需任何先驗信息

2020-12-05 量子位

馭洋 曉查 發自 凹非寺量子位 出品 | 公眾號 QbitAI

3.1415926……

π和e這樣的基本常數在科學領域中無處不在,但計算它們的高精度近似值往往令人頭大。如今,機器學習或許能幫上大忙。

能算近似值,還能在數學計算中快速找出精準規律,機器學習表示 I can I up。

這就是以色列理工學院和谷歌一起開發的拉馬努金機器(Ramanujan Machine)。

拉馬努金,這位英年早逝的天才數學家,總能發現一些讓世人驚嘆的數學公式。由他發現的圓周率π的計算公式,只需計算第一項就能突破普通計算器的最高精度。

拉馬努金機器也有類似的奇效。面對各種奇怪複雜的數學常數,只要找出它的連分數表示,只需計算十幾步、幾毫秒就能快速收斂,得到精準答案。而且算法已經開源!

然而讓拉馬努金玩出花來的連分數可不是簡簡單單就能被找出來的,幾個世紀以來,與基本常數相關的新數學公式十分少見,畢竟奠基人是歐拉、高斯這樣堪稱「變態」的天才,想要繼承他們的事業,不僅要有豐富的知識積累,還要有敏銳的數學直覺。

而機器學習卻表示,無需先驗信息,我也能快速get新公式。

什麼是連分數

優美的歐拉公式將e和π兩個數學常數聯繫起來,但你知道這兩個無理數是怎麼算出來的嗎?

你可以用泰勒展開的方法計算:

實際上還有另一種計算方法,那就是連分數,它的分母無限延伸下去,結果就會越來越接近:

黃金分割比φ=0.618……有著幾乎最簡單的連分數形式,一組全是1表示的數:

其他的數學嘗試,包括自然對數的底e、圓周率π,還有黎曼猜想中黎曼Zeta函數ζ(3)的值。都可以用連分數來表示。

任意實數都可以用連分數來表示。

連分數有何用

你如果認為連分數是數學家們的奇技淫巧,那就大錯特錯了,發現連分數的某個表達式有著實際的用途。

各種數學常數的連分數是存在卻不是唯一的,如果找到一個合適的連分數,那麼計算結果的收斂速度會非常快,大大減少計算機的運算量。

但是找到連分數裡一組特殊的數卻並不是一件容易的事情,否則這套算法也不會叫做拉馬努金機器了。

△ 拉馬努金髮現的連分數,φ是黃金分割比

發現連分數裡那些特殊整數的規律,需要有長年數學知識的積累,更要有易於常人的直覺。

現在有了拉馬努金機器,可以用電腦代替人的思維去尋找特殊的連分數了。

有Reddit網友把拉馬努金機器找到的公式寫成Python代碼,各算了一遍e和π,分別用了15步和18步的迭代,就能達到float 64的精度,也就是小數點後15位。

拉馬努金機器不僅能算數學常數,如李維常數、辛欽常數,還能計算一些物理常數,如天文學計算中的拉普拉斯極限等等。

作者下一步的目標用它來做數學證明,發現數學常數的固有屬性。比如e和π,我們都已經能證明他們是無理數而且是超越數,其他常數是不是無理數呢?以後或許可以用計算機來證明了。

算法介紹

論文當中提到了兩種算法。

第一種是中間相遇法(The Meet-In-The Middle)。這個算法的思路非常簡單:

給定一個常數c(如 c=π),根據公式:

f1(x)=x,f2(x)=1/x ,……;GCF(α,β)代表 an=α(n),bn=β(n)的連分數;α,β,γ,δ為整數多項式。

先計算出公式右邊一個精度較低的值,並將其存入哈希表,然後通過枚舉的方法來使公式左右兩邊的值相匹配,匹配上的值稱為「hits」,隨後增加hits的精度並重新比較,重複這個過程直到hits達到指定精度。這個最終的結果就提供了一個新的連分數。

有些hits值會產生誤報,針對這一點,研究人員提出通過計算任意精度的有理函數來減少誤報。

在這個算法當中,由於公式右邊的計算成本更高,所以將它的值以哈希表來存儲,以空間換時間。這個哈希表也可以保存下來重新服務於公式左邊的枚舉,從而大大減少未來的枚舉時間。

MITM-RF算法不需要任何關於基本常數的先驗信息,不過有許多基本常數的結構是可以推斷出來的,以此作為MITM-RF的先驗信息可以有效降低空間複雜度和計算複雜度。

不過,MITM-RF方法還是存在擴展性不佳的問題,於是研究者使用到了機器學習當中常用的梯度下降方法,他們稱其為Descent&Repel方法

我們可以把優化問題描述成這個樣子:

這裡的最小值不是零維度點,而是(d-1)維的流形,其中d是給定的單一約束所預期的優化變量的數量。

研究者還觀察到所有的最小值都是全局的,並且它們的誤差為0,也就是說所有的梯度下降過程最後都會得到L=0的解。

這個優化問題起始於一個大的點的集合,在示例當中,所有初始條件被放置在一條線上。對每一個點迭代執行梯度下降,然後強制所有的點通過庫侖排斥彼此排斥。通過梯度下降步驟保證算法朝向整數格並趨向最小曲線,最後僅返回位於整數格上的解。

網友的質疑

有Reddit網友認為,連分數通過等效變換可以獲得無限多種組合這篇論文不是機器學習,它只是一種自動化查找新表達式的算法。

網友雖然反對將作者的結果稱為機器學習,但它仍然是一種吸引人的算法,最有趣的是使用梯度下降優化整數分數,以前從未見過有人這麼用過,因此是有創新性的。

對此,作者表示,是不是機器學習取決於你如何定義,文章中尋找新數學公式的算法是基於梯度下降的模型,因此可以看做是機器學習,今後他還將展示更直接地利用機器學習的其他結果。

至於發現新的連分數表達式,已經有前人的研究成果可供查詢,而作者用拉馬努金機器發現的很多結果已經被人類手工發現了。況且只要掌握了連分數的知識,就能發現各種表達式變體。

但這不正是拉馬努金機器的魅力所在嗎?如果你沒有過人的數學頭腦,就把特殊技巧交給計算機來做吧!

傳送門

論文地址:Arxiv號碼是1907.00205

原始碼:作者是AnonGit90210,項目名是RamanujanMachine

連分數查詢:oeis點org斜槓A003417

相關焦點

  • 厲害了,拉馬努金機:用算法發現新數學!
    除了那些實實在在的數學定理之外,他的思想也給許多後世的科學家帶去了啟示。在拉馬努金提出的定理中,經常涉及到連分數的概念,它會將一個數表示成為無限的嵌套分數和。以色列理工學院的數學家Gal Raayoni和他的同事受到拉馬努金的啟發,利用這種思路發明了一種新穎、系統的方法,並將它取名為拉馬努金機。這是一種電腦程式,它可以利用算法推導出基本常數的新的數學公式,並揭示其基本結構。
  • 最有效的求解方法:三行代碼搞定任何線性方程
    圖源:unsplash在三行函數中解決任何線性方程式的技巧,甚至可以在兩行代碼中重寫,不想了解一下嘛?據筆者所知,這是解決Python中線性方程的最有效方法。二元方程需要求解多個線性方程(方程組)。線性方程式由三個主要部分組成:常數,變量和乘數。不管是幾元方程還是運算的組合(加,減,乘和除),在括號範圍內都是有效的。只要遵守線性方程的這些定義,就可以通過函數解決。接下來逐步分解該函數,用以下線性方程式的演示為例。將第一行中等式右側的整個表達式移到左側,將等式轉換為要求值的表達式。
  • 數理統計思維導圖(一)——共軛先驗分布,用「核」求解又快又好
    當然,除了像剛剛的靈活運用不同的定理快速解題之外,應統筆記也給大家準備了一些其他的知識點補充——貝葉斯估計中的共軛先驗分布的「核」求解又快又好。一般求解後驗分布的步驟如下:    1、寫出待估參數γ的先驗分布(上帝做的事,題幹會給出)    2、在γ=γ0時X=(x1,x2,.
  • 印度數學界最恐怖的存在,大學畢不了業,卻自創上百數學公式定理
    今年5月份,谷歌攜手以色列理工學院數學家Gal Raayoni發布了一款數學機器——拉馬努金機,旨在用一種新穎、系統的方法去尋找新的數學公式。 這讓超模君聯想到了一位英年早逝的印度天才數學家——拉馬努金!
  • LabVIEW編程實例:如何求解自然常數e
    實例說明自然常數e,是數學中最重要的常數之一,是一個無限不循環小數,也是自然對數函數的底數,其值約為2.71828。它的一個經典的數學定義公式是:使用計算機計算e的值時,可以使用下面的公式近似計算:那麼在LabVIEW中如何編程實現求解這個公式即e的值呢?編程思路從上面的近似公式可以看出,e的值與n的階乘有關,可將上式分解為兩個步驟:求解n的階乘:n!=1×2×3×......
  • 批量生產數學猜想,這樣的自動算法學會了探索基本常數
    近日,以色列理工學院和谷歌的研究者公布了自己的一項工作,並將其稱之為「拉姆努金機器」,表示他們可以用算法批量生產數學猜想……e、π等基本常數普遍存在於物理、生物、化學、幾何學、抽象數學等各個學科,在這些學科中發揮輔助性作用。然而,幾個世紀以來,有關基本常數的新數學公式很少,通常是通過數學直覺或獨創性偶然發現的。
  • 數學技巧||一元三次方程求解,含分數解!
    這幾天工作之餘,又想到了一種處理方法去求解一元三次方程的根是分數解如何去求解(更高次也適合)的方法。【十字交叉法】數學技巧||雙十字法巧解一元三次方程【湊根法】數學技巧||一元三次方程無一次項如何解【平方差】!
  • 數學常數e
    自然常數e和圓周率π、黃金分割數φ一起被稱為「三大數學常數」。e作為重要數學常數之一,常出現於數學和物理學之中。
  • 數學常數e的含義
  • 谷歌做到了,毫秒級反應速度,140萬公里海纜有望...
    最重要的的是,採用光纜探測傳遞地震信號,反應時間降低至毫秒級。 毫秒級的地震預警如何實現 2020年1月28日,谷歌的研究人員使用海底光纜,在牙買加附近檢測到一次7.7級地震。震中距離谷歌用來檢測的光纜1500公裡。 在此之後的幾個月,研究人員又檢測到了多次發生在世界各地的地震情況。地震烈度從4-6級都能準確檢測。
  • 求解數學算法高斯玻色取樣只需200秒!我國量子計算機算力全球領先
    12月4日,中國科學技術大學宣布該校潘建偉等人成功構建76個光子的量子計算原型機「九章」,求解數學算法高斯玻色取樣只需200秒,而目前世界最快的超級計算機要用6億年。這一突破使我國成為全球第二個實現「量子優越性」的國家。  「量子優越性像個門檻,是指當新生的量子計算原型機,在某個問題上的計算能力超過了最強的傳統計算機,就證明其未來有多方超越的可能。」
  • 高中數學易錯點、重難點系列之:7個方法讓你輕鬆求解函數值域
    函數值域專題大家好,我是青蒿數學宋老師,今天分享的內容是關於必修一函數三要素之——值域的求解方法。函數求值域算是高中數學最重要的內容了,其求解方法也是多種多樣,從高一到高三都在不斷接觸新的求解方法,雜七雜八的下來有十幾種方法,要是能熟練掌握,高中數學應該也掌握得差不多啦,但是考慮到篇幅所限以及高一同學的接受,今天宋老師就教你如何輕鬆理解並掌握函數值域的七種常見的求解方法。
  • 常數變易法求解非齊次常微分方程
    利用常數變易法求解一個二階線性變係數非齊次微分方程。usepackage{amsmath} % improve math presentation\usepackage{mathtools} \usepackage{mathabx}%直立積分號\usepackage[left=1.25in,right=1.25in,top=0.5in,bottom=1in]{geometry}%頁面設置\begin{document} \title{\lishu 常數變易法
  • 「句子級」的深度強化學習方法難以求解器空間
    backpropagation和progressivegradientxpress(引入hinton先驗,更多方法變為基於歷史記錄的scheme)都是深度學習起步之初的主流方法,除此之外還有包括reinforcementlearning和proximalandadaptiverl等重要進展。但是深度學習從起步到發展至今,說的上的諸多進展似乎都停留在rl的範疇。
  • 谷歌大腦提出AutoML-Zero,只會數學運算就能找到AI算法|開源
    接著谷歌又推出了AlphaGo Zero,只讓AI知道圍棋規則,從零開始學下棋,結果再次登上棋藝頂峰。AI既然能從零學習圍棋,是否可以從零開始摸索機器學習算法?當然可以,谷歌大腦團隊最新的研究成果已經做到了。谷歌將這種技術稱之為AutoML-Zero,意為「從零開始的自動機器學習」,已經在GitHub開源,並在Arxiv上提交了論文。
  • 神經網絡還能求解高級數學方程?
    通過開發一種將複雜數學表達式表示為一種語言的新方法,然後將解決方案視為序列到序列的神經網絡的翻譯問題,我們構建了一個在解決積分問題以及一階和二階微分方程方面都優於傳統計算系統的系統。以前,這類問題被認為是深度學習模型所無法企及的,因為求解複雜方程需要精度而不是近似值。
  • 波動方程 熱傳導方程 求解方法
    這兩天,得到了一個11月28號那天考的全國大學生數學競賽(CMC賽)的令人振奮的消息(雖然沒有一等獎,但能得二等獎已經出乎我的預料了)以後還要繼續加油
  • 2018中考數學知識點:一元二次方程求解方法
    下面是《2018中考數學知識點:一元二次方程求解方法》,僅供參考!   一元二次方程求解方法     1、直接開平方法     利用平方根的定義直接開平方求一元二次方程的解的方法叫做直接開平方法。直接開平方法適用於解形如(x+a)2=b的一元二次方程。
  • 張瑞臣:胡塞爾先驗自我的絕對性問題
    根據胡塞爾的理論,我們固然可以說,先驗自我構造世界,但是,這種構造僅僅是一種意義上的構造,世界也僅僅是一種意義構成的產物。這種意義構成完全不同於本體的構成。也就是說,只有從意義構造的角度看,先驗自我才是真正絕對的。  在意義構造的過程中,先驗自我是絕對的自在自為的,它無需依賴於任何的他者。 「因此,作為自我,我首先在我之內和為我自己而絕對的活著。」
  • 科學網—帶自由邊界歐拉方程的幾何分析與先驗估計
    《純數學與應用數學通訊》2008年61卷5期 帶自由邊界歐拉方程的幾何分析與先驗估計