- BPP
In complexity theory,

**BPP**is the class ofdecision problem s solvable by aprobabilistic Turing machine inpolynomial time , with an errorprobability of at most 1/3 for all instances. The abbreviation**BPP**refers to**B**ounded-error,**P**robabilistic,**P**olynomial time.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 theChernoff bound [*http://www.cs.sfu.ca/~kabanets/cmpt710/lec16.pdf*] . 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 efficientprobabilistic algorithm s 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 asubset of**NP**. It is also an open question whether**NP**is a subset of**BPP**; if it is, then**NP**=**RP**and**PH**$subseteq$**BPP**( [*http://weblog.fortnow.com/2005/12/pulling-out-quantumness.html*] ) (many consider this unlikely, since it would imply practical solutions for a range of difficultproblems). It is known thatNP-complete **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**. As a result,**P**=**NP**leads to**BPP**=**P**since**PH**collapses to**P**in this case.The existence of certain strong

pseudorandom number generators isconjecture d 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**= $extrm\{DTIME\}\; left(\; 2^\{O(n)\}\; ight)$ (Babai et al.), or if**E**has exponentialcircuit complexity (Impagliazzo and Wigderson). Also**BPP**is contained in**i.o.-SUBEXP**= $igcap\_\{varepsilon0\}hbox\{i.o.-DTIME\}(2^\{n^varepsilon\})$ ifdoes not collapse toEXPTIME **MA**(Babai et al.).A

Monte Carlo algorithm is arandomized algorithm which is likely to be correct.Problems in the class**BPP**have Monte Carlo algorithms with polynomial bounded runtimes.This is compared to aLas Vegas algorithm which is a randomized algorithm which is likely to be correct and is neverincorrect, the alternative being to state failure. LasVegas algorithms with polynomial bound runtimes are used to define the class.ZPP **BPP**is contained in; 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.P/poly **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 studentsNeeraj Kayal andNitin Saxena found a deterministic polynomial-time algorithm for this problem, thus showing that it is in**P**.An important example of a problem in

**BPP**(in fact in co-RP) still not known to be in**P**is polynomial identity testing, the problem of determining whether a polynomial is identically equal to the zero polynomial. In other words, is there an assignment of variables such that when the polynomial is evaluated the result is nonzero? It suffices to choose each variable's value uniformly at random from a finite subset of at least "d" values to achieve bounded error probability, where "d" is the total degree of the polynomial. [*Madhu Sudan and Shien Jin Ong. Massachusetts Institute of Technology: 6.841/18.405J Advanced Complexity Theory: Lecture 6: Randomized Algorithms, Properties of BPP. February 26, 2003. http://people.csail.mit.edu/madhu/ST03/scribe/lect06.pdf*]**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 aquantum computer is.BQP Membership in any language in

**BPP**can be determined by a polynomial-sizeboolean circuit (seecircuit complexity ).**External links*** [

*http://www.cs.princeton.edu/courses/archive/fall03/cs597E/ Princeton CS 597E: Derandomization paper list*]

* [*http://www.courses.fas.harvard.edu/~cs225/ Harvard CS 225: Pseudorandomness*]**References**

*László Babai, Lance Fortnow, Noam Nisan, and Avi Wigderson (1993). "BPP has subexponential time simulations unlessEXPTIME 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 .

* Pages 257–259 of section 11.3: Random Sources. Pages 269–271 of section 11.4: Circuit complexity.

* Section 10.2.1: The class BPP, pp.336–339.

*Wikimedia Foundation.
2010.*