Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
3 Turing Machines We once again wish to generalize the languages we can analyse. Rather than starting on
 

Summary: 3 Turing Machines
We once again wish to generalize the languages we can analyse. Rather than starting on
the syntactic side we look at more powerful automata, namely Turing machines. These
have read/write memory which allows them to access items in an arbitrary order. With
these machines there is a distinction to be made between languages which are recognized
(accepted) and those which are decided. We finally give an overview of how the different
kinds of languages covered so far fit together. This is the point where we lose connection with
the other part of this course.
3.1 Automata with random-access memory--Turing machines
Clearly the question of recognizing the language {aibici | i N} (see page 40) is not in itself
a difficult one. In most programming languages it would be easy to write a procedure which
does this, and therefore pushdown automata are not as powerful as other computing devices.
Before we go on to look at more expressive automata let us review the progression of such
devices so far.
We can think of a DFA as a computing device without dedicated memory. However, such
automata can remember a limited amount of information by making use of their states. We
can think of a pushdown automaton as a computing device that has a dedicated unlimited
memory15 which can only be used in a very limited way, namely in the manner of a stack.
The resulting machines are too weak even to be used to deal with programs on a level that a
compiler has to do. Symbol tables are typically used to keep track of variables, and for those

  

Source: Aczel, Peter - Departments of Mathematics & Computer Science, University of Manchester

 

Collections: Mathematics