Почему NP в EXPTIME?

11

Есть ли простой способ понять, почему NP находится в EXPTIME? Мне кажется априори возможным, что может существовать проблема, для решения которой требуется сверхэкспоненциальное время, но решение которой можно проверить за полиномиальное время.

tparker
источник
На самом деле, NP PSPACE.
Добро пожаловать в информатику! Что вы пробовали? Где вы застряли? Мы не хотим просто выполнять вашу (домашнюю) работу за вас; Мы хотим, чтобы вы получили понимание. Однако, поскольку мы не знаем, в чем заключается ваша основная проблема, мы не можем начать помогать. Смотрите здесь для соответствующего обсуждения. Если вы не уверены в том , как улучшить ваш вопрос, почему не поспрашивать в области компьютерных наук в чате ? Вы также можете проверить наши справочные вопросы .
Рафаэль

Ответы:

17

Любая проблема в NP находится в EXPTIME, потому что вы можете использовать экспоненциальное время, чтобы попробовать все возможные сертификаты, или перечислить все возможные пути вычисления недетерминированной машины.

Более формально, есть два основных определения NP . Во-первых, язык  находится в NP, если существует отношение  R, такое чтоLр

  • существует такой многочлен , что для всех ( x , y ) R , | у | p ( | x | ) ,п(Икс,Y)р|Y|п(|Икс|)
  • учитывая строку , мы можем определить во времени полином от | х # у | будь то ( х , у ) R иИкс#Y|Икс#Y|(x,y)R
  • .L={x(x,y)R}

Итак, если у нас есть экспоненциальное время, и мы хотим знать, если , мы можем просто попробовать все | Σ | p ( n ) возможных значений для ~ y и посмотрите, если ( x , y ) R для любого из них. Это занимает время 2 O ( p ( n ) ) , поэтому L xL|Σ|p(n)y(x,y)R2O(p(n))LОПЫТ .

В качестве альтернативы, мы можем определить NP как набор языков, определяемых недетерминированными машинами Тьюринга за полиномиальное время. В этом случае предположим, что  определяется машиной  M за время p ( n ) для некоторого полинома  p для входов длины  n . Тогда M  делает не более р ( | х | ) недетерминированный выбор при определении , если X L . Изучая функцию перехода М , мы можем найти постоянную  k такую, что M  имеет не болееLMp(n)pnMp(|x|)xLMkM  недетерминированных вариантов на каждом шаге вычисления (независимо от входных данных), поэтому он имеет не более k p ( | x | ) = 2 O ( p ( | x | ) ) различных последовательностей недетерминированных вариантов при чтении входных данных  x . Учитывая экспоненциальное время, мы можем смоделировать каждую из этих возможностей одну за другой и посмотреть, принимает ли какая-либо из них.ККп(|Икс|)знак равно2О(п(|Икс|))Икс

Дэвид Ричерби
источник
2
Строго говоря, многочлен во втором маркере нужно выбирать раз и навсегда, он не может зависеть от и y . ;)ИксY
Мартин Бергер
Что такое определение EXPTIME? Я вспоминаю это как , но ваш ответ, кажется, предполагает O ( k p ( | x | ) ) . Не очевидно, что дополнительный многочлен можно включить, не делая его другим классом сложности. О(К|Икс|)О(Кп(|Икс|))
kasperd
3
@kasperd Согласно Википедии, EXPTIME определяется как решение проблем, которые могут быть решены в . О(Кп(|Икс|))
tparker