Today we’ll talk about
∙
NLcompleteness
∙
NL=coNL (this differs from what we think is true for NP)
127
Lecture
19
Notes on Theory of Computation
Recall that L=SPACE(log
?
) and NL=NSPACE(log
?
). We have a nice hierarchy:
L
⊆
NL
⊆
P
⊆
NP
⊆
PSPACE
.
We don’t know whether these containments are proper.
We can show that PSPACE and
NL are different (and will eventually do so), so not everything in the picture collapses down.
Most people believe that these spaces are all different; however, we don’t know adjacent
inclusions are proper.
However, NL=coNL shows that surprising things do happen, and we do have unexpected
collapses.
First let’s review a theorem from last time.
Theorem
(Theorem 18.6)
:
NL
⊆
P.
Proof.
For a NLmachine
?
, a configuration of
?
on
?
is (
?, ?
1
, ?
2
, ?
).
The number of
configurations of
?
on
?
is polynomial in
?
where
?
=

?

(
?
is fixed). The computation
graph is the graph where
∙
nodes are configurations, and
∙
edges show how
?
can move.
Here is a polynomial time algorithm that simulates
?
. “On input
?
,
1. Construct the computation graph.
2. Test if there is a path from start to accept (using any polynomial time algorithm for
PATH).
3. Accept
if yes and reject
if no.”
128
Lecture
19
Notes on Theory of Computation
S
1
L vs. NL
Now we turn our attention to L vs. NL. We’ll show that the situation is analogous to the
situation of P vs.
NP. How much space deterministically do we actually need for a NL
problem?
We can do it with polynomial space but that’s pretty crude.
We can do much
better.
We have using Savitch’s Theorem that
NL = NSPACE(log
?
)
⊆
SPACE(log
2
?
)
We stated Savitch’s Theorem for space bounds
≥
?
; with space bounds of
≥
log
?
the same
argument goes through.
No one knows whether we can reduce the exponent, or whether
L=NL.
(We will show that SPACE(log
?
) is provably different fron SPACE(log
2
?
), using the
hierarchy theorem 20.1. When we increase the amount of space/time, we actually get new
stuff. But maybe some other argument could show NL
⊆
SPACE(log
?
).)
We will show that there are NLcomplete problems, an example of which is PATH. If
you can solve PATH or any other NLcomplete problems in deterministic log space, then it
brings down everything with it to L. We’ll show everything in NL is reducible to the PATH
problem.
This shouldn’t be a surprise because it’s what we did in the previous theorem:
whether a machine accepts is equivalent to whether there’s a path. We’ll just need to define
NLcompleteness in the appropriate way and then we’ll be done by the argument given in
the NL
⊆
P theorem.
Definition 19.1:
?
is NLcomplete if
1.
?
∈
NL
2. Every NLproblem is
logspace
reducible to
?
: for every
?
∈
NL,
?
≤
?
?
.
We need to define what it means to be logspace reducible. We have to be careful because
the input is roughly
?
, and the output is roughly
?
. we don’t want to count the output of
machine in the space bound. The input and output should be kept seprate.