¿Por qué NP en EXPTIME?

11

¿Hay una manera fácil de ver por qué NP está en EXPTIME? Me parece a priori concebible que podría haber un problema que requiera un tiempo súper exponencial para resolver, pero cuya solución podría verificarse en tiempo polinómico.

tparker
fuente
De hecho, NP PSPACE.
Bienvenido a la informática! Que has intentado ¿Dónde te quedaste atascado? No queremos simplemente hacer su trabajo (a domicilio) por usted; Queremos que entiendas. Sin embargo, dado que no sabemos cuál es su problema subyacente, no podemos comenzar a ayudarlo. Ver aquí para una discusión relevante. Si no está seguro de cómo mejorar su pregunta, ¿por qué no preguntar en Computer Science Chat ? También puede consultar nuestras preguntas de referencia .
Raphael

Respuestas:

17

Cualquier problema en NP está en EXPTIME porque puede usar el tiempo exponencial para probar todos los certificados posibles o enumerar todas las rutas de cálculo posibles de una máquina no determinista.

Más formalmente, hay dos definiciones principales de NP . Una es que un lenguaje  está en NP si hay una relación  tal queLR

  • hay un polinomio tal que, para todos , ,p(x,y)R|y|p(|x|)
  • dada la cadena , podemos determinar en el tiempo el polinomio ensi , yx#y|x#y|(x,y)R
  • L={x(x,y)R} .

Entonces, si tenemos un tiempo exponencial y queremos saber si , podemos probar todos los valores posibles para ~ ver si para cualquiera de esos Eso lleva tiempo , entonces EXPTIME .xL|Σ|p(n)y(x,y)R2O(p(n))L

Alternativamente, podemos definir NP como el conjunto de lenguajes decididos por máquinas de Turing no deterministas de tiempo polinomial. En este caso, suponga que  es decidida por la máquina  en el tiempo para algún polinomio  , para entradas de longitud  . Entonces  efectúa un máximo de opciones no deterministas, mientras que la determinación de si . Al examinar la función de transición de , podemos encontrar una constante  tal que  tenga como máximo  opciones no deterministas en cada paso del cálculo (independiente de la entrada), por lo que tiene como máximoLMp(n)pnMp(|x|)xLMkMkkp(|x|)=2O(p(|x|)) diferentes secuencias de opciones no deterministas al leer la entrada  . Dado el tiempo exponencial, podemos simular cada una de estas posibilidades una tras otra y ver si alguna de ellas acepta.x

David Richerby
fuente
2
Estrictamente hablando, el polinomio en la segunda viñeta debe elegirse de una vez por todas, no puede depender de e . ;)xy
Martin Berger
¿Cuál es exactamente la definición de EXPTIME? Lo recuerdo como , pero su respuesta parece suponer . No es obvio que el polinomio adicional se pueda incluir sin convertirlo en una clase de complejidad diferente. O(k|x|)O(kp(|x|))
kasperd
3
@kasperd Según Wikipedia, EXPTIME se define como los problemas de decisión que se pueden resolver en . O(kp(|x|))
tparker