Cronología de algoritmos

AjustarCompartirImprimirCitar

La siguiente cronología de algoritmos describe el desarrollo de los algoritmos (principalmente "recetas matemáticas") desde sus inicios.

Período medieval

  • Antes – escribiendo sobre "recetas" (sobre cocina, rituales, agricultura y otros temas)
  • c. 1700–2000 BC – Los egipcios desarrollan primeros algoritmos conocidos para multiplicar dos números
  • c. 1600 BC – Los babilonios desarrollan primeros algoritmos conocidos para la factorización y la búsqueda de raíces cuadradas
  • c. 300 BC – algoritmo de Euclid
  • c. 200 A.C. – la Sieve de Eratosthenes
  • 263 dC – Eliminación Gausiana descrita por Liu Hui
  • 628 – Método Chakravala descrito por Brahmagupta
  • c. 820 – Al-Khawarizmi describió algoritmos para resolver ecuaciones lineales y ecuaciones cuadráticas en sus Álgebra; la palabra algoritmo viene de su nombre
  • 825 – Al-Khawarizmi describió el algorismo, algoritmos para usar el sistema de numeral hindú-árabe, en su tratado Sobre la Cálculo con Numerales Hindúes, que se tradujo al latín como Algoritmi de numero Indorum, donde "Algoritmi", la interpretación del traductor del nombre del autor dio lugar a la palabra algoritmo (Latin) algoritmo) con un significado "método de cálculo"
  • c. 850 – algoritmos de análisis de criptanálisis y frecuencia desarrollados por Al-Kindi (Alkindus) en Un manuscrito sobre Mensajes Crípteos Descifrados, que contiene algoritmos para romper encriptaciones y cifrados
  • c. 1025 – Ibn al-Haytham (Alhazen), fue el primer matemático en derivar la fórmula para la suma de las cuartas potencias, y a su vez desarrolla un algoritmo para determinar la fórmula general para la suma de cualquier poder integral, que era fundamental para el desarrollo del cálculo integral
  • c. 1400 – Ahmad al-Qalqashandi da una lista de cifrados en sus Subh al-a'sha que incluyen tanto la sustitución como la transposición, y por primera vez, un cifrado con múltiples sustituciones para cada letra de texto; también da una exposición sobre el criptanálisis y el ejemplo trabajado, incluyendo el uso de tablas de frecuencias de letras y conjuntos de letras que no pueden ocurrir juntos en una palabra

Antes de 1940

  • 1540 – Lodovico Ferrari descubrió un método para encontrar las raíces de un polinomio cuartico
  • 1545 – Gerolamo Cardano publicó el método de Cardano para encontrar las raíces de un polinomio cúbico
  • 1614 – John Napier desarrolla método para realizar cálculos utilizando logaritmos
  • 1671 – Newton–Raphson método desarrollado por Isaac Newton
  • 1690 – Newton–Raphson método desarrollado independientemente por Joseph Raphson
  • 1706 – John Machin desarrolla una serie inversa-tangente rápidamente convergente para π y computes π a 100 lugares decimales
  • 1768 – Leonard Euler publica su método para la integración numérica de las ecuaciones diferenciales ordinarias en el problema 85 de Instituciones calculi integralis
  • 1789 – Jurij Vega mejora la fórmula de Machin y calcula π a 140 lugares decimales,
  • 1805 – algoritmo similar a FFT conocido por Carl Friedrich Gauss
  • 1842 – Ada Lovelace escribe el primer algoritmo para un motor de computación
  • 1903 – Un rápido algoritmo de transformación Fourier presentado por Carle David Tolmé Runge
  • 1918 - Soundex
  • 1926 – algoritmo de Borůvka
  • 1926 – algoritmo de descomposición primaria presentado por Grete Hermann
  • 1927 – método Hartree–Fock desarrollado para simular un sistema cuántico de muchos cuerpos en un estado estacionario.
  • 1934 – Triangulación Delaunay desarrollada por Boris Delaunay
  • 1936 – Máquina de Turing, una máquina abstracta desarrollada por Alan Turing, con otros desarrollados la noción moderna de algoritmo.

Década de 1940

  • 1942 – Un algoritmo de transformación rápido Fourier desarrollado por G.C. Danielson y Cornelius Lanczos
  • 1945 – Merge tipo desarrollado por John von Neumann
  • 1947 – algoritmo simple desarrollado por George Dantzig

