BPP
This article defines a decision complexity class, i.e., a complexity class for decision problems. This means that given any language, the language is either a member of the decision complexity class or it is not a member of the decision complexity class.| View a list of complexity classes
Definition
BPP or bounded-error probabilistic polynomial time is a complexity class that can loosely be described as the class of languages in which membership can be decided using a randomized algorithm that runs in polynomial time, with the probability of error either way bounded by a number less than .
Using and
More formally, a language is in BPP if there exist functions and growing polynomially in their inputs, such that for any string of length , the algorithm uses the string and a random string of length to output, in time at most , whether the string is in , and the answer satisfies the following: For every choice of input string, less than of the possible random strings of length give the wrong answer.
Note that the probability is taken over the random string and not over the input string. For the input string, we are interested in the worst case probability, i.e., we would like a low error probability for all input strings.
Relation with other complexity classes
Larger complexity classes
Complexity class | Meaning | Proof of containment | Reverse containment -- separation result or open problem | Intermediate complexity classes |
---|---|---|---|---|
PP | probabilistic polynomial time; like BPP but probability of giving the correct output is allowed to equal | PP contains BPP | ||
P/poly | For any fixed input length, there is a polynomial sized advice string depending on the length, using which a polynomial time algorithm can be devised for all inputs of that length. | Adleman's theorem | Separated: P/poly contains undecidable languages | click here |
Sigma2P | in the polynomial hierarchy | part of the Sipser-Lautemann theorem | open, but if true, would imply that NP is in P/poly and hence PH collapses to BPP | click here |
Pi2P | in the polynomial hierarchy | part of the Sipser-Lautemann theorem | open, but if true, would imply that NP is in P/poly and hence PH collapses to BPP | click here |
Sigma2P intersect Pi2P | Sipser-Lautemann theorem | open, but if true, would imply that NP is in P/poly and hence PH collapses to BPP | click here | |
PH | The union of the entire polynomial hierarchy | (via Sigma2P) | open | click here |
Smaller complexity classes
Complexity class | Meaning | Proof of containment | Reverse containment -- separation result or open problem | Intermediate complexity classes |
---|---|---|---|---|
RP | randomized polynomial time -- no false positives, but possible false negatives | RP is in BPP | open | click here |
co-RP | randomized polynomial time -- no false negatives, but possible false positives | co-RP is in BPP | open | click here |
P | deterministic polynomial time | P is in BPP | open -- see P equals BPP conjecture | click here |
Properties
Property | Satisfied? | Proof | Statement with symbols |
---|---|---|---|
self-complementary complexity class | Yes | BPP is self-complementary | If , then the complement , defined as the set of strings not in , is also in . |
determined by almost everywhere | Yes | ? |