Algoritmo de Harvey-van der Hoeven

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.

Historia

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] .

Notas

  1. A. Karatsuba, Y. Offman. Multiplicación de números de varios valores en autómatas  // Dokl. Academia de Ciencias de la URSS. - 1962. - 9 de febrero ( vol. 145 , núm. 2 ). - S. 293-294 .
  2. A. Schönhage, V. Strassen. Schnelle Multiplikation großer Zahlen  (alemán)  // Informática. — 1971-09-01. — bd. 7 , H. 3 . — S. 281–292 . — ISSN 1436-5057 . -doi : 10.1007/ BF02242355 .
  3. Martín Furer. Multiplicación de enteros más rápida  (inglés)  // SIAM Journal on Computing. — 2009-01. — vol. 39 , edición. 3 . — pág. 979–1005 . - ISSN 1095-7111 0097-5397, 1095-7111 . -doi : 10.1137/ 070711761 .
  4. David Harvey, Joris van der Hoeven. Multiplicación de enteros más rápida utilizando vectores reticulares cortos  //  The Open Book Series. — 2019-01-28. — vol. 2 , edición. 1 . — pág. 293–310 . — ISSN 2329-9061 2329-907X, 2329-9061 . -doi : 10.2140 / obs.2019.2.293 .
  5. David Harvey, Joris Van Der Hoeven. Multiplicación de enteros en el tiempo O(n log n  ) . — 2019. Archivado el 8 de abril de 2019 en Wayback Machine .
  6. Érica Klarreich. La multiplicación alcanza el límite de velocidad  //  Comunicaciones del ACM. - 2019. - 20 de diciembre. -doi : 10.1145/ 3371387 . Archivado desde el original el 30 de junio de 2020.