Década de 1950

  • 1952 – Codificación Huffman desarrollada por David A. Huffman
  • 1953 – Aniquilamiento simulado introducido por Nicholas Metropolis
  • 1954 – algoritmo de computadora de tipo Radix desarrollado por Harold H. Seward
  • 1964 – Box–Muller se transforma para una rápida generación de números normalmente distribuidos publicados por George Edward Pelham Box y Mervin Edgar Muller. Independientemente predescubierta por Raymond E. A. C. Paley y Norbert Wiener en 1934.
  • 1956 – El algoritmo de Kruskal desarrollado por Joseph Kruskal
  • 1956 – algoritmo Ford-Fulkerson desarrollado y publicado por R. Ford Jr. y D. R. Fulkerson
  • 1957 – El algoritmo de Prim desarrollado por Robert Prim
  • 1957 – Bellman–Ford algoritmo desarrollado por Richard E. Bellman y L. R. Ford, Jr.
  • 1959 – El algoritmo de Dijkstra desarrollado por Edsger Dijkstra
  • 1959 – Shell desarrollado por Donald L. Shell
  • 1959 – El algoritmo de De Casteljau desarrollado por Paul de Casteljau
  • 1959 – algoritmo de factorización QR desarrollado independientemente por John G.F. Francis y Vera Kublanovskaya
  • 1959 – Rabin–Scott powerset construction for becoming NFA into DFA published by Michael O. Rabin and Dana Scott

Década de 1960

  • 1960 – multiplicación de Karatsuba
  • 1961 – CRC (prueba de redundancia cíclica) inventado por W. Wesley Peterson
  • 1962 – Árboles AVL
  • 1962 – Quicksort desarrollado por C. A. R. Hoare
  • 1962 – algoritmo de línea de Bresenham desarrollado por Jack E. Bresenham
  • 1962 – Gale–Shapley 'stable-marriage' algoritmo desarrollado por David Gale y Lloyd Shapley
  • 1964 – Heapsort desarrollado por J. W. J. Williams
  • 1964 – métodos multigridos propuestos por R. P. Fedorenko
  • 1965 – algoritmo Cooley–Tukey redescubierto por James Cooley y John Tukey
  • 1965 – Levenshtein distance developed by Vladimir Levenshtein
  • 1965 – Cocke–Younger–Kasami (CYK) algoritmo desarrollado independientemente por Tadao Kasami
  • 1965 – algoritmo de Buchberger para computar bases Gröbner desarrolladas por Bruno Buchberger
  • 1965 – Los analizadores de LR inventados por Donald Knuth
  • 1966 – algoritmo Dantzig para el camino más corto en un gráfico con bordes negativos
  • 1967 – algoritmo Viterbi propuesto por Andrew Viterbi
  • 1967 – Cocke–Younger–Kasami (CYK) algoritmo desarrollado independientemente por Daniel H. Younger
  • 1968 – algoritmo de búsqueda de gráficos A* descrito por Peter Hart, Nils Nilsson y Bertram Raphael
  • 1968 – algoritmo Risch para la integración indefinida desarrollada por Robert Henry Risch
  • 1969 – algoritmo Strassen para multiplicación de matriz desarrollado por Volker Strassen

