Turing's various machines
The automatic machine
Originally referred to as the Turing machine by Alonzo Church. By far the most common machine used in computer science education and research.
If at each stage the motion of a machine (in the sense of §1) is completely determined by the configuration, we shall call the machine an "automatic machine" (or a-machine).
The choice machine
Also referred to as the nondeterministic Turing machine. Similar to the automatic machine but with access to an external operator:
For some purposes we might use machines (choice machines or c-machines) whose motion is only partially determined by the configuration (hence the use of the word "possible" in §1). When such a machine reaches one of these ambiguous configurations, it cannot go on until some arbitrary choice has been made by an external operator. This would be the case if we were using machines to deal with axiomatic systems.
Occasionally mentioned in the context of I/O; being external, the operator can also make arbitrary choices about external resources.
An “automatic” machine becomes a “choice” machine as soon as we allow the machine’s tape to be modified by external entities: the tape itself becomes a means of communication. This is essentially what happens in “real” computers (memory-mapped I/O); for example, we can write to the computer’s screen by modifying one particular area of memory, or find out which key was pressed on the computer’s keyboard by reading another.
- Making Uniqueness Typing Less Unique, Edsko de Vries (page 23 of 264).
The oracle machine
A machine with access to an oracle, an entity separate from the machine-directed process of computation, which can be consulted for answers to questions encountered during computation.
The automatic machine is usually the one being augmented. But the choice machine can also be augmented, with this combined machine being referred to as the nondeterministic oracle Turing machine.
Sometimes mentioned in the context of program interactivity:
The original implementations of computing devices were generally offline devices such as calculators or batch processing devices. However, in recent years the implementations have been increasingly online computing devices which can access or interact with some external database or other device. The Turing o-machine is a better model to study them because the Turing a-machine lacks this online capacity.
- Turing-Post Relativized Computability and Interactive Computing, Robert Irving Soare (page 38 of 76).
The unorganized machine
Usually mentioned in the context of AI.
(page 7 of 21)
So far we have been considering machines which are designed for a definite purpose (though the universal machines are in a sense an exception). We might instead consider what happens when we make up a machine in a comparatively unsystematic way from some kind of standard components. We could consider some particular machine of this nature and find out what sort of things it is likely to do. Machines which are largely random in their construction in this way will be called ‘Unorganized Machines’. This does not pretend to be an accurate term. It is conceivable that the same machine might be regarded by one man as organized and by another as unorganized.
- Intelligent Machinery (1968).