ALGORITHMS
Here are some algorithms we may consider for our final Top Ten:
-
A* search algorithm
-
AdaBoost (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37,
January 2008)
-
Algebraic eigenvalue solvers
-
Ant colony optimization algorithms (see Marco Dorigo, Gianni Di Caro, Luca Gambardella,
"Ant algorithms for discrete optimization", in "Artificial Life", MIT Press, 1999)
-
Apportionment of congressional districts (see Brian Hayes,
American Scientist, "Machine Politics", November-December 1996)
(See Nick Berry, "Gerrymandering", March 2015).
-
Approximate nearest neighbors for high dimensions (see David Mount,
"ANN Programming Manual")
-
Approximate string matching (see Gonzalo Navarro, "A Guided Tour to
Approximate String Matching", ACM Computing Surveys, Volume 33, Number 1,
pages 31-88, March 2001)
-
the Approximate minimum degree algorithm (reduce nonzeros in
Cholesky factor of a sparse symmetric matrix)
-
Apriori algorithm (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
Aster, (reads a TeX file, including mathematical formulas,
out loud for blind or visually impaired). (see Brian Hayes,
American Scientist, "Speaking of Mathematics", March-April 1996)
-
Auto-colorization of images
-
Auto-Tune (see Sasha Frere Jones, "The Gerbil's Revenge", The New Yorker, 9 June 2008)
-
Automatic essay scoring
-
Automatic software verification
-
B-Tree for decision process
-
Babelfish, now Bing Translator
-
Binary search
-
Bitcoin
-
The Black-Scholes equation
-
Bloom filter (see Burton Bloom, "Space-time tradeoffs in Hash Coding
with Allowable Errors", Communications of the ACM, Volume 13, Number 7, July 1970,
pages 422-426)
-
Blossom algorithm for maximum matching
-
the Bootstrap algorithm
-
Boruvka's parallel MST (minimum spanning tree) algorithm
-
Byzantine fault tolerance (see Kevin Driscoll, Brendan Hall, Hakan Sivencrona,
Phil Zumsteg, "Byzantine Fault Tolerance, from Theory to Reality")
-
C4.5 classifier (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
the Caliper algorithm and convex hulls (see Nick Berry, "Bounding rectangles,
convex hulls, bullet holes and video games", March 2014)
-
Carry lookahead, an algorithm for anticipating carry bits in arithmetic
(Koge-Stone adder, Brent-Kung adder)
-
CART - Classification and Regression Trees (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
CESM, the Community Earth Simulation Model, (see Brian Hayes,
"Clarity in Climate Modeling", American Scientist, November-December 2014)
-
Chess playing programs, such as Deep Blue
-
Compressive sensing
-
Computer-Generated News articles - (see Steve Lohr,
In case you wondered, a real human wrote this column,
The New York Times,
September 10, 2011.)
-
Confidence Intervals from Sampled Data (see Nick Berry, "Confidence levels,
sampling, marbles, and Greek urns", June 2014)
-
Conjugate gradient method
-
Credit card fraud detection
-
CRUSH - Criminal Reduction Utilizing Statistical History
-
Data compression (MP3) (see John MacCormick, "9 Algorithms that Changed the Future")
-
Data stream algorithms (estimate min, max, most common,
distinct elements in huge data stream) (see Brian Hayes,
American Scientist, "The Britney Spears Problem", July-August 2008)
-
Data stream random selection (select one item uniformly at random
from a data stream of unknown length)
(see Nick Berry, "Selecting a random person (fairly) from an unknown
number of applicants", June 2013)
-
Data stream unique count (estimate number of unique values in
a data stream of unknown length)
(see Nick Johnson, "Damn Cool Algorithms: Cardinality Estimation", blog.notdot.net )
-
Database consistency (see John MacCormick, "9 Algorithms that Changed the Future")
-
Datamining (see Nick Berry, "O! Say can you see...Datamining the White House
Visitor book", January 2012)
-
De Bruijn Sequences (see Nick Berry, "De Bruijn Sequences - What does DNA
sequencing and guessing passwords have in common?", October 2013)
-
Decision tree generation
-
Decompositional approach to matrix computation (see G W Stewart,
The Decompositional Approach to Matrix Computation,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 50-59.)
-
Deep learning (see Brian Hayes, "Delving into Deep Learning",
American Scientist, May-June 2014).
-
Depixelization of images (see Nick Berry, "Pixel scalars. How to rescale
bitmap images", December 2013)
-
Diffie-Hellman key exchange algorithm
-
Digital signatures (see John MacCormick, "9 Algorithms that Changed the Future")
-
Dijkstra's shortest path algorithm
-
Discrete Cosine Transform (see Nick Berry, "Discrete Cosine Transforms -
How JPG's work, and fun secret images", November 2012)
-
Distributed hash tables
-
Document analysis (did the same person write all these articles?)
-
Doomsday algorithm for the day of the week given a date (Conway)
-
Driverless vehicles, automatic navigation, Mcity test environment
(see Brian Hayes, American Scientist, "Leave the Driving to It",
September-October 2011)
-
eBooks and electronic publishing
-
EM, expectation maximization algorithm (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
Error correcting codes (see John MacCormick, "9 Algorithms that Changed the Future")
(see A K Dewdney, "The Turing Omnibus: Error correcting codes")
-
Error detecting codes: parity bit, ISBN check digit, Luhn checksum
-
Exponentiation by halving
-
Facebook news feed
-
Facial recognition
-
Fast Fourier transform (see Daniel Rockmore,
The FFT: An Algorithm the Whole Family Can Use,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 60-64.)
(see A K Dewdney, "The Turing Omnibus: Fast Fourier Transform")
-
Fast multipole method (see John Board, Klaus Schulten,
The Fast Multipole Algorithm,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 76-79.)
-
Finite difference methods for wave problems
-
Finite element method
-
Floyd-Warshall algorithm
-
Fortran compiler (see David Padua,
The Fortran I Compiler,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 70-75.)
-
Fourier transform (see Brian Hayes, American Scientist,
"Life Cycles", July-August 2005)
-
Fuzzy logic
-
Genetic algorithms (see Nick Berry, "A practical use for Genetic Programming",
April 2009)
-
GMRES, generalized minimum residual for sparse linear systems
-
Google AdWords
-
Google Search (it finds things for you) (it learns from your choices)
-
Google Translate (photograph a sign in a foreign language, get a translation)
-
GPS, Global Positioning System
(see "How GPS Receivers Work", http://electronics.howstuffworks.com/gadgets/travel/gps.htm )
-
GPU parallel algorithms
-
the Gram-Schmidt algorithm for orthogonal basis
-
Graph algorithms (see Brian Hayes, American Scientist,
"Graph Theory in Practice: Part I and II", January-February 2000,
March-April 2000.
-
The Gray Code (see Nick Berry, "Gray Coded Binary", November 2014)
-
Hash algorithms (see A K Dewdney, "The Turing Omnibus: Storage by Hashing")
-
Heap sort (see A K Dewdney, "The Turing Omnibus: Heaps and Merges")
-
Heuristic algorithms for NP-complete problems
-
Hidden Markov models
-
High frequency stock trading
-
Hilbert Curve Point Indexing (see Nick Johnson, "Damn Cool Algorithms:
Spatial indexing with Quadtrees and Hilbert Curves", 09 November 2009,
blog.notdot.net ) (See Nick Berry, "Hilbert Curves", March 2013)
(see Brian Hayes, "Crinkly Curves", May-June 2013)
-
Hill climbing for optimization
-
The Hubbard model of magnetization, conduction, superconductivity
(see Brian Hayes, American Scientist,
"Hip-Hop Physics", November-December 2009)
-
Huffman compression (see A K Dewdney, "The Turing Omnibus: Text Compression")
-
Inductive inference in machine learning
-
Integer factorization
-
Integer relation detection (see David Bailey, "Integer Relation Detection",
Computing in Science and Engineering, Volume 2, Number 1, January/February 2000, pages 24-28)
-
The Ising model of magnetization (see Brian Hayes, American Scientist,
"The World in a Spin", September-October 2000)
-
Iterative linear algebraic solvers
-
K-means (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
kNN - K nearest neighbors (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
Krylov subspace iteration (see Henk van der Vorst,
Krylov Subspace Iteration,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 32-37.)
-
Lanczos eigenvalue method
-
Linear sketching (compressed sensing, data streams)
(see Andrew McGregor slides)
-
Link analysis for graphs
-
the Luhn check-digit algorithm
-
LZ (Lempel-Ziv) compression
-
Map reduce (see Jeffrey Dean, Sanjay Ghemawat, "MapReduce: Simplified
Data Processing on Large Clusters", research.google.com/archive/mapreduce.html )
-
Markov Chain Monte Carlo (see Nick Berry, "Markov Chains, Monte-Carlo, and
Chutes and Ladders", November 2011)
-
Matrix decomposition approach
-
McCready algorithm to predict hit records
(see "Chris Steiner, "Automate This: How Algorithms Came To Rule Our World")
-
MD5, the Message Digest (a hash function that is still widely used
to provide digital signatures, although it has been known to be
vulnerable to attack for 10 years)
(see Bruce Schneier, "Cryptanalysis of MD5 and SHA: Time for a New Standard",
Computerworld, August 19, 2004,
https://www.schneier.com/essays/archives/2004/08/cryptanalysis_of_md5.html )
-
Merge sort (see A K Dewdney, "The Turing Omnibus: Heaps and Merges")
-
Metropolis Monte Carlo Algorithm (see Isabel Beichl, Francis Sullivan,
The Metropolis Algorithm,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 65-69.)
-
Minimal spanning trees (see A K Dewdney, "The Turing Omnibus: Minimum Spanning Trees")
-
Models of national economies
-
Monte Carlo method (see A K Dewdney, "The Turing Omnibus: Simulation")
-
MPI, a framework for parallel programming
-
Multigrid method for linear equations
-
Multiple precision arithmetic (David Bailey's MPFUN2015 package)
-
N-body problems (see Brian Hayes, "The 100-Billion-Body Problem",
American Scientist, March-April 2015, "A Box of Universe",
American Scientist, January-February 2012)
-
Naive Bayes (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
Nearest neighbors classifier
-
Neural networks (see A K Dewdney, "The Turing Omnibus: Neural Nets")
-
Noisy Signal Analysis (see Nick Berry, "Detecting targets in noisy radar signals",
May 2014)
-
Nonlinear algebraic solvers
-
Nonlinear programming
-
NSA Data Collection (see Brian Hayes, American Scientist,
"Connecting the Dots", September-October 2006)
-
OKCupid date matching
-
OpenMP - a parallel programming environment
-
PageRank - how Google ranks web pages (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
(see John MacCormick, "9 Algorithms that Changed the Future")
(see Cleve Moler, "Experiments in Matlab: Chapter 7, Google PageRank",
https://www.mathworks.com/moler/exm/chapters/pagerank.pdf )
(see David Gleich, "PageRank Beyond the Web", SIAM Review,
Volume 57, Number 3, 2015, pages 321-363.)
-
Pancake sorting - sort a list of numbers, but only by reversing
any initial sublist (see Brian Hayes, American Scientist,
"Sorting out the genome", September-October 2007). (See GRIMM program,
grimm.ucsd.edu/GRIMM/ )
-
Pattern recognition (see John MacCormick, "9 Algorithms that Changed the Future")
-
the Perceptron (see A K Dewdney, "The Turing Omnibus: Perceptrons")
-
the Power Method for a Dominant Eigenvector (works with messy data,
can be applied to a directed graph such as the web, works well with
sparse data, result of one step can be computed incrementally or
with distributed memory)
-
Proportional integral derivative algorithm
-
Proportional navigation (see Nick Berry, "How modern missile guidance
systems work", August 2014)
-
Protein structure prediction (the folding problem) (see Brian Hayes,
American Scientist, "Prototeins", May-June 1998) (see Ken Dill, Justin MacCallum,
"The Protein-Folding Problem, 50 Years On", Science, Volume 338, 23 November 2012,
pages 1042-1047)
-
Public key cryptography (see A K Dewdney, "The Turing Omnibus: Public Key Cryptography")
-
QR ("Quick Response") codes - (see Nick Berry, "QR codes - How do they work,
and how much can you damage them and still have them work?", November 2013)
(see http://science.howstuffworks.com/innovation/repurposed-inventions/2d-barcodes.htm )
-
QR eigenvalue algorithm (see Beresford Parlett,
The QR Algorithm,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 38-42.)
-
Quadtrees (see A K Dewdney, "The Turing Omnibus: Storing Images")
-
Quasi-random number generation (see Brian Hayes, American Scientist,
"Quasirandom Ramblings", July-August 2011)
-
Quick sort (see Joseph Jaja,
A Perspective on Quicksort,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 43-49.)
-
Random number generation (see Brian Hayes, American Scientist,
"The Wheel of Fortune", March-April 1993)
(see A K Dewdney, "The Turing Omnibus: Random Numbers")
-
Recommendation systems, "You May Also Enjoy", NetFlix, Amazon
-
Relational databases
-
the Remez exchange algorithm
(find simple uniform approximations to functions)
-
Ripple carry adder, an algorithm for handling the carry bits in addition
-
Routing algorithms - (Google Map)
-
RSA public key encryption (see Brian Hayes, "The Magic Words are
Squeamish Ossifrage", July-August 1994)
(see John MacCormick, "9 Algorithms that Changed the Future")
-
Sabre (Semi-Automatic Business Research Environment) (Airline reservations)
(see Sara Robinson, "Computer Scientists Find Unexpected Depths in Airfare
Search Problem", SIAM News, Volume 5, Number 6, July/August 2002)
-
Search engine indexing (see John MacCormick, "9 Algorithms that Changed the Future")
-
Search trees (see A K Dewdney, "The Turing Omnibus: Search Trees")
-
Secure Hash Algorithm, (SHA-0, SHA-1, SHA-2, SHA-3)
-
Shamir's password algorithm (see Nick Berry, "How to share secrets securely
(without breaking plates)", November 2012)
-
Shazam song recognition
-
Shor's quantum algorithm
-
Shuffling algorithms (see Nick Berry, "Good and bad shuffling algorithms", November 2014)
-
Simplex method for linear programming (see John Nash,
The (Dantzig) Simplex Method for Linear Programming,
Computing in Science and Engineering,
Volume 2, Number 1, January/February 2000, pages 29-31.)
(see A K Dewdney, "The Turing Omnibus: Linear programming")
-
Simulated annealing
-
Single linkage clustering
-
Soundex
-
Spam detection (see Brian Hayes, American Scientist,
"Spam, Spam, Spam, Lovely Spam", May-June 2003.)
-
Spelling checker
-
SQL
-
Stable marriage algorithm, basis for National Resident Matching Program
(see Alvin Roth, Elliott Peranson,
Design of the matching market for American physicians:
the engineering aspects of economic design,
The American Economic Review,
Volume 89, Number 4, pages 748-780, September 1999.)
-
String searching - find a word or phrase rapidly
(see A K Dewdney, "The Turing Omnibus: Searching Strings")
-
Subset sum (see A K Dewdney, "The Turing Omnibus: The Partition Problem")
-
Subset sum encryption (see Brian Hayes, American Scientist,
"The Easiest Hard Problem", March-April 2002)
-
Support vector machines (see Xindong Wu, "Top 10 algorithms in data mining",
Knowledge and Informations Systems, Volume 14, Number 1, pages 1-37, January 2008)
-
Traffic simulation (see Brian Hayes, "Playing in Traffic", American Scientist,
July-August 2015)
-
Tree algorithms for biology
-
Triangulation using the Delaunay method
-
the Trust Region algorithm for optimization
-
UPC, the Universal Price Code
(see http://electronics.howstuffworks.com/gadgets/high-tech-gadgets/upc.htm )
-
Voice recognition
-
Watson, IBM's program for playing Jeopardy using clever web searches has
developed into an entire operating system for artificial intelligence
handling of big data, called "cognitive computing";
-
Wavelets
-
Whole cell simulation, (Harold Morowitz, Markus Covert)
(see Brian Hayes, "Imitation of Life", American Scientist,
January-February 2013)
-
Zero knowledge protocols
(see Matthew Green,
http://blog.cryptographyengineering.com/2014/11/zero-knowledge-proofs-illustrated-primer.html)
Last revised on 27 September 2015.