日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2名数学家或发现史上最快超大乘法运算法,欲破解困扰人类近半个世纪的问题...

發(fā)布時(shí)間:2024/8/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2名数学家或发现史上最快超大乘法运算法,欲破解困扰人类近半个世纪的问题... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

早在數(shù)千年之前,巴比倫人就已經(jīng)發(fā)明了乘法。而就在上個月,數(shù)學(xué)家們又對這一運(yùn)算方式進(jìn)行了優(yōu)化,使它越來越完美。

?

3?月?18?日,兩位研究人員有可能發(fā)現(xiàn)有史以來最快的計(jì)算兩個超大數(shù)的乘法運(yùn)算方式。這篇論文的誕生,也意味著數(shù)學(xué)界最基本的運(yùn)算方式又有了更新更有效的運(yùn)算過程,有望破解了一個已經(jīng)存在近半個世紀(jì)的數(shù)學(xué)問題。

?

法國國家科學(xué)研究中心數(shù)學(xué)家,這篇論文的共同作者之一?Joris?van?der?Hoeven?說道,“大部分人都以為自己在學(xué)校里面學(xué)到的方法就是最好的方法,但是實(shí)際上在研究界,有關(guān)乘法的計(jì)算方法領(lǐng)域一直是十分活躍的,而且不斷有著新的突破和優(yōu)化。”



圖丨?有史以來最快大數(shù)相乘算法的兩位發(fā)明人,上為法國國家科學(xué)研究中心的數(shù)學(xué)家?Joris?van?der?Hoeven?,下為新南威爾士大學(xué)教授 David Harvey。在計(jì)算超大數(shù)時(shí),下圖中的傳統(tǒng)計(jì)算方法會變得十分吃力(來源:école Polytechnique)


許多數(shù)學(xué)計(jì)算領(lǐng)域的難題,從圓周率的計(jì)算到尋找最新的更大的素?cái)?shù)等等,其運(yùn)算復(fù)雜性最終都將由為基本的乘法的運(yùn)算速度決定。Van der Hoeven 認(rèn)為,許多其他類型的問題理論上可以達(dá)到的最快的被解決的速度極限,最終也都將由乘法的運(yùn)算速度決定。

?

“物理學(xué)中也有一些十分重要的常量,比如光速就是決定許多其他物理現(xiàn)象的基本參數(shù),”Van der Hoeven 說,“如果你想知道計(jì)算機(jī)解決各種數(shù)學(xué)問題的速度有多快,那么整數(shù)乘法的運(yùn)算速度也將是回答這一問題的一個基本參數(shù),描述計(jì)算機(jī)的許多種運(yùn)算的速度都將會用到這個參數(shù)。”

?

大多數(shù)人所學(xué)乘法的運(yùn)算方法都是以下這種方法。將兩個乘數(shù)排成兩行,用下面的乘數(shù)中的每一位數(shù)字分別去乘以上面的乘數(shù)的每一位數(shù)字,然后將所有的相乘結(jié)果相加。比如說,如果是兩個兩位數(shù)的乘法運(yùn)算,你需要進(jìn)行四次兩個一位數(shù)的相乘,然后將這四個相乘的結(jié)果相加。

?

這個我們在小學(xué)就學(xué)過的乘法的算法,即豎式計(jì)算乘法的方法,在進(jìn)行 n 位數(shù)之間的相乘時(shí),需要進(jìn)行大約 n 的平方次個位數(shù)的相乘,這里 n 是每個乘數(shù)的位數(shù)。所以,兩個三位數(shù)的乘法需要進(jìn)行 9 次個位數(shù)的相乘,而如果你要進(jìn)行的是兩個 100 位數(shù)的大數(shù)相乘,就需要 10,000 次個位數(shù)的相乘。


圖丨傳統(tǒng)的豎式計(jì)算方法(來源:互聯(lián)網(wǎng))


上面說到的豎式計(jì)算方法,其實(shí)更適用于位數(shù)少的數(shù)字之間的相乘。當(dāng)我們需要進(jìn)行數(shù)百萬位數(shù)或數(shù)十億位數(shù)的乘數(shù)之間的相乘時(shí),豎式計(jì)算方法就顯得無能為力了,例如計(jì)算圓周率或者尋找更大的質(zhì)數(shù)。


如果要將兩個?10?億位數(shù)的數(shù)字相乘,需要進(jìn)行十億的平方次個位數(shù)的相乘,這個運(yùn)算需要現(xiàn)代計(jì)算機(jī)花費(fèi)大約 30 年的時(shí)間。

?

在過去的數(shù)千年以來,人們都認(rèn)為沒有比豎式計(jì)算方法更快的乘法的算法了。

?

直到 1960 年,一位名叫 Anatoly Karatsuba 的 23 歲的俄羅斯數(shù)學(xué)家參加了由 20 世紀(jì)最偉大的數(shù)學(xué)家之一 Andrey Kolmogorov 領(lǐng)導(dǎo)的研討會。當(dāng)時(shí),Kolmogorov 斷言,沒有一種方法可以以少于 n 的平方次個位數(shù)之間的相乘來完成兩個 n 位數(shù)之間的相乘。但是 Karatsuba 認(rèn)為有;然后僅僅經(jīng)過了一周的探索,他就找到了這種方法。


