NP («недетерминированный полином») — это сложный класс задач решения, которые могут быть решены недетерминированной машиной Тьюринга за полиномиальное время. Эквивалентно, это набор задач принятия решений, ответ на которые может быть проверен за полиномиальное время с помощью детерминированной машины Тьюринга.