Open
Description
There are at least two tasks which we could implement for Turning Machines (automatic machine).
- We could show the definition of a Turning Machine and a user must fill the band.
- We could show a little task and a user needs to define a Turing Machine.
In both cases, we need a GUI editor for Turning Machine definitions and an interpreter for Turning Machine definitions, so that a solution can automatically be checked.
I think a good visualization of an automatic-machine would be the one Turing used on page 234 in his paper 1. We should also use his terminology:
- tape: The tape is one-dimensional and runs through the machine.
- square: The tape is divided into squares. The machine can only operate on one square at a time. Each square can contain a symbol or be empty.
- scanned symbol: This is the symbol, which is on the square, which is currently in the machine (aka. at the read/write head of the machine)
- m-configuration: A m-configuration and the scanned symbol determines in which m-configuration the machine goes into next. This can also reference as the state of the machine.
- m-function: A m-function is a generic m-configuration, which takes parameters to be reusable.
- the configuration: The configuration of the machine is determined by the combination of the scanned symbol and its current m-configuration.
- a-machine: An automatic machine is a machine where each stage of motion is completely determined by the configuration.
- Circular machine: If a machine writes down a finite number of symbols, it is called circular.
- Circle-free machine: If a machine writes down an infinite number of symbols, it is called circle-free.
- Computable: A sequence is computable if it can be computed by a circle-free machine.