高能預(yù)警, Karatsuba 提出的算法思路如下 :


計(jì)算25乘以63,?傳統(tǒng)的算法如下需要4次個位數(shù)之間的相乘以及幾次加法,如下:



Karatsuba 算法需要3次個位數(shù)之間的相乘以及幾次加法和減法,如下:


后者看似步驟比較多,但其優(yōu)勢在特大數(shù)相乘時(shí)就顯現(xiàn)出來了,主要體現(xiàn)在節(jié)省個位數(shù)之間相乘的次數(shù)上:當(dāng)乘數(shù)的位數(shù)很多時(shí),可以重復(fù)進(jìn)行 Karatsuba過程,將原來的乘數(shù)拆分成更小的部分。所進(jìn)行的拆分的次數(shù)越多,相比傳統(tǒng)算法,你就節(jié)省了越多次個位數(shù)之間的相乘。


例如,計(jì)算 2531 乘以1467,傳統(tǒng)的算法需要進(jìn)行 16 次個位數(shù)之間的相乘,如下:



而 Karatsuba 算法只需要進(jìn)行 9 次個位數(shù)之間的相乘,如下:


(來源:quanta)


由此也可以看出,Karatsuba?的算法的主要想法是分治算法,也就是將大數(shù)的乘數(shù)分解成更小的部分,并以一種新穎的方式重新組合這些部分,這種方式可以用少量的加法和減法來代替大量的乘法。Karatsuba 算法節(jié)省了時(shí)間,因?yàn)檫@一運(yùn)算僅需 2 的 n 次方次個位數(shù)的相乘,而不是之前的 n 的平方次。


賓夕法尼亞州立大學(xué)數(shù)學(xué)家 Martin Fürer 說道:“另外,比起豎式計(jì)算方法,你可以在學(xué)校里提前一年學(xué)會這種方法,因?yàn)檫@種方法更容易,你可以在線性的時(shí)間內(nèi)快速完成運(yùn)算,這幾乎和從右到往左閱讀數(shù)字一樣快”。Martin Fürer 在 2007 年也創(chuàng)造了當(dāng)時(shí)世界上最快的乘法算法。

?

在處理大數(shù)乘法時(shí),可以重復(fù)進(jìn)行 Karatsuba 過程,將原始數(shù)字拆分為幾乎與數(shù)字的位數(shù)一樣多個部分。通過每一次拆分,你都可以將本需要許多許多次的乘法以需要的運(yùn)算次數(shù)少的加法和減法來替代。


新南威爾士大學(xué)的數(shù)學(xué)家,同時(shí)也是這篇新論文的共同作者之一 David Harvey 說:“Karatsuba?算法可以把一些乘法變成加法,而對于計(jì)算機(jī)來說加法會更快。”

?

使用 Karatsuba 的方法,可以達(dá)到在 n 的 1.58 次方次個位數(shù)的乘法后,完成兩個 n 位數(shù)的乘數(shù)之間的相乘。然后在 1971 年,Arnold Sch?nhage 和 Volker Strassen 發(fā)表了一種能夠以 n×log n×log(log n)次個位數(shù)的相乘來完成大數(shù)相乘方法,其中 log n 是 n 的對數(shù)。而利用 Karatsuba 的方法進(jìn)行兩個 10 億位數(shù)字之間的相乘時(shí),則大約需要 165 萬億個額外的步驟。

?

(來源:此次論文)


Sch?nhage?和?Strassen?的大數(shù)相乘的算法,之后的大數(shù)相乘算法的發(fā)展產(chǎn)生了兩個重要的長期影響。

?

首先,它頭一次在大數(shù)相乘領(lǐng)域?qū)⒁环N來自于信號處理技術(shù)領(lǐng)域的被稱為**快速傅立葉變換的方法引入了該領(lǐng)域。之后的每一次快速乘法算法都以這種方法為基礎(chǔ)。

?

另外一個重要影響是,在同一篇論文中,Sch?nhage 和 Strassen 推測道,應(yīng)該有一個比他們所發(fā)現(xiàn)的算法更快的算法——一種只需要 n×log n 次運(yùn)算的方法,而且這種算法將會是最快的算法。他們的推測主要是基于一種預(yù)感,因?yàn)樗麄冇X得大數(shù)乘法的最少的基本操作次數(shù)應(yīng)該比 n×log n×log(log n)這個公式更優(yōu)雅。

?

“這其實(shí)是一種很普遍的共識,人們都認(rèn)為既然乘法是一個如此重要的基本操作,那么從美學(xué)的角度來看,這樣一個重要的操作需要一個很優(yōu)雅的復(fù)雜性極限的描述公式,”Fürer?說,“從普遍經(jīng)驗(yàn)來看,最最基本的事物的數(shù)學(xué)描述總是十分優(yōu)雅的。”

?

