Ask AI3: What is algorithm?
Votes: 1 promote
A moment's reflection shows that the above algorithm and presentation work equally well in this case.
Flow chart of an algorithm ( Euclid's algorithm ) for calculating the greatest common divisor ( g. c. d.
The algorithm proceeds by successive subtractions in two loops: IF the test B ≥ A yields " yes " ( or true ) ( more accurately the number b in location B is greater than or equal to the number a in location A ) THEN the algorithm specifies B ← B − A ( meaning the number b − a replaces the old b ).
In mathematics and computer science, an algorithm ( originating from al-Khwārizmī, the famous Persian mathematician Muḥammad ibn Mūsā al-Khwārizmī ) is a step-by-step procedure for calculations.
More precisely, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function.
: For a detailed presentation of the various points of view around the definition of " algorithm " see Algorithm characterizations.
While there is no generally accepted formal definition of " algorithm ," an informal definition could be " a set of rules that precisely defines a sequence of operations.
" For some people, a program is only an algorithm if it stops eventually ; for others, a program is only an algorithm if it stops before a given number of calculation steps.
A prototypical example of an algorithm is Euclid's algorithm to determine the maximum common divisor of two integers ; an example ( there are others ) is described by the flow chart above and as an example in a later section.
" Thus Boolos and Jeffrey are saying that an algorithm implies instructions for a process that " creates " output integers from an arbitrary " input " integer or integers that, in theory, can be chosen from 0 to infinity.
In logic, the time that an algorithm requires to complete cannot be measured, as it is not apparently related with our customary physical dimension.
From such uncertainties, that characterize ongoing work, stems the unavailability of a definition of algorithm that suits both concrete ( in some sense ) and abstract usage of the term.
Thus, an algorithm can be considered to be any sequence of operations that can be simulated by a Turing-complete system.
Gurevich: "... Turing's informal argument in favor of his thesis justifies a stronger thesis: every algorithm can be simulated by a Turing machine ... according to Savage, an algorithm is a computational process defined by a Turing machine ".
Typically, when an algorithm is associated with processing information, data is read from an input source, written to an output device, and / or stored for further processing.
For some such computational process, the algorithm must be rigorously defined: specified in the way it applies in all possible circumstances that could arise.
Because an algorithm is a precise list of precise steps, the order of computation will always be critical to the functioning of the algorithm.