(definition)

**Definition:**
The class of *languages* for which a membership computation by a *probabilistic Turing machine* halts in *polynomial time* with no false acceptances or rejections, but randomly some "I don't know" answers. "ZPP" means "**Z**ero error **P**robability in **P**olynomial" time.

**Formal Definition:** For a language, S, there exists a *probabilistic Turing machine*, M, that halts in *polynomial time*. M (correctly) accepts or rejects the string or, randomly, halts in an "I don't know" state.

**See also**
*RP*, *NP*, *BPP*, *Las Vegas algorithm*.

*Note:
By repeating the run, the correct answer will always be found, albeit with polynomial expected run time. *

* After [Hirv01, page 19].*

Author: PEB

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 17 December 2004.

HTML page formatted Fri Feb 23 10:06:08 2018.

Cite this as:

Paul E. Black, "ZPP", in
*Dictionary of Algorithms and Data Structures* [online], Vreda Pieterse and Paul E. Black, eds. 17 December 2004. (accessed TODAY)
Available from: https://www.nist.gov/dads/HTML/zpp.html