Década de 1970

  • 1970 – algoritmo de Dinic para calcular el flujo máximo en una red de flujo por Yefim (Chaim) A. Dinitz
  • 1970 – algoritmo de terminación Knuth-Bendix desarrollado por Donald Knuth y Peter B. Bendix
  • 1970 – Método BFGS de la clase quasi-Newton
  • 1970 – Needleman–Wunsch algoritmo publicado por Saul B. Needleman y Christian D. Wunsch
  • 1972 – algoritmo de Edmonds–Karp publicado por Jack Edmonds y Richard Karp, esencialmente idéntico al algoritmo de Dinic desde 1970
  • 1972 – Graham escaneado desarrollado por Ronald Graham
  • 1972 – Árboles negros rojos y árboles B descubiertos
  • 1973 – algoritmo de cifrado RSA descubierto por Clifford Cocks
  • 1973 – algoritmo de marcha Jarvis desarrollado por R. A. Jarvis
  • 1973 – algoritmo Hopcroft–Karp desarrollado por John Hopcroft y Richard Karp
  • 1974 – El algoritmo p − 1 desarrollado por John Pollard
  • 1974 – Quadtree desarrollado por Raphael Finkel y J.L. Bentley
  • 1975 – algoritmos genéticos popularizados por John Holland
  • 1975 – algoritmo rho de Pollard desarrollado por John Pollard
  • 1975 – algoritmo de emparejamiento de cadena Aho-Corasick desarrollado por Alfred V. Aho y Margaret J. Corasick
  • 1975 – Descomposición algebraica cilíndrica desarrollada por George E. Collins
  • 1976 – algoritmo Salamin–Brent descubierto independientemente por Eugene Salamin y Richard Brent
  • 1976 – algoritmo Knuth-Morris-Pratt desarrollado por Donald Knuth y Vaughan Pratt e independientemente por J. H. Morris
  • 1977 – Boyer–Moore algoritmo de búsqueda de cuerdas para buscar la ocurrencia de una cadena en otra cadena.
  • 1977 – algoritmo de cifrado RSA redescubierto por Ron Rivest, Adi Shamir y Len Adleman
  • 1977 – algoritmo LZ77 desarrollado por Abraham Lempel y Jacob Ziv
  • 1977 – métodos multigridos desarrollados independientemente por Achi Brandt y Wolfgang Hackbusch
  • 1978 – algoritmo LZ78 desarrollado desde LZ77 por Abraham Lempel y Jacob Ziv
  • 1978 – El algoritmo de Bruun propuesto para poderes de dos por Georg Bruun
  • 1979 – El método ellipsoide de Khachiyan desarrollado por Leonid Khachiyan
  • 1979 – algoritmo de árbol de decisión ID3 desarrollado por Ross Quinlan

Década de 1980

  • 1980 – Algoritmo de Brent para detección de ciclos Richard P. Brendt
  • 1981 – Sieve cuadrático desarrollado por Carl Pomerance
  • 1981 – algoritmo Smith–Waterman desarrollado por Temple F. Smith y Michael S. Waterman
  • 1983 – Annealing simulado desarrollado por S. Kirkpatrick, C. D. Gelatt y M. P. Vecchi
  • 1983 – algoritmo de clasificación y regresión (CART) desarrollado por Leo Breiman, et al.
  • 1984 – algoritmo LZW desarrollado desde LZ78 por Terry Welch
  • 1984 – El algoritmo interior de Karmarkar desarrollado por Narendra Karmarkar
  • 1984 - ACORN PRNG descubierto por Roy Wikramaratna y utilizado en privado
  • 1985 – Simulated annealing independently developed by V. Cerny
  • 1985 - Dinámica molecular Car-Parrinello desarrollada por Roberto Car y Michele Parrinello
  • 1985 – árboles de caza descubiertos por Sleator y Tarjan
  • 1986 – Blum Blum Shub propuesto por L. Blum, M. Blum y M. Shub
  • 1986 – Empujar el algoritmo de flujo máximo de Andrew Goldberg y Robert Tarjan
  • 1986 - Barnes – El método Hut Tree desarrollado por Josh Barnes y Piet Hut para una simulación aproximada rápida de problemas n-body
  • 1987 – Método multipole rápido desarrollado por Leslie Greengard y Vladimir Rokhlin
  • 1988 – Sieve especial de campo número desarrollado por John Pollard
  • 1989 - ACORN PRNG publicado por Roy Wikramaratna
  • 1989 – Protocolo de Paxos elaborado por Leslie Lamport
  • 1989 – Lista de Skip descubierta por William Pugh

