
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
RANDOMNESS AND COUNTING
The second example: undirected connectivity. Another celebrated example of the power
of randomization, specifically in the context of log-space computations, was provided
by testing undirected connectivity. The random-walk algorithm presented in Constr uc-
tion 6.12 is due to Aleliunas, Karp, Lipton, Lov
´
asz, and Rackoff [5]. Recall that a
deterministic log-space algorithm was found twenty-five years later (see Section 5.2.4
or [190]).
Another famous example: polynomial identity testing. A third famous example, which
dates back to about the same period, is the polynomial identity tester of [65, 199, 243].
This tester, presented in §6.1.3.1, has found many applications in Complexity Theory
(some are implicit in subsequent chapters). Needless to say, in the abstract setting of
Construction 6.7, randomization is indispensable. Interestingly, the computational version
mentioned in Exercise 6.17 has so far resisted de-randomization attempts (cf. [134]).
Other randomized algorithms. In addition to the three foregoing examples, several other
appealing randomized algorithms are known. Confining ourselves to the context of search
and decision problems, we mention the algorithms for finding perfect matchings and
minimum cuts in graphs (see, e.g., [90, Apdx. B.1] or [168, Sec. 12.4 and Sec. 10.2]), and
note the prominent role of randomization in computational number theory (see, e.g., [24]
or [168, Chap. 14]). We mention that randomized algorithms are more abundant in the
context of approximation problems, and, in particular, for approximate counting problems
(cf., e.g., [168, Chap. 11]). For a general textbook on randomized algorithms, we refer the
interested reader to [168].
While it can be shown that randomization is essential in several impor tant computa-
tional settings (cf., e.g., Chapter 9, Section 10.1.2, Appendix C, and Appendix D.3), a
fundamental question is whether randomization is essential in the context of search and
decision problems. The prevailing conjecture is that randomization is of limited help in the
context of time-bounded and space-bounded algorithms. For example, it is conjectured
that BPP = P and BPL = L. Note that such conjectures do not rule out the possibility
that randomization is also helpful in these contexts; they merely says that this help is
limited. For example, it may be the case that any quadratic-time randomized algorithm
can be emulated by a cubic-time deterministic algorithm, but not by a quadratic-time
deterministic algorithm.
On the study of BPP . The conjecture BPP = P is referred to as a full derandomization
of BP P, and can be shown to hold under some reasonable intractability assumptions. This
result (and related ones) will be presented in Section 8.3. In the current chapter, we only
presented unconditional results regarding BPP like BPP ⊂ P/poly and BPP ⊆ PH.
Our presentation of Theorem 6.9 follows the proof idea of Lautemann [150]. A different
proof technique, which yields a weaker result but found more applications (see, e.g.,
Theorems 6.27 and F. 2 ), was presented (independently) by Sipser [207].
On the role of promise problems. In addition to their use in the formulation of
Theorem 6.9, promise problems allow for establishing complete problems and hierar-
chy theorems for randomized computation (see Exercises 6.14 and 6.15, respectively). We
mention that such results are not known for the corresponding classes of standard deci-
sion problems. The technical difficulty is that we do not know how to enumerate and/or
recognize probabilistic machines that utilize a non-trivial probabilistic decision r ule.
228