Algorithm
In mathematics and computer science, an
algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning. An algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Starting from an initial state and initial input, the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input. Though al-Khwārizmī's
algorism referred to the rules of performing arithmetic using Hindu–Arabic numerals and the systematic solution of linear and quadratic equations, a partial formalization of what would become the modern
algorithm began with attempts to solve the Entscheidungsproblem posed by David Hilbert in 1928.