Década de 1990

  • 1990 – Sieve de campo número general desarrollado por Carl Pomerance, Joe Buhler, Hendrik Lenstra y Leonard Adleman
  • 1990 – Algoritmo Coppersmith–Winograd desarrollado por Don Coppersmith y Shmuel Winograd
  • 1990 – algoritmo BLAST desarrollado por Stephen Altschul, Warren Gish, Webb Miller, Eugene Myers, y David J. Lipman de Institutos Nacionales de Salud
  • 1991 – sincronización libre de espera desarrollada por Maurice Herlihy
  • 1992 – algoritmo de Deutsch–Jozsa propuesto por D. Deutsch y Richard Jozsa
  • 1992 – algoritmo C4.5, descendiente del algoritmo de árbol de decisión ID3, fue desarrollado por Ross Quinlan
  • 1993 – algoritmo de Apriori desarrollado por Rakesh Agrawal y Ramakrishnan Srikant
  • 1993 – algoritmo de Karger para calcular el corte mínimo de un gráfico conectado por David Karger
  • 1994 – algoritmo de Shor desarrollado por Peter Shor
  • 1994 – Burrows–Wheeler transform developed by Michael Burrows and David Wheeler
  • 1994 – Bootstrap aggregating (bagging) desarrollado por Leo Breiman
  • 1995 – El algoritmo AdaBoost, el primer algoritmo práctico de impulso, fue introducido por Yoav Freund y Robert Schapire
  • 1995 – soft-margin support vector machine algoritmo fue publicado por Vladimir Vapnik y Corinna Cortes. Añade una idea suave-margin al algoritmo de 1992 de Boser, Nguyon, Vapnik, y es el algoritmo al que la gente generalmente se refiere cuando dice SVM
  • 1995 – algoritmo de Ukkonen para la construcción de árboles de sufijo
  • 1996 – El algoritmo de Bruun generalizado a tamaños compuestos arbitrarios incluso por H. Murakami
  • 1996 – algoritmo de Grover desarrollado por Lov K. Grover
  • 1996 – RIPEMD-160 desarrollado por Hans Dobbertin, Antoon Bosselaers y Bart Preneel
  • 1997 – Mersenne Twister un pseudo generador de números aleatorios desarrollado por Makoto Matsumoto y Tajuki Nishimura
  • 1998 – PageRank algoritmo fue publicado por Larry Page
  • 1998 – algoritmo rsync desarrollado por Andrew Tridgell
  • 1999 – algoritmo de potenciación gradiente desarrollado por Jerome H. Friedman
  • 1999 – algoritmo de Yarrow diseñado por Bruce Schneier, John Kelsey y Niels Ferguson

Década de 2000

  • 2000 – Búsqueda de temas inducida por Hyperlink un algoritmo de análisis de hipervínculos desarrollado por Jon Kleinberg
  • 2001 – algoritmo de cadena Lempel–Ziv–Markov para compresión desarrollado por Igor Pavlov
  • 2001 – El algoritmo Viola–Jones para la detección de cara en tiempo real fue desarrollado por Paul Viola y Michael Jones.
  • 2001 – DHT (Mesa de precipitación distribuida) es inventada por múltiples personas de los sistemas académicos y de aplicaciones
  • 2001 – BitTorrent se publica un primer sistema totalmente descentralizado de distribución de archivos entre pares
  • 2001 – LOBPCG Bloque localmente óptimo Preacondicionado Método de gradiente conyugal encontrando valores eigencios extremos de problemas eigenvalues simétricos por Andrew Knyazev
  • 2002 – Prueba de primalidad AKS desarrollada por Manindra Agrawal, Neeraj Kayal y Nitin Saxena
  • 2002 – algoritmo de Girvan–Newman para detectar comunidades en sistemas complejos
  • 2002 – Packrat parser desarrollado para generar un parser que pare PEG (gramática de expresión de pago) en tiempo lineal analizado desarrollado por Bryan Ford
  • 2009 – Bitcoin se publica un primer sistema de criptomoneda descentralizado sin confianza

Década de 2010

  • 2013 – Protocolo de consenso de Raft publicado por Diego Ongaro y John Ousterhout
  • 2015 – YOLO (“You Only Look Once”) es un algoritmo eficaz de reconocimiento de objetos en tiempo real, descrito por Joseph Redmon et al.

Contenido relacionado

Adaptación cromática

La adaptación cromática es la capacidad del sistema visual humano de adaptarse a los cambios de iluminación para preservar la apariencia de los colores de...

Corvus (dispositivo de embarque)

El corvus era un dispositivo de abordaje naval romano utilizado en el mar. Batallas contra Cartago durante la Primera Guerra...

Bazuca

Bazooka es el nombre común de un arma lanzacohetes antitanque sin retroceso portátil, ampliamente desplegada por el ejército de los Estados Unidos...
Más resultados...
Tamaño del texto: