This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ECS 120 Lesson 15 – Turing Machines, Pt. 1 Oliver Kreylos Wednesday, May 2nd, 2001 Before we can start investigating the really interesting problems in theo- retical computer science, we have to introduce yet another type of machine. As we have seen recently, neither finite automata nor pushdown automata are powerful enough to accept certain types of languages that have practical applications, like the language of syntactically correct C programs. We have found out, however, that pushdown automata are more pow- erful than finite automata, and that this increase in power is based in the availability of unlimited memory in form of a stack. To further increase the power of our computation models, we will remove the restriction of last-in, first-out access from pushdown automata. The resulting machine, that can access its memory in a random-access fashion, is called a Turing Machine . This machine type was first introduced by Alan Turing in 1936. 1 Turing Machines A Turing Machine is essentially still a finite state machine, but as opposed to the latter, it can write to the input tape (now called work tape , and it can move its read/write head arbitrarily over the work tape. Furthermore, the work tape does not only contain the word that is the machine’s input, but it has an unlimited number of tape cells to the right. An illustration of a Turing Machine is shown in Figure 1. A Turing Machine computes by initially being presented with its input written on the work tape, from the leftmost position to the right. All work tape cells to the right of the end of the input tape are filled with a special blank symbol . Initially, the read/write head is positioned over the leftmost tape cell. The Turing Machine will then transition inside its state control, guided by 1 a 1 a 2 a 3 a 4 a n accept reject M Figure 1: A Turing Machine M consisting of state control, work tape and movable read/write head. the character located underneath the read/write head, called the current character . In each computation step, the machine writes a new character into the tape cell underneath the read/write head, and then moves the head either to the left or to the right. Unlike a finite automaton, a Turing Machineeither to the left or to the right....
View Full Document
- Spring '07
- Turing Machines, read/write head