Processing math: 100%

Universal Turing machine

Set

MUTM
MTM2
x,α … bit string
Mα … Turing machine
M. α. x. M[x,α]=Mα[x]

Discussion

Turing showed that there indeed exist such universal Turing machines which are capable of running any other Turing machine M when given in machine code format: We ecode the original Turing machine Mα into a string α itself, i.e.  α   , where α is the so called “machine code” of the machine Mα. Now have another machine M (designed for taking other Turing machines as additional input and copy what they would do) and simulate the machine code together with some normal input for α. Without going into detail, the idea is the following. Remember that a general transition function is of the type:

δ:Q×ΓkQ×Γk×{L,S,R}k

Consider a transition function δ for a Turing machine M we want to simulate:

δ:Q×ΓQ×Γ×{L,S,R}

The art in designing the universal Turing machine M (and in particular δ, which by construction has access to Q and δ) in terms of M. One key is to story Q and δ of M on M's tapes ΓQ,Γδ. Roughly

δ:Q×Γ×ΓQ×ΓδQ×Γ×ΓQ×Γδ×{L,S,R}3

After this 3-tape Turing machine is constructed we can concert is to a 1-tape Turing machine, if necessary.

Such a universal machine can be physically realized via hardware (like a PC, designed for executing δ with 3 Gigahertz) and the machine code might then come from a computer program written by a 6 year old fat girl from Ohio. This video is from a nerd who wanted to build himself a hands on realization of a universal Turing machine.

Theorems

The described process changes the runtime only as O(T(n))O(logT(n)T(n)).

Parents

Subset of

Link to graph
Log In
Improvements of the human condition