In complexity theory, BPP is the class of decision problems solvable by a probabilistic Turing
machine in polynomial time, with an error probability of at most 1/3 for all instances. The abbreviation BPP refers to Bounded-error,
Probabilistic, Polynomial time.
| BPP algorithm (1 run) |
|
Answer produced |
Correct
answer |
YES |
NO |
| YES |
≥2/3 |
≤1/3 |
| NO |
≤1/3 |
≥2/3 |
| BPP algorithm (n runs) |
|
Answer produced |
Correct
answer |
YES |
NO |
| YES |
> 1-e-n/18 |
< e-n/18 |
| NO |
< e-n/18 |
> 1-e-n/18 |
If a problem is in BPP, then there is an algorithm for it that is allowed to flip coins and make random decisions. It
is guaranteed to run in polynomial time. On any given run of the algorithm, it has a probability of at most 1/3 of giving the
wrong answer. That is true, whether the answer is YES or NO.
The choice of 1/3 in the definition is arbitrary. It can be any constant
between 0 and 1/2 (exclusive) and the set BPP will be unchanged; however, this constant must be independent of the input.
The idea is that there is a probability of error, but if the algorithm is run many times, the chance that the majority of the
runs are wrong drops off exponentially as a consequence of the Chernoff bound [1]. This makes it possible to create a highly accurate algorithm by merely running the algorithm several
times and taking a "majority vote" of the answers.
BPP is one of the largest practical classes of problems, meaning most problems of interest in BPP have
efficient probabilistic algorithms that can be run quickly on real modern machines,
by the method described above. For this reason it is of great practical interest which problems and classes of problems are
inside BPP.
Relationship to other complexity classes
It is known that BPP is closed under complement; that is, BPP=Co-BPP. It is an open question whether
BPP is a subset of NP. It is also an open
question whether NP is a subset of BPP; if it is, then NP=RP and PH
BPP([2]) (many consider this unlikely, since it would imply practical solutions for a range of difficult
NP-complete problems). It is known that RP is a subset of BPP, and BPP is a subset of PP. It is not known whether those two are strict subsets. BPP is contained in
PH.
The existence of certain strong pseudorandom number generators is
conjectured by most experts of the field. This conjecture implies that randomness does not
give additional computational power to polynomial time computation, that is, P=RP=BPP. Note that ordinary
generators are not sufficient to show this result; any probabilistic algorithm implemented using a typical random number
generator will always produce incorrect results on certain inputs irrespective of the seed (though these inputs might be rare).
We also have P = BPP if the exponential-time hierarchy collapses to E =
(Babai et al.), or if E has exponential circuit
complexity (Impagliazzo and Wigderson). Also BPP is contained in
i.o.-SUBEXP =
if EXPTIME does not
collapse to MA (Babai et al.).
A Monte Carlo algorithm is a randomized
algorithm which is likely to be correct. Problems in the class BPP have Monte Carlo algorithms with polynomial
bounded runtimes. This is compared to a Las Vegas algorithm which is a randomized
algorithm which is likely to be correct and is never incorrect, the alternative being to state failure. Las Vegas algorithms with
polynomial bound runtimes are used to define the class ZPP.
BPP is contained in P/poly; in fact, as a consequence of the proof of this fact,
every BPP algorithm operating on inputs of bounded length can be derandomized into a deterministic algorithm using a fixed string
of random bits. Finding this string may be expensive, however.
Other properties
For a long time, one of the most famous problems that was known to be in BPP but not known to be in P was the
problem of determining whether a given number is prime. However, in the 2002 paper PRIMES is in P,
Manindra Agrawal and his students Neeraj Kayal
and Nitin Saxena found a deterministic polynomial-time algorithm for this problem, thus
showing that it is in P.
BPP is low for itself, meaning that a BPP machine with the power to
solve BPP problems instantly (a BPP oracle machine) is not any more
powerful than the machine without this extra power.
This class is defined for an ordinary Turing machine plus a source of randomness. The
corresponding class for a quantum computer is BQP.
Membership in any language in BPP can be determined by a polynomial-size boolean
circuit (see circuit complexity).
External links
References
- László Babai, Lance Fortnow, Noam Nisan, and Avi Wigderson (1993). "BPP has subexponential time
simulations unless EXPTIME has publishable proofs". Computational Complexity,
3:307–318.
- Russell Impagliazzo and Avi Wigderson
(1997). "P=BPP if E requires exponential circuits: Derandomizing the XOR Lemma". Proceedings of the Twenty-Ninth Annual ACM
Symposium on Theory of Computing, pp. 220–229. doi:10.1145/258533.258590
- Valentine Kabanets (2003). "CMPT 710 – Complexity Theory: Lecture 16". Simon Fraser University.
- Christos Papadimitriou (1993).
Computational Complexity, 1st edition, Addison Wesley. ISBN 0-201-53082-1.
Pages 257–259 of section 11.3: Random Sources. Pages 269–271 of section 11.4: Circuit complexity.
- Michael Sipser (1997). Introduction
to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X.
Section 10.2.1: The class BPP, pp.336–339.
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)