Harvey-van der Hoeven- algoritmen är en algoritm för att multiplicera två -bitars heltal med tidskomplexitet i multitape Turing-maskinmodellen . Föreslagit av matematikerna David Harvey från University of New South Wales och Joris van der Hoeven från French National Centre for Scientific Research . Från och med 2020 är det den snabbaste kända algoritmen för att multiplicera tal i denna modell, medan uppskattningen av tidskomplexiteten för multiplikationsalgoritmer verkar vara oförbättrad.
Frågan om förekomsten av snabba algoritmer för att multiplicera heltal upptar en viktig plats i teorin om beräkningskomplexitet . De mest välkända multiplikationsmetoderna, såsom staplad multiplikation, kräver aritmetiska operationer. Denna uppskattning förbättrades först 1960 av Anatoly Karatsuba , som föreslog en algoritm för multiplikation med körtid [1] . 1971 föreslog Schönhage och Strassen en algoritm baserad på den snabba Fouriertransformen över tid [2] . I samma arbete lägger de fram en hypotes att den optimala multiplikationsalgoritmen kräver elementära operationer. Under lång tid förblev dock den övre gränsen som ges av Schönhage och Strassen-algoritmen utan förbättring. Först 2007, 36 år senare, föreslog Martin Fuhrer en algoritm med körtid för en ospecificerad konstant , där är en itererad logaritm [3] . Därefter förbättrade Harvey och van der Hoeven denna uppskattning först till [4] , och sedan till , vilket bekräftade den övre gränsen som lagts fram i antagandet om Schönhage och Strassen [5] . Algoritmen är av stor teoretisk betydelse, eftersom den uppnår en hypotetisk nedre gräns för körtiden för talmultiplikationsalgoritmer i Turing-maskinmodellen med flera band. Praktisk acceleration uppnås dock endast på tal vars binära längd överstiger en bit, medan antalet partiklar i det observerbara universum uppskattas till [6] .
Talteoretiska algoritmer | |
---|---|
Enkelhetstest | |
Hitta primtal | |
Faktorisering | |
Diskret logaritm | |
Hitta GCD | |
Modulo aritmetik | |
Multiplikation och division av tal | |
Beräkna kvadratroten |