一次家庭作業意外搞定40年前的數學猜想 只研究了幾個禮拜
只是完成一次普通家庭作業,就把困擾了數學家們幾十年的猜想搞出了新花樣?!
沒錯,這是來自牛津大學的Thomas Bloom的親身經歷。
在一次閱讀小組的論文分享上,他被要求解讀一篇2003年發表在《數學年刊》上的經典論文。
這篇論文證明了一個與「最古老數學問題」埃及分數有關的猜想。
簡單來說,猜想認為:將大於1的整數任意分成有限個子集,必然有一個子集中的部分整數倒數加起來為1,例如只要有一個子集中有2、3、6,就有1 = 1/2 + 1/3 + 1/6。
這一猜想被命名為Erd?s-Graham猜想。
然而,這版2003年的證明還有很多待解決的疑惑:
Thomas Bloom在解讀論文的過程中,也發現這版證明對子集的要求有點高,很多特殊情況下沒辦法成立。
再仔細一看,他突然發現,這版證明還存在著可以繼續改善的地方!
於是借著這次交作業的機會,Thomas Bloom在這篇論文的基礎上提出了一種「強化版」證明思路,整個過程甚至只用了幾周時間。
就連數論領域著名學者、蒙特利爾大學教授Andrew Granvill都感嘆這種做法的不可思議:此前我只是覺得,這是一個不可能被解決的問題,任何頭腦正常的人都沒法做到。
所以,這一猜想究竟是什麼,Bloom的證明方法又究竟「不可思議」在哪裡?
一個與「最古老數學問題」有關的猜想
在數學裡,任意有理數都可以表示成分數,且分子分母都是整數。
但是在3000多年前的古埃及,他們的分數只有分子為1一種情況,我們現在叫它單位分數。
也就是說,他們的字典里沒有「3/4」這類東西,因為3/4也需要被寫成1/4+1/2。
古埃及的文字里,一隻眼睛下面放一個數字就代表了一個單位分數。
從1到100萬都有相應的圖形。
雖然它和我們現在的數學相去甚遠,但其實所有分數都可以寫成單位分數之和的形式。
因此這種表示方法被稱作古埃及分數。
顯然,1也可以寫成古埃及分數:1 = 1/2 + 1/3 + 1/6。
這個看似簡單的問題經久不衰,1970年代,著名數學家Paul Erd?s和Ronald Graham提出了一個關於古埃及分數的猜想:把正整數劃分成若干個子集,那麼必然有一個子集中存在一組數,可以把1表示成古埃及分數形式。
△從左至右依次為Paul Erd?s和Ronald Graham夫婦
(註:Ronald Graham中文名「葛立恆」,就是提出葛立恆數的那位數學家。)
比如上面的1 = 1/2 + 1/3 + 1/6,某個子集中包含這2、3、6這三個數,就可以做到。
那麼如果很不巧,2、3、6被分配到不同的子集中,還可以把1拆成古埃及分數形式嗎?
其實也是可以的,包含{2、3、12、18、36}一組整數也行:
表示1的方法千千萬,總有符合條件一組數滿足條件。
達特茅斯學院的數論學者Carl Pomerance對此評價道:「這可能是有史以來最古老的問題。」
沒想到的是,這個最古老的問題最近又發出新芽。
來自牛津大學的數學家Thomas Bloom最近不但提出了比Erd?s更厲害的「強化版」,還親自證明了它。
幾周就證明了一個「加強版」
那篇近20年前的論文,由一位名叫Ernie Croot的數學家撰寫,2003年發表在數學領域頂級期刊《數學年刊》上。
他解決Erd?s-Graham問題的「基礎版本」。
把所有整數隨機分配到不同的桶里,至少有一個桶必須包含一組整數,其倒數和等於1。
Bloom仔細閱讀後發現,Croot的方法實際上比最初看起來更強大:「所以我研究了幾周,這個更強大的結果就出來了。」
Bloom給出的結論是,並不需要把整數分成若干個有限集合,只要集合滿足「正密度」的條件,那麼這個集合就存在一組整數倒數和為1。
所謂「正密度」是指某一組整數在全體正整數里所佔的比例,比如偶數的密度是0.5。
假如有一組整數集合記作A,在前n項中不大於n的項記作α,當n趨於無窮大時,α/n極限就是叫做A的自然密度。
而Bloom提出而條件是密度大於零即可,無論這個密度多低(10%、1%、0.0001%甚至更低),這顯然比把整數分成有限份的條件更加苛刻。
嗯,充分說明哪怕是「讀論文」這種科研作業,也要認真一點,說不定讀著讀著靈感就來了(手動狗頭)
作者介紹
Thomas Bloom,目前在牛津大學進行數學方面的研究工作,獲得過英國皇家學會大學研究金,後者專門用於給各領域傑出年輕科學家提供科研資金。
Bloom曾於布里斯託大學獲得博士學位,並在劍橋大學進行過博士後相關工作,本科畢業於牛津大學數學與哲學專業。
在進行這項研究之前,他也曾經和獲得過「數論界最高獎」柯爾獎的牛津大學教授James Maynard合作,完成過一篇關於無方差集的論文。
One More Thing
對於任意有理數,我們都可以用簡單的演算法找到古埃及分數表示。
最常用的便是貪心演算法。
以7/15為例,我們先找到最接近它的單位分數1/3,得到:
7/15 = 1/3 + 2/15
接著尋找最接近剩餘項2/15的單位分數,即1/8。依次類推,直到剩餘項也是單位分數為止。
7/15 = 1/3 + 1/8 + 1/120
怎麼尋找最接近的單位分數呢?將分母除以分子並向上取整即可。
以下是Python版的程式碼:
你能寫出其他語言的版本,或是寫出其他古埃及分數演算法的程式碼嗎?
參考鏈接:
[1]//www.quantamagazine.org/maths-oldest-problem-ever-gets-a-new-answer-20220309/
[2]//twitter.com/thomasfbloom
[3]//www.youtube.com/watch?v=yBtluQoghXA
[4]//www.geeksforgeeks.org/greedy-algorithm-egyptian-fraction/
[5]//en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Graham_problem
[6]//thomasbloom.org/aboutme.html
[7]//annals.math.princeton.edu/2003/157-2/p04