0% found this document useful (0 votes)
144 views64 pages

Brookshear - Turing Machines

The document discusses Turing machines and Turing-acceptable languages. It introduces a coding system to represent Turing machines as strings. It also discusses adding a second stack to pushdown automata to obtain equivalent computational power to Turing machines. The document aims to identify a language that is not Turing-acceptable by using this coding system.

Uploaded by

ryan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views64 pages

Brookshear - Turing Machines

The document discusses Turing machines and Turing-acceptable languages. It introduces a coding system to represent Turing machines as strings. It also discusses adding a second stack to pushdown automata to obtain equivalent computational power to Turing machines. The document aims to identify a language that is not Turing-acceptable by using this coding system.

Uploaded by

ryan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

TURING-ACCEPTABLE LANGUAGES 169

y/R x/t:.
x/R () � t:./L
...

_1/ �� �

-0 [it:.xxyt:.)
[t:.lxxyt:.)
0
[t:.xlxyt:.)
[t:.xxlyt:.)
[t:.xxypt:.]
[t:.xxqyt:.)
[t:.xxrt:.)
[t:.xqxt:.)
[t:.xrt:.)
[t:.qxt:.)
[t:.rt:.]
[qt:.)
[t:.st:.)
[t:.tYt:.)
[ht:.Yt:.)

Figure 3.17 A skeletal transition diagram for a Turing machine and the sequence
of configurations it produces as it processes the string xxy

that accepts strings by halting with its tape configured as D. YD.D.D. · · ·, then
the process of accepting the string w could be summarized as a sequence
of machine configurations beginning with [LD..WD..] and terminating with
[hD.YD.], where L and h represent the machine's initial and halt states,
respectively.
Figure 3.17 shows both a Turing machine that accepts the language {xmyn :
m EN, n EN +} and the sequence of configurations produced as the machine
processes the string xxy. This configuration sequence starts with a config­
uration containing the input string and ends with the configuration [hD..YD..].
Thus, by reading backward, we obtain a sequence leading from the config­
uration [hD..YD.] to a configuration containing the input string. Such a sequence
is quite similar to a derivation for the string. Indeed, if we constructed a
grammar in which any derivation had to begin with the pattern [hD..YD..]
and whose rewrite rules simulated the action of a machine transition in
reverse, then we should be well on our way to constructing a grammar that
would generate the strings that are accepted by the machine. This is the
approach we follow to prove Theorem 3.3.
176 CHAPTER 3 TURING MACHINES AND PHRASE-STRUCTURE LANGUAGES

does your ability to do this task have to do with the fact that the collection
of all Turing machines whose set of tape symbols is {x, Li} is countable?
2. Show that by adding a second stack to pushdown automata, we obtain
a class of machines with the same language accepting powers as the
class of Turing machines.
3. Using the construction process described in the proof of T heorem 3.3,
develop a phrase-structure grammar that accepts the same language as
accepted by the Turing machine whose transition diagram appears below.
(T he machine accepts strings by halting with its tape configured as
,6. Y,6.,6.t,. • · · . ) Show a derivation for the string x using the grammar you
obtain.

t:;./R x/R t:;.fL x/Y Y/L

-�ev--��®
4. Show that the language {x"y2"z4": n E 1\1} is Turing-acceptable.

3.5 BEYOND PHRASE-STRUCTURE LANGUAGES


We have proved the existence of languages that are not phrase-structure
languages (or equivalently not Turing-acceptable languages) but have not
yet identified such a language explicitly. Filling this void is a major goal of
this section; the introduction of universal Turing machines and the distinc­
tion between acceptable and decidable languages are important extensions
of our discussion.

A Coding System for Turing Machines


T o identify a language that is not Turing-acceptable (and thus not a phrase­
structure language) we will need a coding system by which the Turing
machines with alphabet I and tape symbols I U {,6.} can be represented as
strings containing only Os and ls. T hus, we pause here to introduce such
a system before proceeding with the major theme of this section.
Given a machine M to be represented, our coding system requires that
we arrange M's states in a list whose first entry is the initial state and whose
second entry is the halt state. Based on the order of this list, we can speak
of the first state of M, the second state of M, and in general, the lh state of
M. We agree to represent the lh state of M by a string of Os of length j.

You might also like