| • Science | • People | • Locations | • Timeline |
A common reformulation of NP states that a language is in NP if and only if a given answer can be verified by a deterministic machine in polynomial time. Similarly, a language is in UP if a given answer can be verified in polynomial time, and the verifier machine only accepts at most one answer for each problem instance. More formally, a language L belongs to UP if there exists a two input polynomial time algorithm A and a constant c such that
Algorithm A verifies L in polynomial time.
Papadimitriou discusses UP in the context of cryptography, where it is shown that UP=P if and only if no one-way functions exist. 1 Since UP lies between P and NP, this implies that finding a one-way function would suffice to show P≠NP.
| 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 |