UP (計算複雑性理論)

計算複雑性理論において、複雑性クラス UP ("Unambiguous Non-deterministic Polynomial-time") とは、入力に対して高々1つの受容経路を持つ非決定性チューリング機械で多項式時間で解ける決定問題の集合である。UP は Pを包含し、NP に包含される。その際、P ≠ UP または UP ≠ NP（あるいは両方）と考えられている（P≠NP予想）。多くの学者は P とも NP とも等しくないと予想している。
別の定式化として、解の検証が決定性チューリング機械で多項式時間で行える場合にのみ、ある言語が NP に含まれると言える。同様に、ある言語が UP に含まれるとは、解を多項式時間で検証でき、かつその検証機械がそれぞれの具体的問題について高々1つの解のみ受容することである。形式的に表せば、言語 "L" が UP に属するのは、2入力の多項式時間アルゴリズム "A" と定数 c があって、次が成り立つ場合である（アルゴリズム A は "L" を多項式時間で検証する）。