Timeline of algorithms

From Wikipedia, the free encyclopedia

The following timeline of algorithms outlines the development of algorithms (mainly "mathematical recipes") since their inception.

Medieval Period[]

  • Before – writing about "recipes" (on cooking, rituals, agriculture and other themes)
  • c. 1700–2000 BC – Egyptians develop earliest known algorithms for multiplying two numbers
  • c. 1600 BC – Babylonians develop earliest known algorithms for factorization and finding square roots
  • c. 300 BC – Euclid's algorithm
  • c. 200 BC – the Sieve of Eratosthenes
  • 263 AD – Gaussian elimination described by Liu Hui
  • 628 – Chakravala method described by Brahmagupta
  • c. 820 – Al-Khawarizmi described algorithms for solving linear equations and quadratic equations in his Algebra; the word algorithm comes from his name
  • 825 – Al-Khawarizmi described the algorism, algorithms for using the Hindu–Arabic numeral system, in his treatise On the Calculation with Hindu Numerals, which was translated into Latin as Algoritmi de numero Indorum, where "Algoritmi", the translator's rendition of the author's name gave rise to the word algorithm (Latin algorithmus) with a meaning "calculation method"
  • c. 850 – cryptanalysis and frequency analysis algorithms developed by Al-Kindi (Alkindus) in A Manuscript on Deciphering Cryptographic Messages, which contains algorithms on breaking encryptions and ciphers[1]
  • c. 1025 – Ibn al-Haytham (Alhazen), was the first mathematician to derive the formula for the sum of the fourth powers, and in turn, he develops an algorithm for determining the general formula for the sum of any integral powers, which was fundamental to the development of integral calculus[2]
  • c. 1400 – Ahmad al-Qalqashandi gives a list of ciphers in his Subh al-a'sha which include both substitution and transposition, and for the first time, a cipher with multiple substitutions for each plaintext letter; he also gives an exposition on and worked example of cryptanalysis, including the use of tables of letter frequencies and sets of letters which can not occur together in one word

Before 1940[]

1940s[]

1950s[]

1960s[]

1970s[]

1980s[]

1990s[]

2000s[]

  • 2000 – Hyperlink-induced topic search a hyperlink analysis algorithm developed by Jon Kleinberg
  • 2001 – Lempel–Ziv–Markov chain algorithm for compression developed by Igor Pavlov
  • 2001 – Viola–Jones algorithm for real-time face detection was developed by Paul Viola and Michael Jones.
  • 2001 – DHT (Distributed hash table) is invented by multiple people from academia and application systems
  • 2001 – BitTorrent a first fully decentralized peer-to-peer file distribution system is published
  • 2001 – LOBPCG Locally Optimal Block Preconditioned Conjugate Gradient method finding extreme eigenvalues of symmetric eigenvalue problems by Andrew Knyazev
  • 2002 – AKS primality test developed by Manindra Agrawal, Neeraj Kayal and Nitin Saxena
  • 2002 – Girvan–Newman algorithm to detect communities in complex systems
  • 2002 – Packrat parser developed for generating a parser that parses PEG (Parsing expression grammar) in linear time parsing developed by
  • 2009 – Bitcoin a first trust-less decentralized cryptocurrency system is published

2010s[]

  • 2013 – Raft consensus protocol published by and John Ousterhout
  • 2015 – YOLO (“You Only Look Once”) is an effective real-time object recognition algorithm, first described by et al.

References[]

  1. ^ Simon Singh, The Code Book, pp. 14–20
  2. ^ Victor J. Katz (1995). "Ideas of Calculus in Islam and India", Mathematics Magazine 68 (3), pp. 163–174.
  3. ^ Ciliberto, Ciro; Hirzebruch, Friedrich; Miranda, Rick; Teicher, Mina, eds. (2001). Applications of Algebraic Geometry to Coding Theory, Physics and Computation. Dordrecht: Springer Netherlands. ISBN 978-94-010-1011-5.
  4. ^ Francis, J.G.F. (1961). "The QR Transformation, I". The Computer Journal. 4 (3): 265–271. doi:10.1093/comjnl/4.3.265.
  5. ^ Kublanovskaya, Vera N. (1961). "On some algorithms for the solution of the complete eigenvalue problem". USSR Computational Mathematics and Mathematical Physics. 1 (3): 637–657. doi:10.1016/0041-5553(63)90168-X. Also published in: Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki [Journal of Computational Mathematics and Mathematical Physics], 1(4), pages 555–570 (1961).
Retrieved from ""