Notes on Complexity Theory
Last updated: September, 2011
Lecture 4
Jonathan Katz
1 Diagonalization
In this lecture and the next one, we discuss two types of results that are related by the technique
used in their proofs. Both kinds of results are also fundamental in their own right.
The common proof technique is called
diagonalization
. It is somewhat diﬃcult to formally deﬁne
the term, but roughly the idea is that we want to show the existence of some language
L
(with
certain properties) that cannot be decided by any Turing machine within some set
S
=
{
M
1
,...
}
.
1
We do so by starting with some
L
0
(with the property we want) and then, for
i
= 1
,...
changing
L
i

1
to
L
i
such that none of
M
1
,...,M
i
decide
L
i
. Of course part of the diﬃculty is to make sure
that
L
i
has the property we want also.
Actually, one can also prove the existence of an undecidable language using this technique
(though not quite as explicitly as stated above). Consider an enumeration
x
1
,...
of all binary
strings, and an enumeration
M
1
,...
of all Turing machines.
2
Deﬁne
L
as follows:
x
i
6∈
L
iﬀ
M
i
(
x
i
) = 1. (A picture really helps here. For those who have seen it before, this is exactly
analogous to the proof that there is no bijection from the integers to the reals. In fact, that
gives a 1line proof of the existence of undecidable languages: the set of languages is uncountable,
while the set of Turing machines is countable.) Say some machine
M
decides
L
, and let
i
be such
that
M
=
M
i
. But then consider
x
i
: if
M
(
x
i
) = 1 then
x
i
6∈
L
and so
M
is wrong; if
M
(
x
i
) rejects
or doesn’t halt then
x
i
∈
L
and
M
is again wrong!
1.1 Hierarchy Theorems
It is natural to wonder whether additional resources actually give additional power. We show that
this is the case (at least to a certain extent) for space and time. We ﬁrst give a deﬁnitions of
“wellbehaved” functions.
Deﬁnition 1
A function
f
:
N
→
N
is
space constructible
if it is nondecreasing and there exists
a Turing machine that on input
1
n
outputs the binary representation of
f
(
n
)
using
O
(
f
(
n
))
space.
Note that if
f
is space constructible, then there exists a Turing machine that on input
1
n
marks oﬀ
exactly
f
(
n
)
cells on its work tapes (say, using a special symbol) without ever exceeding
O
(
f
(
n
))
space.
For space bounds, it is often assumed that
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 staff
 Computational complexity theory, ml, Halting problem, Time hierarchy theorem

Click to edit the document details