# More Turing Machines - Mount Holyoke College by pptfiles

VIEWS: 0 PAGES: 13

• pg 1
```									More Turing Machines

Sipser 3.2 (pages 148-154)
Multitape Turing Machines
0     1      0      1   0   ⨆

Finite       a     a      a      ⨆
control

b     a     ⨆

• Formally, we need only change the transition
function to
δ: Q×Γk → Q×Γk×{L,R}k
CS 311
2
Mount Holyoke College
Seems more powerful, but…
• Theorem 3.13: Every multitape Turing machine
has an equivalent single-tape Turing machine.
0     1     0      1   0   ⨆

M                a     a     a     ⨆

b     a     ⨆

S     #   0   1   0   1    0      #     a     a   a   #   b   a   #   ⨆

CS 311
3
Mount Holyoke College
Turing-recognizable languages
• Corollary 3.15: A language is Turing-
recognizable if and only if some multitape
Turing machine recognizes it.

CS 311
4
Mount Holyoke College
Recognizing Composite Numbers
• Let L = {In | n is a composite number}
• Designing a Turing machine to accept L
would seem to involve factoring n
• However, if we could guess ...

CS 311
5
Mount Holyoke College
Guessing
• Design a machine M that on input In
performs the following steps:
1. Nondeterministically choose two numbers p,
q > 1 and transform the input into #In#Ip#Iq#
2. Multiply p by q to obtain #In#Ipq#
3. Checks the number of I's before and after
the middle # for equality
• Accepts if equal, and rejects otherwise

CS 311
6
Mount Holyoke College
Nondeterministic Turing machines
• Simply modify the transition function to
satisfy:
δ: Q×Γ → P(Q×Γ×{L,R})

CS 311
7
Mount Holyoke College
• Theorem 3.16: Every nondeterministic Turing machine
has an equivalent deterministic Turing machine.

0   0    1     0     ⨆     Input tape

D            x   x    #     0      1     x   ⨆   Simulation tape

1   2    3      3     2     3   1       2   1   ⨆   Address tape

CS 311
8
Mount Holyoke College
Enumerator

aa
baba
abba

control                             printer

0     0     1     0   ⨆   Work tape

CS 311
9
Mount Holyoke College
Equivalence with Turing machines
• Theorem 3.21: A language is Turing-
recognizable if and only if some enumerator
enumerates it.
• Proof
(⇐) Suppose enumerator E enumerates L.
Define M = "On input w:
1. Run E. Every time that E outputs a string,
compare it with w.
2. If w ever appears in the output of E, accept."
CS 311
10
Mount Holyoke College
Equivalence with Turing machines
• Theorem 3.21: A language is Turing-recognizable if
and only if some enumerator enumerates it.
• Proof
(⇒) Suppose TM M recognizes L. Build a
lexicographic enumerator to generate the list of all
possible strings s1,s2,... over Σ*.
Define E = "Ignore input.
1. Repeat the following for i = 1, 2, 3, ...
2.  Run M for i steps on each input s1,s2,..,si.
3.  If any computations accept, print out
corresponding si."

CS 311
11
Mount Holyoke College
TMs take their own sweet time...
• Recognizers, like enumerators may take a while to
aa
baba
abba

control                     printer

0   0   1   0   ⨆      Work tape

• A TM that halts on all inputs is called a decider
• A decider that recognizes a languages is said to
decide that language
• Call a language Turing-decidable if some Turing
machine decides it

CS 311
12
Mount Holyoke College
Recognizers and Deciders
• Theorem: A language is Turing-decidable if and only if
both it and its complement are Turing-recognizable
• Proof:
(⇒) By definition.
#     w       #   ⨆

M                 #     w       #   ⨆

(⇐) Simulate, in parallel, M1 on tape 1 and M2 on tape
2.
CS 311
13
Mount Holyoke College

```
To top