El algoritmo de Harvey-van der Hoeven es un algoritmo para multiplicar números enteros de dos bits con complejidad temporal en el modelo de máquina de Turing multicinta . Propuesto por los matemáticos David Harvey de la Universidad de Nueva Gales del Sur y Joris van der Hoeven del Centro Nacional de Investigación Científica de Francia . A partir de 2020, es el algoritmo conocido más rápido para multiplicar números en este modelo, mientras que la estimación de la complejidad temporal de los algoritmos de multiplicación parece inmejorable.
La cuestión de la existencia de algoritmos rápidos para multiplicar números enteros ocupa un lugar importante en la teoría de la complejidad computacional . Los métodos de multiplicación más conocidos, como la multiplicación apilada, requieren operaciones aritméticas. Esta estimación fue mejorada por primera vez en 1960 por Anatoly Karatsuba , quien propuso un algoritmo para la multiplicación con tiempo de ejecución [1] . En 1971, Schönhage y Strassen propusieron un algoritmo basado en la transformada rápida de Fourier en el tiempo [2] . En el mismo trabajo, propusieron la hipótesis de que el algoritmo de multiplicación óptimo requiere operaciones elementales. Sin embargo, durante mucho tiempo la cota superior dada por el algoritmo de Schönhage y Strassen permaneció sin mejoras. Recién en 2007, 36 años después, Martin Fuhrer propuso un algoritmo con tiempo de ejecución para una constante no especificada , donde es un logaritmo iterado [3] . Posteriormente, Harvey y van der Hoeven mejoraron esta estimación primero a [4] y luego a , confirmando así el límite superior propuesto en la conjetura de Schönhage y Strassen [5] . El algoritmo es de gran importancia teórica, ya que logra un límite inferior hipotético para el tiempo de ejecución de los algoritmos de multiplicación de números en el modelo de máquina de Turing multicinta. Sin embargo, la aceleración práctica se logra solo en números cuya longitud binaria excede un poco, mientras que el número de partículas en el universo observable se estima como [6] .
Algoritmos de teoría de números | |
---|---|
Pruebas de simplicidad | |
Encontrar números primos | |
Factorización | |
logaritmo discreto | |
Encontrar MCD | |
Módulo aritmético | |
Multiplicación y división de números. | |
Calcular la raíz cuadrada |