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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

乘法最快的算法计算机,人类史上最快乘法算法诞生

發(fā)布時(shí)間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 乘法最快的算法计算机,人类史上最快乘法算法诞生 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

人類用四千年碰到乘法運(yùn)算天花板:史上最快乘法算法誕生

中科院物理所?2019-04-16 12:21:55

圖片:MENGXIN LI/QUANTA MAGAZINE

四千年前,古巴比倫人最先發(fā)明了乘法。而歷史上,數(shù)學(xué)家也在不斷簡(jiǎn)化乘法的步驟,直到上個(gè)月,兩位數(shù)學(xué)家發(fā)表了迄今步驟最簡(jiǎn)潔的乘法運(yùn)算方法。

撰文丨KEVIN HARTNETT

翻譯丨董依明

審校丨楊心舟

上個(gè)月,兩位數(shù)學(xué)家發(fā)表的論文指出,他們發(fā)現(xiàn)了至今大數(shù)字之間計(jì)算速度最快的乘法運(yùn)算。乘法是數(shù)學(xué)中最基本的運(yùn)算方式之一,長(zhǎng)期以來,科學(xué)家都致力于尋找最高效的乘法運(yùn)算方式,該研究成果的出現(xiàn)標(biāo)志著數(shù)學(xué)家在此方面的探索到達(dá)了一個(gè)新的高度。

“大家可能會(huì)覺得,自己在學(xué)校學(xué)到的計(jì)算方法就是最佳的那種,但事實(shí)上,科學(xué)家一直都在繼續(xù)優(yōu)化數(shù)學(xué)運(yùn)算方法,”法國(guó)國(guó)家科學(xué)研究中心的數(shù)學(xué)家Joris van der Hoeven說道,他是論文的共同作者。從計(jì)算圓周率新數(shù)值到尋找大質(zhì)數(shù),許多計(jì)算問題的復(fù)雜性,歸根結(jié)底來說就是乘法的速率問題。Hoeven在描述他們的論文成果時(shí),認(rèn)為乘法運(yùn)算決定著解決其他問題的速度。

“你可以用許多類似光速的物理常數(shù)來描述許多現(xiàn)象,” Hoeven說。 “如果你想知道計(jì)算機(jī)解決某些數(shù)學(xué)問題有多快,那么就需要通過整數(shù)乘法來表達(dá)這些速度。”

傳統(tǒng)的乘法運(yùn)算

我們現(xiàn)在都在使用學(xué)校教授的同一種方式運(yùn)算乘法。首先將兩個(gè)數(shù)字分兩排寫,然后用下面數(shù)字從個(gè)位開始與上面的每一位數(shù)字一一相乘,最后排列好再做加法運(yùn)算。如果你將兩個(gè)兩位數(shù)相乘,則會(huì)出現(xiàn)四次簡(jiǎn)單的乘法運(yùn)算,然后得到得數(shù)。

傳統(tǒng)的乘法運(yùn)算方法

這種方法需要大約n2步完成乘法計(jì)算,其中n是乘數(shù)的位數(shù)。 因此,三位數(shù)字需要9次乘法,而100位數(shù)字需要10000次乘法。因此該方法只適用于位數(shù)少的數(shù)字,但對(duì)于數(shù)百萬或數(shù)十億的數(shù)字就不那么方便了。如果要將兩個(gè)十億位的數(shù)字相乘,則需要進(jìn)行1018次乘法計(jì)算,即使是現(xiàn)代計(jì)算機(jī)不停歇地工作都大約需要30年才能完成。

幾千年來,人們普遍認(rèn)為已經(jīng)不存在更快的乘法運(yùn)算方式。1960年,23歲的俄羅斯數(shù)學(xué)家Anatoly Karatsuba參加了由20世紀(jì)偉大的數(shù)學(xué)家之一柯爾莫果洛夫領(lǐng)導(dǎo)的研討會(huì)。會(huì)上柯爾莫果洛夫斷言,n2是乘法運(yùn)算所需最少的步驟,不存在更快的運(yùn)算方式。但Karatsuba認(rèn)是有更快地乘法運(yùn)算方式的,并且經(jīng)過一周的探索就發(fā)現(xiàn)了它。

Karatsuba算法

Karatsuba的方法嘗試對(duì)數(shù)字的位數(shù)進(jìn)行分解并重新組合,運(yùn)用這種方式時(shí),可以用少量的加法和減法代替大量的乘法。該方法節(jié)省了時(shí)間,因?yàn)橥瓿杉臃ㄓ?jì)算時(shí)僅需2n步,而不是n2步(n同樣代表數(shù)字的位數(shù))。

“如果用加法替代乘法的話,你甚至可以在上學(xué)前就使用這種方法,因?yàn)樗菀?#xff0c;你可以連續(xù)地完成,幾乎像從右到左閱讀數(shù)字一樣快,”賓夕法尼亞州立大學(xué)數(shù)學(xué)家MartinFürer說道,他在2007年創(chuàng)造了當(dāng)時(shí)最快的乘法算法。

