Na
teoria da complexidade computacional,
NP é o acrônimo em
inglês para
Tempo polinomial não determinístico (
Non-Deterministic Polynomial time) que denota o conjunto de problemas que são decidíveis em tempo polinomial por uma
máquina de Turing não-determinística. Uma definição equivalente é o conjunto de problemas que podem ser verificados em tempo polinomial por uma máquina de Turing determinística.