From: Thomas Walker Lynch
This is the definition of the Turing Machine from Hopcroft and Ullman's book . +
+ + + +Where the components have the following meanings:
+ +I have introduced the qualifier programmed in front of the finite state machine controller because each Turing Machine that accomplishes a different task, has a different finite state machine controller. The rest of the Turing Machine remains fixed. Hence, when the mathematician defines a custom task controller, he is essentially programming the machine.
+ +Here the input alphabet is said to be a subset of a larger alphabet. This allows some symbols to be set aside and only used by the machine. In the architecture description given below, those symbols in the larger set, but not in the input set are called . Hopcroft and Ullman have included the empty symbol as a control symbol. However, the empty symbol is found on tapes. This might make it challenging to write machines that are given descriptions of tape contents as input.
+ +State transitions are gated by the read value from the tape. Each state transition function includes actions to be taken, hence their programmable controller is a Mealy style state controller. The step action is mandatory, though it can be in either direction. The write action must be specified, but the write could be the same symbol that is read, hence it is actually an optional action.
+ +A goal of the computation theorist in defining a Turing Machine is to make the math elegant and simple. In contrast, the goal of the computer architect is to provide a clear path to implementation. Perhaps if a computer architect were to define the computational Turing Machine, it would look more like this:
+ + -- In this interpretation of the Turing Machine, the architecture utilizes a single ended tape, as done in Hopcroft and Ullman's book . If a computation requires a two way infinite tape, the single ended tape machine can emulate it by interleaving the addresses: assigning odd addressed cells to represent the right going half, and even addressed cells to represent the left going half. This emulation requires taking two steps instead of one to advance in a given logical direction. When analyzing the time complexity of an algorithm, this overhead merely doubles the constant on the linear term, leaving the asymptotic order of complexity entirely unchanged. The outcomes of decider programs are unaffected. Therefore, utilizing a single ended tape is an variation of the two way tape machine. + + + +If a computation requires a two way infinite tape, the single ended tape machine can emulate it by interleaving the addresses: assigning odd addressed cells to represent the right going half, and even addressed cells to represent the left going half. This emulation requires taking two steps instead of one to advance in a given logical direction. When analyzing the time complexity of an algorithm, this overhead merely doubles the constant on the linear term, leaving the asymptotic order of complexity entirely unchanged. The outcomes of decider programs are unaffected. Therefore, utilizing a single ended tape is an variation of the two way tape machine.
+ The tape head consists of a reference to exactly one of the tape cells and a set of four functions: , , , and . In addition, the tape head can throw an error, , if the Turing Machine attempts to step left from the leftmost cell. When stepping, the cell reference in the head is updated based on the neighbor properties of the currently referenced cell. The cell referenced by the head is called , or more simply, , or more generally as the . +
+ ++ A person can also say that the head indexes the head cell. This utilizes the classical mechanical definition, where an index is a mark for aligning gears. This physical meaning contrasts with an index integer used for addressing an array. The architectural definition of the Turing Machine developed here relies strictly upon the topological properties of the tape, independent of the definition of Natural Numbers. Addresses, which do rely on Natural Numbers, are discussed further on in this volume. This represents a minor divergence from Alan Turing's original paper, as he took it as a given that numbers naturally paired with the squares. We explicitly establish that pairing only after deriving Natural Numbers using the Turing Machine itself. +
+ + +The customer programmed portion of the programmed control consists of:
@@ -727,14 +790,6 @@The customer programmable components:
-The immutable structural components:
Each highlighted term is a short name for the associated item.
-- The tape head consists of a reference to exactly one of the tape cells and a set of four functions: , , , and . In addition, the tape head can throw an error, , if the Turing Machine attempts to step left from the leftmost cell. When stepping, the cell reference in the head is updated based on the neighbor properties of the currently referenced cell. The cell referenced by the head is called , or more simply, , or more generally as the . -
- -- A person can also say that the head indexes the head cell. This utilizes the classical mechanical definition, where an index is a mark for aligning gears. This physical meaning contrasts with an index integer used for addressing an array. The architectural definition of the Turing Machine developed here relies strictly upon the topological properties of the tape, independent of the definition of Natural Numbers. Addresses, which do rely on Natural Numbers, are discussed further on in this volume. This represents a minor divergence from Alan Turing's original paper, as he took it as a given that numbers naturally paired with the squares. We explicitly establish that pairing only after deriving Natural Numbers using the Turing Machine itself. -