Problemas de ejemplo no en P ni en NP-completo sino en NP
Frecuentes
Visto 8,916 equipos
20
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
Me gustaría saber un ejemplo de un problema que no está ni en P, ni en NP-completo, pero en NP.
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
4 Respuestas
7
- 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
- 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).
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
12
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
3
No hay ningún problema conocido por estar en
NP \ NPC
.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 enNP
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 queNP != 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
1
Yuan Qiaochu, ¿Qué técnicas existen para demostrar que un problema no es NP-completo?
podría ayudar.
Respondido 13 Abr '17, 13:04
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas computer-science theory complexity-theory computation-theory or haz tu propia pregunta.
Ver este y este pregunta sobre Informática. - Raphael