Есть ли простой способ понять, почему NP находится в EXPTIME? Мне кажется априори возможным, что может существовать проблема, для решения которой требуется сверхэкспоненциальное время, но решение которой можно проверить за полиномиальное время.
Есть ли простой способ понять, почему NP находится в EXPTIME? Мне кажется априори возможным, что может существовать проблема, для решения которой требуется сверхэкспоненциальное время, но решение которой можно проверить за полиномиальное время.
Ответы:
Любая проблема в NP находится в EXPTIME, потому что вы можете использовать экспоненциальное время, чтобы попробовать все возможные сертификаты, или перечислить все возможные пути вычисления недетерминированной машины.
Более формально, есть два основных определения NP . Во-первых, язык находится в NP, если существует отношение R, такое что
Итак, если у нас есть экспоненциальное время, и мы хотим знать, если , мы можем просто попробовать все | Σ | p ( n ) возможных значений для ~ y и посмотрите, если ( x , y ) ∈ R для любого из них. Это занимает время 2 O ( p ( n ) ) , поэтому L ∈ОПЫТ .
В качестве альтернативы, мы можем определить NP как набор языков, определяемых недетерминированными машинами Тьюринга за полиномиальное время. В этом случае предположим, что определяется машиной M за время p ( n ) для некоторого полинома p для входов длины n . Тогда M делает не более р ( | х | ) недетерминированный выбор при определении , если X ∈ L . Изучая функцию перехода М , мы можем найти постоянную k такую, что M имеет не более недетерминированных вариантов на каждом шаге вычисления (независимо от входных данных), поэтому он имеет не более k p ( | x | ) = 2 O ( p ( | x | ) ) различных последовательностей недетерминированных вариантов при чтении входных данных x . Учитывая экспоненциальное время, мы можем смоделировать каждую из этих возможностей одну за другой и посмотреть, принимает ли какая-либо из них.