In
mathematics,
computing,
linguistics, and related disciplines, an algorithm is a finite list of well-defined instructions for accomplishing some task that, given an initial state, will proceed through a well-defined series of successive states, eventually
terminating in an end-state.The concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common
divisor of two numbers or multiplying two numbers. A partial formalization of the concept began with attempts to solve the
Entscheidungsproblem (the "decision problem") that
David Hilbert posed in 1928. Subsequent formalizations were framed as attempts to define "
effective calculability" (cf Kleene 1943:274) or "effective method" (cf Rosser 1939:225); those formalizations included the Gödel-Herbrand-Kleene
recursive functions of 1930, 1934 and 1935,
Alonzo Church's
lambda calculus of 1936,
Emil Post's "Formulation I" of 1936, and
Alan Turing's
Turing machines of 1936-7 and 1939.
See more at Wikipedia.org...