ECS 120 Lesson 21 – Mapping Reducibility
Oliver Kreylos
Friday, May 18th, 2001
In the last two lectures, we have successfully used reduction techniques
to prove several problems undecidable. Today we are going to reﬁne our un
derstanding of reducibility, to be able to apply these techniques to a broader
class of problems.
1
Computable Functions
Until now, we only looked at Turing Machines as acceptors of languages:
When given an input word
w
∈
Σ
*
, a machine
M
either accepts the word or
rejects (or loops). In other words, we viewed Turing Machines as computing
functions
f
M
: Σ
*
→ {
accept
,
reject
}
. In doing so, we ignored the fact that
Turing Machines leave some string on their work tape when they ﬁnish. This
becomes obvious from our deﬁnition of computation: A Turing Machine
M
accepts a word
w
, if and only if the initial conﬁguration (
±, q
0
, w
) is related
to an accepting conﬁguration (
u, q
accept
, v
), where
u, v
∈
Γ
*
are arbitrary
strings. By shifting our focus from the acceptance to the string left behind on
the work tape, we can view Turing Machines as
transducers
(“computers”)
by deﬁning their output as follows: If a Turing Machine
M
halts (either
accepting or rejecting), and the current tape content is a string
xγ
1
γ
tt
. ..
,
where
x
∈
Σ
*
,
γ
∈
Γ
*
, and
γ
1
∈
Γ
\
Σ is a character not in the input alphabet,
then the
output
of
M
is the string
x
. In other words, we consider as output
the longest preﬁx of the current tape contents on halting that consists only
of input characters. This deﬁnition of output is similar to the deﬁnition of
input of a Turing Machine: The input word
w
∈
Σ
*
consists only of input
characters, and is delimited by the ﬁrst blank character, which is not in Σ.
Using this deﬁnition, the tape content of
M
on halting can directly be fed
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Documentinto another Turing Machine, and the second machine’s input would exactly
be the ﬁrst machine’s output.
Since a (deterministic) Turing Machine
M
always produces the same out
put when given the same input, the input and output strings are related by a
function
f
M
: Σ
*
→
Σ
*
: On input
w
, machine
M
produces
f
M
(
w
) as output.
This leads to the following deﬁnition:
Deﬁnition 1 (Computable Functions)
A function
f
: Σ
*
→
Σ
*
is called
computable
, if and only if there exists a Turing Machine
M
that halts on
any input word
w
∈
Σ
*
and produces
f
(
w
)
∈
Σ
*
as output.
We have already encountered transducing Turing Machines and com
putable functions several times, without actually pointing them out as such.
For example, most reduction proofs seen so far consisted of an algorithm
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '07
 Filkov
 Halting problem, Turing Machines

Click to edit the document details