[an error occurred while processing this directive] [an error occurred while processing this directive]  Turing Machines
Rice University
COMP 200
Elements of Computer Science
Fall 2009
Turing Machines

Alan Turing invented an abstract machine called Turing Machine to formalize the intuitive notion of a computation in an attempt to answer the above questions.  A Turing machine can be rigorously defined in terms of mathematical concepts.  However, for the sake of simplicity, we will discuss Turing machine in more concrete terms.

A Turing machine can be viewed as a device with the following features.

Here is a schematic view of the Turing machine.

A Typical Turing Machine                  
                         
      1 a b
0
  a  
 
Input/Output Tape
                         
                read/write head      
                         
                         
          State Transition Rules      
    State     current state current symbol next state next symbol direction      
   
q0
start state q0 a q5 a left      
    q1     q0   q1 b right      
    q2 current state q1 a q2 a        
   
q3
    q1 b q3   left      
   
q4
    q1   q4          
    q5     q2 a q5 b right      
    q6     q2 b q6 0 right      
    final states q2   q6 1 right      
        q3 1 q9 a left      
    q15     etc..              
                       
                       
    qn                    
                         
                         

 

To see how such device can do any computation, it is best to look at an example.

Click here to download the EXCEL spreadsheet containing Turing Machine code.

Links on Turing machines:

http://plato.stanford.edu/entries/turing-machine/

http://en.wikipedia.org/wiki/Turing_machine

 

 


© Dung X. Nguyen

Last revised 12/02/2009 01:45 PM

Maintained by the professor; see contact information on the course home page