Algorithm algorithm, a finite, well‑defined set of successive operations, each of which is precisely prescribed and can, in principle, be carried out by a human calculator or by a mechanical device, constitutes the fundamental notion upon which the theory of effective computation rests. The term, though long employed in the practice of mathematics and the arts of calculation, acquires a rigorous meaning only when the operations are specified so that the execution of the whole proceeds without ambiguity, terminates after a bounded number of steps, and yields a unique result for each admissible input. In this sense the algorithm may be regarded as the mathematical analogue of a mechanical procedure, a formalisation of the intuitive idea of a method that transforms data into a conclusion. Historical background. The systematic study of procedures dates back to Euclid’s algorithm for the greatest common divisor and to the arithmetic methods of the medieval scholars. In the nineteenth century, the algebraic analysis of equations and the development of the theory of functions gave rise to increasingly intricate processes, yet the absence of a precise language to describe the limits of such processes persisted. The problem of the Entscheidungsproblem, posed by Hilbert and Ackermann, demanded a definition of a method capable of deciding any proposition of first‑order logic. It was in response to this challenge that the present conception of the algorithm was rendered explicit. The formalisation achieved by the introduction of the computing machine, as described in the seminal work on the logical foundations of computation, supplies a concrete model for the execution of an algorithm. The machine consists of an infinite tape divided into discrete cells, a finite set of internal states, and a deterministic rule that, given the current state and the symbol observed, prescribes a new symbol, a movement of the tape, and a transition to a subsequent state. Each such rule may be read as a single elementary instruction; the totality of the rules constitutes the program, that is, the algorithm itself. The essential properties of finiteness of the rule set, discreteness of the tape symbols, and deterministic transition guarantee that the behaviour of the machine is entirely determined by the initial configuration. An algorithm may be classified according to the nature of its output. A decision algorithm yields a binary answer, typically “yes” or “no”, concerning the membership of an input in a prescribed set. A function algorithm produces, for each admissible input, a value in a specified codomain, while an enumeration algorithm generates, in succession, the elements of a set, possibly without termination. The distinction is reflected in the structure of the terminating condition: a decision algorithm halts with an explicit flag, a function algorithm halts with a value written on the tape, and an enumeration algorithm may, by design, continue indefinitely, thereby producing an infinite sequence. The efficiency of an algorithm, though not a property intrinsic to its logical correctness, has long been of practical concern. Early investigations measured efficiency by the number of elementary operations required to reach termination for a given input size. Such a metric, now commonly termed the step count, provides a basis for comparison between alternative procedures for the same problem. The notion of space, understood as the maximal extent of the tape visited during execution, similarly furnishes a measure of resource consumption. In the analysis of algorithms for arithmetic, for example, the Euclidean algorithm is distinguished by a step count that grows at most linearly with the logarithm of the magnitude of the integers involved, a property that renders it superior to naïve division methods. Concrete instances of algorithms illuminate the abstract definition. The Euclidean algorithm, ascribed to Euclid, determines the greatest common divisor of two integers by successive subtraction or division, each step reducing the magnitude of the remainder. The method of long division, the algorithm for solving linear equations by elimination, and the procedure for constructing a continued fraction are further exemplars, each embodying a sequence of elementary transformations whose correctness can be proved by induction upon the number of steps. Such proofs rely upon the finiteness of the procedure and the invariance of certain quantities throughout the execution. The logical significance of algorithms emerged most starkly in the negative solution of the Entscheidungsproblem. By demonstrating that no algorithm can decide, for every formula of first‑order logic, whether the formula is universally valid, a boundary was established for the scope of mechanical reasoning. The proof proceeds by reduction to the halting problem for the computing machine: the existence of a universal decision algorithm would permit the construction of a machine capable of determining, for any other machine and any input, whether the latter halts. A diagonal argument then shows that such a universal halting determiner cannot exist without contradiction. Hence the class of problems amenable to algorithmic solution is proper, and the notion of algorithm acquires a precise demarcation. The conception of algorithmic procedure is not confined to abstract mathematics. In the context of cryptanalysis, the systematic exploitation of regularities in enciphered messages relies upon algorithms to reduce the combinatorial explosion of possible keys. The techniques devised for the deciphering of rotor machines, for instance, employ iterative procedures that test candidate settings against known plaintext fragments, discarding those that fail to satisfy consistency conditions. The successful application of such methods during the war effort provided a practical illustration of the power of algorithmic analysis when coupled with mechanised computation. The design of automatic computing engines, wherein the program is stored in the same medium as the data, further extends the reach of algorithms. By allowing the machine to modify its own instructions, a new class of self‑referential procedures becomes feasible, enabling the systematic generation of successive approximations to solutions of differential equations, the simulation of logical circuits, and the execution of complex data processing tasks. The stored‑program concept, though still in its infancy, suggests that the same hardware may be employed to realise any algorithm, provided an appropriate description of the procedure can be encoded. Beyond the purely technical domain, the algorithmic paradigm invites reflection upon the nature of mind and of biological pattern formation. The hypothesis that mental activity may be represented as the execution of a set of symbolic transformations aligns with the view that cognition is a form of computation. Similarly, the study of morphogenesis, wherein chemical concentrations evolve according to reaction‑diffusion equations, can be approached by discretising the continuous processes into finite, iterative steps, thereby rendering the development of form amenable to algorithmic description. In both cases, the reduction of a complex, continuous phenomenon to a sequence of discrete operations provides a unifying methodological framework. The present understanding of algorithm therefore rests upon three pillars: a precise definition in terms of finite, deterministic instructions; a formal model of execution embodied in the computing machine; and an appreciation of the limits imposed by undecidability. The synthesis of these elements yields a coherent theory that not only clarifies the capabilities of mechanical computation but also delineates its inherent constraints. As the construction of ever more sophisticated machines proceeds, the study of algorithms will continue to supply the essential language for describing, analysing, and ultimately extending the frontier of what may be accomplished by systematic procedure. In conclusion, the algorithm stands as the cornerstone of the mathematical theory of computation, a rigorously defined entity that bridges the abstract realm of logical deduction and the concrete realm of mechanical execution. Its study illuminates the structure of effective methods, reveals the boundaries of decidable problems, and offers a framework within which diverse scientific disciplines may be unified. The continued refinement of algorithmic techniques, together with the advancement of computing machinery, promises to deepen the comprehension of both artificial and natural processes, thereby extending the reach of rational inquiry. [role=marginalia, type=clarification, author="a.spinoza", status="adjunct", year="2026", length="46", targets="entry:algorithm", scope="local"] An algorithm is not merely a sequence of steps, but a determinate mode of the intellect whereby a finite cause yields a unique effect; its certainty rests on the definition of each operation, ensuring that the whole proceeds as a necessary, unambiguous chain of logical deductions. [role=marginalia, type=extension, author="a.dewey", status="adjunct", year="2026", length="41", targets="entry:algorithm", scope="local"] The algorithm is not merely a static prescription; it embodies the dynamic inquiry that characterizes scientific method. Its stepwise form mirrors the experimental cycle of hypothesis, operation, and verification, thereby furnishing a logical scaffold for both pedagogical practice and progressive problem‑solving. [role=marginalia, type=heretic, author="a.weil", status="adjunct", year="2026", length="39", targets="entry:algorithm", scope="local"] The etymology of "algorithm" as derived solely from al-Khwarizmi’s name is contested; some scholars posit a deeper interplay of Roman computational traditions and later Arabic synthesis, suggesting the term’s evolution reflects a more tangled, cross-cultural lineage than often acknowledged. [role=marginalia, type=clarification, author="a.kant", status="adjunct", year="2026", length="49", targets="entry:algorithm", scope="local"] The algorithm’s systematic rule-application reflects reason’s a priori synthesis of intuitions, grounding necessity in the structure of thought. Its historical evolution from al-Khwarizmi’s algebraic methods underscores the interplay between formal logic and empirical calculation, a dialectic Kantian philosophy would frame as the unfolding of pure reason in practical cognition. [role=marginalia, type=objection, author="Reviewer", status="adjunct", year="2026", length="42", targets="entry:algorithm", scope="local"] I remain unconvinced that the historical development of algorithms can be so neatly tied to al-Khwarizmi alone. The evolution of computational thinking predates his work, and the complexity of human cognition, marked by bounded rationality, suggests that the path to algorithms was far more convoluted and diverse than a single mathematical treatise can account for. See Also See "Machine" See "Automaton"