# ZPP

In complexity theory, ZPP (Zero-error Probabilistic Polynomial time) is the set 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 unbounded, but is polynomial on average for any input.

In other words, the algorithm is allowed to flip a truly-random coin while it's running. It always returns the correct answer. (Such an algorithm is called a Las Vegas algorithm.) 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.

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.
• If the correct answer is NO, then it returns NO with probability at least 1/2.

The two definitions are equivalent.

The definition of ZPP is based on probabilistic Turing machines. Other complexity classes based on them include BPP and RP. The class BQP is based on another machine with randomness: the quantum computer.

## Intersection definition

The class ZPP is exactly equal to the intersection of the classes RP and Co-RP. This is often taken to be the definition of ZPP. To show this, first note that every problem which is in both RP and co-RP has a Las Vegas algorithm as follows:

• Suppose we have a language L recognized by both the RP algorithm A and the (possibly completely different) co-RP algorithm B.
• Given an input in L, run A on the input. If it returns YES, the answer must be YES. Otherwise, run B on the input. If it returns NO, the answer must be NO. If neither occurs, repeat this step.

Note that only one machine can ever give a wrong answer, and the chance of that machine giving the wrong answer during each repetition is 50%. This means that the chance of reaching the kth round shrinks exponentially in k, showing that the expected running time is polynomial. This shows that RP intersect co-RP is contained in ZPP.

To show that ZPP is contained in RP intersect co-RP, suppose we have a Las Vegas algorithm C to solve a problem. We can then construct the following RP algorithm:

• Run C for at least its expected running time. If it gives an answer, give that answer. If it doesn't give any answer before we stop it, give NO.

Because expected running time is an average, the chance that it will yield an answer before we stop it is 50%. This means the chance we'll give the wrong answer on a YES instance, by stopping and yielding NO, is only 50%, fitting the definition of an RP algorithm. The co-RP algorithm is identical, except that it gives YES if C "times out".

• ZPP (http://www.complexityzoo.com/#zpp) - from Complexity Zoo

 Important complexity classes (more) P | NP | Co-NP | NP-C | Co-NP-C | NP-hard | UP | #P | #P-C | L | NC | P-C PSPACE | PSPACE-C | EXPTIME | EXPSPACE | BQP | BPP | RP | ZPP | PCP | IP | PH

• Art and Cultures
• Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
• Space and Astronomy