the name applied to abstract, or conceptual, “computing machines” of a certain precisely described type that provide a precise version, suitable for the purposes of mathematical consideration, of the general intuitive idea of an algorithm. The concept of such a machine was formulated in the mid-1930’s by A. M. Turing as a result of his analysis of the actions of a person carrying out certain calculations, that is, successive transformations of complexes of symbols, in accordance with a previously developed plan.
It is convenient to regard a Turing machine as an automatically operating device that is capable of being in a finite number of internal states and is provided with an infinite external memory, a tape. Among the states are two special ones, the initial state and the final state. The tape is divided into squares and is unbounded to the right and to the left. Any symbol included in some previously given list may be written in each square of the tape (for uniformity it is assumed that a blank is written in an empty square). At every moment in time the Turing machine is in one of its states; in this state it scans a square of the tape by means of a special apparatus and reads the symbol written in that square. If the Turing machine is in a nonfinal state at a given moment in time, then at the next moment the machine executes one of the following operations: (1) it changes to a new state, which may be, for example, the final state or the same as the old state; (2) it replaces the old symbol in the square being scanned with a new symbol, which may be, for example, a blank or the same symbol as the old one; and (3) it shifts the tape one square to the left or right or holds the tape in place. Such a step of the Turing machine is completely determined by the machine’s state at a given moment and the symbol being read. A table that contains the full list of possible steps for a given Turing machine is called the program of the machine.
A complete description of a Turing machine at a given moment is given by its configuration, which is a specification of the following information for the given moment: (1) the actual symbols contained in the squares of the tape, (2) the square being read by the machine, and (3) the state of the machine.
If any configuration with a nonfinal state is taken as an initial configuration of a given Turing machine, then the operation of the machine will consist in the sequential step-by-step transformation of the initial configuration in accordance with the machine’s program until a configuration with a final state is attained. The latter configuration, if it exists, is considered the result of the operation of the given Turing machine on the initial configuration.
Strong arguments exist for considering that the concept of a Turing machine supplies an adequate precise formulation of the general concept of an algorithm, that is, that any algorithm can be modeled by a suitable Turing machine. This hypothesis is known in the theory of algorithms as Turing’s thesis. The theory of Turing machines provides a convenient working apparatus for many studies that require a precise definition of an algorithm. In particular, because of the naturalness of the steps executed by Turing machines, the machines have become the object of close attention in the theory of the complexity of algorithmic computations. In the course of the development of the theory of Turing machines, various generalizations of the machines have been considered, for example, Turing machines with a more general type of tape, machines with several tapes, and nondeterministic Turing machines.
N. M. NAGORNYI