Problemas de ejemplo no en P ni en NP-completo sino en NP

Tengo un curso llamado Análisis de algoritmos en la universidad, donde actualmente estamos estudiando las diferentes clases de complejidad: P, NP, NP-hard, etc.

Ya hemos discutido los problemas NP-completos como la intersección entre NP y NP-hard, y los problemas P, contenidos en NP. También hemos hablado de algunos ejemplos, principalmente de problemas NP-completos (k-colouring, k-clique, SAT).

La mayoría de las veces, demostramos que un problema es NP-completo al:

una. Encontrar un algoritmo no determinista para resolverlo (que use elección, éxito, fracaso);

B. Reducirle un problema NP-completo conocido.

La cuestión es que estos problemas, cuando se ejecutan en una máquina determinista (secuencialmente, en lugar de ramificarse simultáneamente cuando se encuentra una elección) tienen soluciones de tiempo exponencial.

Mi pregunta es la siguiente: nunca me he encontrado con problemas que se pudieran resolver ni en tiempo polinomial ni en tiempo exponencial; los problemas de tiempo polinomial están en P y los problemas de tiempo exponencial suelen estar en NP-completo.

Aquí hay un diagrama de Venn útil: http://en.wikipedia.org/wiki/Np_complete

  1. Me gustaría saber un ejemplo de un problema que no está ni en P, ni en NP-completo, pero en NP.

  2. Además, son problemas intrínsecamente exponenciales, como generando el conjunto de potencia de un conjunto NP-completo? ¿O ese nombre solo se aplica a problemas para los que se usa un algoritmo de tiempo exponencial solo porque no hay otro método obvio para resolverlo?

Ok, entonces le di la respuesta a Rosh Oxímoron porque en realidad enumeró algunos ejemplos de problemas que se sospecha están entre P y NPC. Gracias por su ayuda chicos, y de hecho me di cuenta de que puse esta pregunta en el lugar equivocado. También hay: https://cstheory.stackexchange.com/

donde encontré las siguientes respuestas muy útiles a mi pregunta: https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc que se trata específicamente de lo que pregunté, y: https://cstheory.stackexchange.com/questions/52/hierarchies-in-np-under-the-assumption-that-p-np lo cual es generalmente interesante, si no exactamente relacionado con la pregunta inicial.

Muchas gracias,

Dan

preguntado el 13 de diciembre de 10 a las 11:12

Ver este y este pregunta sobre Informática. -

4 Respuestas

  1. Se cree que los problemas de BQP como la factorización de enteros y el logaritmo discreto (craqueo de RSA y DSA) están fuera de P y también se sospecha que están en NP pero no en NP-completo. Se sabe que la factorización de enteros está en NP, y se supone que está fuera de P y NP-completo.

http://en.wikipedia.org/wiki/BQP

http://en.wikipedia.org/wiki/Integer_factorization

  1. NP es un subconjunto de EXPTIME, pero se espera que NP! = EXPTIME (es decir, los problemas EXPTIME-complete no están en NP). Al igual que con P = NP, esto aún no está probado (pero se sabe que P! = EXPTIME). Por ejemplo, comprobar si un algoritmo estaría medio después de k pasos es EXPTIME-complete. Encontrar el conjunto de potencia es demasiado (obviamente).

http://en.wikipedia.org/wiki/EXPTIME

Respondido el 13 de diciembre de 10 a las 14:12

Es importante enfatizar que 1. es conjetura. Si P = NP no existen tales problemas, pero si P! = NP sabes qué ese NPI no está vacío. - Rafael

Me gustaría conocer un ejemplo de un problema que no está ni en P, ni en NP-completo, sino en NP.

Yo también; Si encuentra uno, visite esta página web para reclamar su premio de $ 1M: https://www.claymath.org/millennium-problems/p-vs-np-problem

respondido 27 nov., 20:14

@iamrohitbanga Para usar BQP como prueba de P ≠ NP, se deben probar todas estas cosas: 1. BQP ⊆ NP 2. P ⊊ BQP 3. BQP ∩ NPC = ∅. Todos esos se desconocen actualmente. - tecnología

  1. No hay ningún problema conocido por estar en NP \ NPC.

  2. Un problema está en NP si y sólo si una máquina de turing no determinista puede resolverlo en tiempo polinomial (o, de manera equivalente, una máquina de turing determinista puede decidirlo en tiempo polinomial). Este no es el caso de su ejemplo.

    Además, debe señalarse que no sabemos si P = NP, por lo que es perfectamente posible (aunque muy improbable) que todos los problemas en NP se puede resolver en tiempo polinomial. Entonces, si sabemos que un problema no se puede resolver en tiempo polinomial, ese problema no está en NP o, si podemos probar que de hecho está en NP, simplemente mostramos que NP != P.

Respondido 15 Abr '12, 14:04

1. ¿Pensé que se sospechaba que P ≠ NP en realidad? 2. Ah, sí, veo su punto, una máquina no determinista todavía no podría encontrar la respuesta a ese problema. Entonces, ¿dónde está realmente, en qué clase? - Dan Filimon

@Dan: 1. Sí, se cree que P != NP, por eso dije que P = NP se cree que es falso. Sin embargo, dado que no sabes qué que es falso, tampoco conocemos ningún problema en NP \ NPC (aunque podríamos sospechar que existen). 2. Está en EXPTIME. - sepp2k

Oh, lo entendí mal al principio, no presté atención a la oración completa entre los corchetes. - Dan Filimon

@ sepp2k Aproximadamente 1: Por lo general, incluso si P = NP, no todos los problemas de NP se consideran NP-Complete, ya que en realidad no siempre se reduciría a ellos. Tomemos, por ejemplo, ∅ al que no se puede reducir ningún lenguaje con instancias yes, pero está en P (algoritmo: "return FALSE"). - tecnología

"(o, de manera equivalente, una máquina de turing determinista puede decidirlo en tiempo polinomial)" - Esto no es equivalente. Sin embargo, si existe un DTM que pueda verificar una solución. - Kent Munthe Caspersen

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.