
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
SPACE COMPLEXITY
Guideline: View the oracle-aided computation of as consisting of iterations such
that in the i
th
iteration the i
th
query (denoted q
i
) is determined based on the initial input
(denoted x), the i − 1
st
oracle answer (denoted a
i−1
), and the contents of the work-tape
at the time that the i − 1
st
answer was given (denoted w
i−1
). Note that the mapping
(x , a
i−1
,w
i−1
) → (q
i
,w
i
) can be computed using s
1
(|x|) + δ(|x|) bits of temporary
storage, because the oracle machine effects this mapping (when x, a
i−1
and w
i−1
reside
on different devices). Composing each iteration with the computation of
(using
a variant of Lemma 5.2), we conclude that the mapping (x, a
i−1
,w
i−1
) → (a
i
,w
i
)
can be computed (without storing the intermediate q
i
) in space s
1
(n) + s
2
((n)) +
O(log((n) + s
1
(n) + s
2
((n)))). Thus, we can emulate the entire computation using
space s(n), where the extra space of s
1
(n) + 2
(n) bits is used for storing the work-tape
of the oracle machine and the i − 1
st
and i
th
oracle answers.
Exercise 5.8 (non-adaptive reductions): In continuation of the discussion in §5.1.3.3,
we define non-adaptive space-bounded reductions as follows. First, for any problem
,
we define the (“direct product”) problem
such that the instances of
are sequences
of instances of
. The sequence y = (y
1
,...,y
t
) is a valid solution (with respect to
the problem
) to the instance x = (x
1
,...,x
t
) if and only if for every i ∈ [t] it holds
that y
i
is a valid solution to x
i
(with respect to the problem
). Now, a non-adaptive
reduction
of to
is defined as a single-query reduction of to
.
1. Note that this definition allows the oracle machine to freely scan the sequence of
answers (i.e., it can move freely between the blocks that correspond to different
answers). Still, prove that this does not add much power to the machine (in com-
parison to a machine that reads the oracle-answer device in a “semi-unidirectional”
manner (i.e., it never reads bits of some answer after reading any bit of any later
answer)). That is, prove that a general non-adaptive reduction of space complexity
s can be emulated by a non-adaptive reduction of space complexity O(s) that when
obtaining the oracle answer (y
1
,...,y
t
) may read bits of y
i
only before reading any
bit of y
i+1
,...,y
t
.
Guideline: Replace the query sequence x = (x
1
,...,x
t
) by the query sequence (x, x,...,x)
where the number of repetitions is 2
O(s)
.
2. Prove that if is reducible to
via a non-adaptive reduction of space complexity
s
1
that makes queries of length at most and
is solvable in space s
2
, then is
solvable in space s such that s(n) = O(s
1
(n) + s
2
((n))). As a warm-up, consider
first the case of a general single-query reduction (of to
).
Guideline: The composed computation, on input x, can be written as E(x, A(G(x))), where
G represents the query generation phase,
A represents the application of the
-solver to
each string in the sequence of queries, and E represents the evaluation phase. Analyze the
space complexity of this computation by using (variants of) Lemma 5.2.
Exercise 5.9: Referring to the discussion in §5.1.3.3, prove that, for any s, any prob-
lem having space complexity s can be solved by a constant-space (2s, 2s)-restricted
reduction to a problem that is solvable in constant space.
Guideline: The reduction is to the “next configuration function” associated with the
said algorithm (of space complexity s), where here the configuration contains also
the single bit of the input that the machine currently examines (i.e., the value of the
bit at the machine’s location on the input device). To facilitate the computation of
178