0% found this document useful (0 votes)
386 views2 pages

Universal Turing Machine

A universal Turing machine (UTM) can simulate any other Turing machine. A UTM takes in the description of another Turing machine M along with input on its tape. It then simulates M operating on the rest of the tape. This allows a single UTM to perform any computation, rather than needing to construct a new Turing machine for each problem. The document provides background on Turing machines and describes how the author coded a UTM in Scheme to test Turing machines for a class assignment.

Uploaded by

Manoj Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
386 views2 pages

Universal Turing Machine

A universal Turing machine (UTM) can simulate any other Turing machine. A UTM takes in the description of another Turing machine M along with input on its tape. It then simulates M operating on the rest of the tape. This allows a single UTM to perform any computation, rather than needing to construct a new Turing machine for each problem. The document provides background on Turing machines and describes how the author coded a UTM in Scheme to test Turing machines for a class assignment.

Uploaded by

Manoj Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Universal Turing Machine

Manolis Kamvysselis - [email protected] A Turing Machine is the mathematical tool equivalent to a digital computer. It was suggested by the mathematician Turing in the 30s, and has been since then the most widely used model of computation in computability and complexity theory. The model consists of an input output relation that the machine computes. The input is given in binary form on the machine's tape, and the output consists of the contents of the tape when the machine halts. What determines how the contents of the tape change is a finite state machine (or FSM, also called a finite automaton) inside the Turing Machine. The FSM is determined by the number of states it has, and the transitions between them. At every step, the current state and the character read on the tape determine the next state the FSM will be in, the character that the machine will output on the tape (possibly the one read, leaving the contents unchanged), and which direction the head moves in, left or right. The problem with Turing Machines is that a different one must be constructed for every new computation to be performed, for every input output relation. This is why we instroduce the notion of a universal turing machine (UTM), which along with the input on the tape, takes in the description of a machine M. The UTM can go on then to simulate M on the rest of the contents of the input tape. A universal turing machine can thus simulate any other

machine. I learned about Turing Machines the first term of my sophomore year at MIT (Fall 96), in 6.004 (Computational Structures), the best class ever conceived. It was late one

night when I was starting my problem set on writing a turing machine to compute some operation. To test my result, I figured I could code up a Universal Turing Machine in Scheme to help me do my problem set. I could then feed it my description and a sample input, and it would simulate any machine for me. To my surprise within two hours, the program was working, and i could start the rest of my problem set (You can read on, or simplydownload the scheme code).
;;

You might also like