BPP: Difference between revisions
(Created page with "{{complexity class}} ==Definition== '''BPP''' or '''bounded-error probabilistic polynomial time''' is a complexity class that can loosely be described as the class of languages...") |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
'''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 <math>1/2</math>. | '''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 <math>1/2</math>. | ||
===Using <math>2/3</math> and <math>1/3</math>=== | |||
More formally, a language <math>L</math> is in BPP if there exist functions <math>f</math> and <math>g</math> growing polynomially in their inputs, such that for any string of length <math>n</math>, the algorithm uses the string and a random string of length <math>f(n)</math> to output, in time at most <math>g(n)</math>, whether the string is in <math>L</math>, and the answer satisfies the following: For ''every'' choice of input string, less than <math>1/3</math> of the possible random strings of length <math>f(n)</math> 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== | ==Relation with other complexity classes== | ||
Line 35: | Line 41: | ||
|- | |- | ||
| [[Contains::P]] || deterministic polynomial time || [[P is in BPP]] || open -- see [[P equals BPP conjecture]] || {{intermediate complexity classes|P|BPP}} | | [[Contains::P]] || deterministic polynomial time || [[P is in BPP]] || open -- see [[P equals BPP conjecture]] || {{intermediate complexity classes|P|BPP}} | ||
|} | |||
==Properties== | |||
{| class="sortable" border="1" | |||
! Property !! Satisfied? !! Proof !! Statement with symbols | |||
|- | |||
| [[satisfies property::self-complementary complexity class]] || Yes || [[BPP is self-complementary]] || If <math>L \in BPP</math>, then the complement <math>L^c</math>, defined as the set of strings ''not'' in <math>L</math>, is also in <math>BPP</math>. | |||
|- | |||
| determined by almost everywhere || Yes || ? || | |||
|} | |} |
Latest revision as of 20:37, 27 December 2011
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 | ? |