¿Se cierran los idiomas NP Complete en alguna operación regular?


8

He intentado buscar en línea, pero no pude encontrar ninguna declaración definitiva. Para mí tendría sentido que Unión e Intersección de dos idiomas de la APN producirían una lengua no necesariamente en la APN. ¿También es cierto que los lenguajes NPC no están cerrados bajo el complemento, la concatenación y las operaciones de kleene star?


1
solo una nota: las operaciones regulares son unión, concatenación y estrella de Kleene y no intersección y complemento
A.Schulz

¿Por qué no intersección y complemento? No he visto ninguna definición formal de operaciones regulares en ningún lado.
Tushar

@Tushar De hecho: unión, concatenación y estrella de Kleene son operaciones regulares, mientras que unión, intersección y complemento son operaciones booleanas. Ver wikipedia .
Hendrik

@Tushar: Porque estas operaciones se usan para construir expresiones regulares .
A.Schulz

Respuestas:


15

Para todos los ejemplos en esta respuesta, estoy tomando el alfabeto como {0,1}. Tenga en cuenta que los idiomas y {0,1}definitivamente no son NP- completos.

  • La clase de idiomas completos de NP no está cerrada bajo intersección. Para cualquier lenguaje NP completo L, dejar L0={0wwL} y L1={1wwL}. L0L1son ambos NP- completos peroL0L1=.

  • La clase de lenguajes NP completos no está cerrada bajo unión. Dados los idiomas completos de NPL0L1 de la parte anterior, dejemos L0=L0{1ww{0,1}}{ε} y L1=L1{0ww{0,1}}{ε}. L0L1son ambos NP- completos peroL0L1={0,1}.

  • La clase de lenguajes NP completos no está cerrada bajo concatenación. Considere los idiomas completos de NPL0L1de la parte anterior Dado que ambos idiomas contienen ε, tenemos L0L1L0L1={0,1}.

  • La clase de idiomas NP- completos no está cerrada bajo la estrella de Kleene. Para cualquier lenguaje NP completo L, L{0,1}es NP -completo pero(L{0,1})={0,1}.

  • Si la clase de problemas completos de NP se cierra bajo complementación, entonces NP  =  coNP . Si esto es cierto o no es uno de los principales problemas abiertos en la teoría de la complejidad.


Excluyendo el complemento, ¿no están cerrados todos los lenguajes NP-completos? ¿O es eso para P?
Adjunto

@Adjit Um. Probé que NP está cerrado bajo ninguno de ellos.
David Richerby

Para tu idioma específico. Pero supongo que no veo cómo {0, 1}*no se completa NP. Si toma, por ejemplo, la intersección de 2 idiomas NP-completos, ¿no debería obtener un lenguaje NP-completo, haciendo que NP se cierre debajo de la intersección?
Adjunto

{0, 1} * y el lenguaje vacío son regulares, por lo tanto, se pueden decidir en tiempo polinómico y no NP-Completo. @DavidRicherby mostró que existen dos lenguajes NP-Complete cuya intersección no es NP-Complete. Eso es suficiente para demostrar que NPC no está cerrado debajo de la intersección.
weirdev

@weirdev ¡No! y Σno son NP completos porque no hay otros idiomas reducidos a ellos. No es suficiente decir que están en P : no sabemos que los idiomas en P no pueden ser NP completos.
David Richerby

-2

Eche un vistazo a las pruebas de unión, intersección, concatenación y estrella de kleene de los idiomas NP, aquí . Parece que se podría hacer un argumento similar para los lenguajes NP-Complete.

Para notación deja

  • Aser un oráculo que decida un problema NP-Complete conocido como 3-SAT. Ver la definición de turing reducible
  • L1 y L2 son idiomas NP-completos
  • M1 y M2 son máquinas de Turing que deciden L1 y L2 utilizando A.
  • L3 es L1L2
  • M3 es una máquina de Turing que decide L3

En el caso de unión desde 1 , podemos crear una nueva máquinaM3 eso decide L3 llamando M1 y M2como sub rutinas. A su vez, cada vezM1 o M2 se llama, Aes tambien llamado. EntoncesM3 decide L3 utilizando A. Por el argumento de 1 , el tiempo de ejecución deM3 está en P y ya que usa A como una subrutina L3es NP-Complete. En otras palabras,L3 es NP-Complete por la misma razón que L1 y L2 son NP-Complete.

El mismo argumento se puede hacer intersección y parece que se podrían hacer argumentos similares para la concatenación y la estrella de Kleene.

En el caso del cumplido, parece probable que sea difícil de probar por las mismas razones que es difícil demostrar el cumplido en NP.


La integridad de NP se define en términos de reducciones de muchos, no reducciones de oráculo. Además, los idiomas NP-complete definitivamente no están cerrados bajo unión o intersección. Si están cerrados bajo complemento, entonces NP = coNP, que es una pregunta abierta importante.
David Richerby

En el artículo de Stephen Cook de 1971 [1] que define NP-Completeness, utiliza una máquina de consulta que es el mismo concepto que un Oracle. También debe consultar el enlace anterior sobre la reducción de la duración. [1] chell.co.uk/media/product/_master/1/files/…
joebloggs

@joebloggs: Puedo ver por su argumento que la unión e intersección de dos idiomas NP-Complete es NP. Sin embargo, todavía no prueba si es NP-completo. Para demostrarlo, debe reducir la unión o intersección de dos problemas de decisión de NP completo a un problema de decisión de NP completo.
Tushar

@DavidRicherby: Usted dice que los lenguajes NP-complete definitivamente no están cerrados bajo unión o intersección. Estoy interesado en ver la prueba de eso. ¿Tiene alguna referencia para esa prueba?
Tushar

2
@joebloggs: su argumento funciona para los idiomas NP, pero NO para los idiomas NP completos. Para probar que un lenguaje L es Np-completo, debe proporcionar una reducción polinómica de L a un lenguaje NP-completo conocido. En cuanto a la respuesta de David, P está cerrado debajo de la intersección, porque tanto el lenguaje vacío como el universal están en P (por lo tanto, también están en NP), pero no están completos en NP. Espero que eso quede claro!
Tushar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.