,
RP, co-RP,
BQP,
PP), which generalise
P within
PSPACE. It is unknown if any of these containments are strict. ,
NP,
co-NP, BPP,
P/poly,
PH, and
PSPACE It is known that
BPP is closed under
complement; that is,
BPP =
co-BPP.
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. In symbols,
BPPBPP =
BPP. The relationship between
BPP and
NP is unknown: it is not known whether
BPP is a
subset of
NP,
NP is a subset of
BPP or neither. If
NP is contained in
BPP, which is considered unlikely since it would imply practical solutions for
NP-complete problems, then
NP =
RP and
PH ⊆
BPP. 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, since we don't even know if
P is a strict subset of
PSPACE.
BPP is contained in the second level of the
polynomial hierarchy and therefore it is contained in
PH. More precisely, the
Sipser–Lautemann theorem states that \mathsf{BPP} \subseteq \Sigma_2 \cap \Pi_2 . As a result,
P =
NP leads to
P =
BPP since
PH collapses to
P in this case. Thus either
P =
BPP or
P ≠
NP or both.
Adleman's theorem states that membership in any language in
BPP can be determined by a family of polynomial-size
Boolean circuits, which means
BPP is contained in
P/poly. Indeed, 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. Some weak separation results for Monte Carlo time classes were proven by , see also .
Closure properties The class BPP is closed under complementation, union, intersection, and concatenation.
Relativization Relative to oracles, we know that there exist oracles A and B, such that
PA =
BPPA and
PB ≠
BPPB. Moreover, relative to a
random oracle with probability 1,
P =
BPP and
BPP is strictly contained in
NP and
co-NP. There is even an oracle in which {{tmath|1=\mathsf{BPP}=\mathsf{EXP}^\mathsf{NP} }} (and hence {{tmath|1=\mathsf{PNP (relativized) complete problem, the oracle will give correct answers with high probability if queried with the problem instance followed by a random string of length
kn (
n is instance length;
k is an appropriate small constant). Start with
n=1. For every instance of the problem of length
n fix oracle answers (see lemma below) to fix the instance output. Next, provide the instance outputs for queries consisting of the instance followed by
kn-length string, and then treat output for queries of length ≤(
k+1)
n as fixed, and proceed with instances of length
n+1. The lemma ensures that (for a large enough
k), it is possible to do the construction while leaving enough strings for the relativized answers. Also, we can ensure that for the relativized , linear time suffices, even for function problems (if given a function oracle and linear output size) and with exponentially small (with linear exponent) error probability. Also, this construction is effective in that given an arbitrary oracle A we can arrange the oracle B to have and . Also, for a oracle (and hence ), one would fix the answers in the relativized E computation to a special nonanswer, thus ensuring that no fake answers are given. == Derandomization ==