Harvey-van der Hoeven- algoritmen er en algoritme til at multiplicere to - bit-heltal med tidskompleksitet i multitape Turing-maskinemodellen . Foreslået af matematikerne David Harvey fra University of New South Wales og Joris van der Hoeven fra det franske nationale center for videnskabelig forskning . Fra 2020 er det den hurtigste kendte algoritme til at multiplicere tal i denne model, mens estimatet for tidskompleksiteten af multiplikationsalgoritmer ser ud til at være uforbedret.
Spørgsmålet om eksistensen af hurtige algoritmer til multiplikation af heltal indtager en vigtig plads i teorien om beregningsmæssig kompleksitet . De mest kendte multiplikationsmetoder, såsom stablet multiplikation, kræver aritmetiske operationer. Dette skøn blev første gang forbedret i 1960 af Anatoly Karatsuba , som foreslog en algoritme til multiplikation med køretid [1] . I 1971 foreslog Schönhage og Strassen en algoritme baseret på den hurtige Fourier-transformation over tid [2] . I samme arbejde fremsætter de en hypotese om, at den optimale multiplikationsalgoritme kræver elementære operationer. Men i lang tid forblev den øvre grænse givet af Schönhage og Strassen-algoritmen uden forbedring. Først i 2007, 36 år senere, foreslog Martin Fuhrer en algoritme med køretid for en uspecificeret konstant , hvor er en itereret logaritme [3] . Efterfølgende forbedrede Harvey og van der Hoeven dette estimat først til [4] , og derefter til , hvilket bekræftede den øvre grænse, der blev fremsat i Schönhages og Strassens formodning [5] . Algoritmen er af stor teoretisk betydning, da den opnår en hypotetisk nedre grænse for køretiden for talmultiplikationsalgoritmer i multitape Turing-maskinemodellen. Praktisk acceleration opnås dog kun på tal, hvis binære længde overstiger en smule, mens antallet af partikler i det observerbare univers estimeres til [6] .
Talteoretiske algoritmer | |
---|---|
Enkelthedstest | |
At finde primtal | |
Faktorisering |
|
Diskret logaritme | |
Finder GCD | |
Modulo aritmetik | |
Multiplikation og division af tal | |
Beregning af kvadratroden |