ZPP (complexity)
In complexity theory, ZPP (zero-error probabilistic polynomial time) is the complexity class of problems for which a probabilistic Turing machine exists with these properties:
- It always returns the correct YES or NO answer.
- The running time is polynomial in expectation for every input.
In other words, if the algorithm is allowed to flip a truly-random coin while it is running, it will always return the correct answer and, for a problem of size n, there is some polynomial p(n) such that the average running time will be less than p(n), even though it might occasionally be much longer. Such an algorithm is called a Las Vegas algorithm.
Alternatively, ZPP can be defined as the class of problems for which a probabilistic Turing machine exists with these properties:
- It always runs in polynomial time.
- It returns an answer YES, NO or DO NOT KNOW.
- The answer is always either DO NOT KNOW or the correct answer.
- If the correct answer is YES, then it returns YES with probability at least 1/2 (and DO NOT KNOW otherwise).
- If the correct answer is NO, then it returns NO with probability at least 1/2 (and DO NOT KNOW otherwise).
The two definitions are equivalent.
The definition of ZPP is based on probabilistic Turing machines, but, for clarity, note that other complexity classes based on them include BPP and RP. The class BQP is based on another machine with randomness: the quantum computer.
Read more about ZPP (complexity): Intersection Definition, Witness and Proof, Connection To Other Classes