處理大數(shù)字時(shí),你可以重復(fù)Karatsuba的過程,將原始數(shù)字拆分成與位數(shù)一樣多的部分。每次拆分,都可以用加法和減法替換掉乘法,這會(huì)節(jié)省很多步驟。Karatsuba的方法可以將乘法運(yùn)算步驟減少至n1.58次。新加坡南威爾士大學(xué)的數(shù)學(xué)家,新論文作者David Harvey說:“把一些乘法轉(zhuǎn)變成加法后,計(jì)算機(jī)會(huì)運(yùn)算得更快。”

大數(shù)相乘下兩種方法的比較

乘法步驟不斷更新

1971年,ArnoldSch?nhage和Volker Strassen發(fā)表了一種能在n×log n×log(log n)個(gè)步驟以內(nèi)完成的大數(shù)乘法。如果是兩個(gè)10億位數(shù)字相乘,和這種新方法相比,Karatsuba的方法大約需要多運(yùn)算165萬億個(gè)步驟。

Sch?nhage和Strassen的大數(shù)乘法,對(duì)未來的研究提供了兩個(gè)長(zhǎng)遠(yuǎn)的影響。 首先,它引入了信號(hào)處理技術(shù)中被稱為快速傅立葉變換的方法,該技術(shù)一直以來都作為快速乘法算法的基礎(chǔ)。

其次,在當(dāng)時(shí)Sch?nhage和Strassen推測(cè)應(yīng)該還會(huì)有一個(gè)更快的算法,一種只需要n×log n單位數(shù)乘法的方法,并且這種算法可能會(huì)是最快的。他們推測(cè),一定存在某種像乘法本身那樣基礎(chǔ)的運(yùn)算,會(huì)比n×log n×log(log n)更簡(jiǎn)潔。

“乘法的基礎(chǔ)性與重要性無需多言,從美學(xué)的角度來說,如此重要的運(yùn)算方法終會(huì)從復(fù)雜走向簡(jiǎn)單”Fürer說。“一般經(jīng)驗(yàn)來看,數(shù)學(xué)運(yùn)算到最后都會(huì)變得簡(jiǎn)潔。”

就這樣,Sch?nhage和Strassen提出的 n×log n×log(log n)方法持續(xù)了36年。2007年,Fürer超越了它并打開了新的大門。而在2007年至今的十幾年中,數(shù)學(xué)家也相繼地發(fā)現(xiàn)了更快的乘法算法,且每個(gè)算法都接近n×log n,但又沒有完全達(dá)到它。終于在上個(gè)月,Harvey和van der Hoeven做到了。

他們的方法總的來說是對(duì)之前工作進(jìn)行了改進(jìn)。包括拆分?jǐn)?shù)字,使用快速傅立葉變換的改進(jìn)版本,并綜合了過去40年各種研究的長(zhǎng)處。“我們更頻繁地使用快速傅里葉變換,不再是只使用一次,并用加法和減法代替更多的乘法,”Hoeven說。

發(fā)現(xiàn)最新乘法運(yùn)算方法研究者之一Hoeven。圖片:éCOLE POLYTECHNIQUE

Harvey和Hoeven的算法證明了乘法可以在n×log n步驟內(nèi)完成運(yùn)算,但這并不代表沒有更快的方法了。目前最具挑戰(zhàn)的就是要確立Hoeven的方法是最快的,2月底,奧爾胡斯大學(xué)的一個(gè)計(jì)算機(jī)科學(xué)家小組發(fā)表了一篇論文,認(rèn)為如果另一個(gè)未經(jīng)證實(shí)的猜想是正確的話,那Hoeven的乘法運(yùn)算最快的方法了。

雖然新算法在理論上取得了突破,但它在實(shí)際應(yīng)用中效果甚微,因?yàn)樗槐戎暗乃惴ㄉ晕⒖煲稽c(diǎn)。 “我們所希望的是,最好的方法運(yùn)算能力應(yīng)該比現(xiàn)在的快三倍,”Hoeven說。

此外,計(jì)算機(jī)硬件的設(shè)計(jì)也發(fā)生了變化。二十年前,計(jì)算機(jī)執(zhí)行加法要比乘法快。但在過去20年中,乘法和加法之間的速度差距已大大縮小,在一些芯片架構(gòu)中,乘法運(yùn)算甚至比加法還要快。對(duì)于一些硬件,“如果你想完成加法計(jì)算,你甚至可以讓它們通過執(zhí)行乘法來完成,這樣說不定還更快。用乘法的運(yùn)算速度來實(shí)現(xiàn)加法,這看起來有些瘋狂瘋。”Harvery說。

硬件會(huì)隨著時(shí)間而改變,但最佳的算法方式卻是永恒的。無論計(jì)算機(jī)會(huì)發(fā)展到什么程度,Harvey和Hoeven的算法將仍然是最有效的乘法算法。

總結(jié)

以上是生活随笔為你收集整理的乘法最快的算法计算机,人类史上最快乘法算法诞生的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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