不過,在之后的 36 年里,都沒有人找到比 Sch?nhage 和 Strassen 這個不那么優(yōu)雅的需要 n×log n×log(log n)次基本運(yùn)算的算法更快的大數(shù)乘法的算法。

?


(來源:quanta)

?

直到 2007 年,Fürer 終于打破了這一領(lǐng)域一直沒有進(jìn)展的狀態(tài),而這次發(fā)現(xiàn)仿佛打開了人類這在一領(lǐng)域發(fā)現(xiàn)的閥門一般。在過去的十年中,數(shù)學(xué)家們不斷的相繼發(fā)現(xiàn)更快的乘法算法,而且每種算法都比之前更接近 n×log n,但是卻一直沒有完全達(dá)到它。直到上個月,Harvey 和 van der Hoeven 終于達(dá)到了。


他們的方法是對之前的主要方法的一種改進(jìn)和優(yōu)化。他們的方法也會分割數(shù)字,使用快速傅立葉變換的改進(jìn)版本,而且他們還利用了過去四十年間這一領(lǐng)域其他進(jìn)步的成果。van der Hoeven 說,“只不過我們以更激進(jìn)的方式來使用快速傅里葉變換,我們的方法要進(jìn)行多次快速傅里葉變換而不只是一次,而且也用加法和減法代替更多的乘法。”

?

Harvey 和 van der Hoeven 的算法證明了乘法可以進(jìn)行 n×log n 次基本乘法來完成。但是,他們并不能證明沒有比這種方法更快的算法。要證明這種方法是最好的方法要比發(fā)現(xiàn)這一算法困難得多。2 月底,奧胡斯大學(xué)的一個計(jì)算機(jī)科學(xué)家小組發(fā)表了一篇論文,認(rèn)為如果另一個未經(jīng)證實(shí)的猜想成立的話,這一方法將可以被證實(shí)確實(shí)是乘法的最快的算法。

?

雖然這一新的算法理論上將有著重大意義,但實(shí)際上比起之前的算法,它其實(shí)并沒有進(jìn)行太大的變化,它只比已經(jīng)在被我們使用的算法稍微好一些。

?

“使用這種算法,最好的情況下也只比之前的算法最快三倍,”van der Hoeven 說。“這并沒有比之前快很多。”

?

此外,計(jì)算機(jī)硬件的設(shè)計(jì)也在過去幾年間發(fā)生了許多變化。二十年前,計(jì)算機(jī)執(zhí)行加法要比乘法快很多。但是乘法和加法之間的運(yùn)算速度的差距在過去 20 年中已經(jīng)大大縮小,在某些芯片架構(gòu)中,乘法甚至比加法更快。在使用某些硬件時(shí),“你甚至可以讓計(jì)算機(jī)通過做多次乘法來提高加法的運(yùn)算速度,這在之前簡直的不可想像的,”Harvey 說。

??

不過,硬件隨時(shí)間在不斷發(fā)展,但是對于一種運(yùn)算的最佳算法的尋找卻是是永恒的沒有盡頭的。無論計(jì)算機(jī)在未來會變成怎樣,Harvey 和 van der Hoeven 的算法將一直會是最有效的乘法運(yùn)算方法之一。

圖丨新算法的長圖版(來源:quanta)


參考鏈接:

https://www.quantamagazine.org/mathematicians-discover-the-perfect-way-to-multiply-20190411/?

https://hal.archives-ouvertes.fr/hal-02070778/document

————

編輯?∑Pluto

來源:DeepTech深科技


更多精彩:

?泰勒定理的奇聞軼事

?丘成桐:漫談微分幾何

?Leibniz 如何想出微積分?(一)

?線性相關(guān)和秩的物理意義

?數(shù)學(xué)史上你認(rèn)為最丑陋的公式是什么?

?陶哲軒談什么是好的數(shù)學(xué)

?田淵棟:數(shù)學(xué)的用處(下篇)

?你絕對沒想過原來數(shù)學(xué)家這么流氓,一言不合就進(jìn)行暴力證明

?世界上最牛的五篇博士論文

?數(shù)學(xué)中有哪些巧合讓人眼前一亮?

?算法立功!清華畢業(yè)教授美國被搶車,警察無能為力自己用“貪心算法”找回

?學(xué)術(shù)史上的奇文:怎樣用數(shù)學(xué)抓獅子

?臺大教授的反思:最難的一課 我們卻沒教給學(xué)生

?麻省理工學(xué)院(MIT)研究生學(xué)習(xí)指導(dǎo)—— 怎樣做研究生

?分享 數(shù)學(xué),常識和運(yùn)氣 ——投資大師詹姆斯·西蒙斯2010年在MIT的講座


算法數(shù)學(xué)之美微信公眾號歡迎賜稿

稿件涉及數(shù)學(xué)、物理、算法、計(jì)算機(jī)、編程等相關(guān)領(lǐng)域,經(jīng)采用我們將奉上稿酬。

投稿郵箱:math_alg@163.com

總結(jié)

以上是生活随笔為你收集整理的2名数学家或发现史上最快超大乘法运算法,欲破解困扰人类近半个世纪的问题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。