In computational complexity theory, a branch of computer science, bounded-error probabilistic polynomial time (BPP) is the class of decision problems solvable by a probabilistic Turing machine in polynomial time with an error probability bounded by 1/3 for all instances. 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. BPP also contains P, the class of problems solvable in polynomial time with a deterministic machine, since a deterministic machine is a special case of a probabilistic machine.
BPP algorithm (1 run) | ||
---|---|---|
Answer produced Correct
answer |
Yes | No |
Yes | ≥ 2/3 | ≤ 1/3 |
No | ≤ 1/3 | ≥ 2/3 |
BPP algorithm (k runs) | ||
Answer producedCorrect
answer |
Yes | No |
Yes | > 1 − 2−ck | < 2−ck |
No | < 2−ck | > 1 − 2−ck |
for some constant c > 0 |
Informally, a problem is in BPP if there is an algorithm for it that has the following properties: