os idiomas do NP Complete estão fechados em alguma operação regular?

8

Tentei procurar on-line, mas não consegui encontrar nenhuma declaração definitiva. Faria sentido para mim que Union e Intersection de duas linguagens NPC produzissem uma linguagem não necessariamente na NPC. Também é verdade que os idiomas NPC não estão fechados nas operações complemento, concatenação e estrela kleene?

user16742
fonte
1
apenas uma observação: operações regulares são união, concatenação e estrela de Kleene, e não interseção e complemento
A.Schulz
Por que não interseção e complemento? Não vi nenhuma definição formal de operações regulares em nenhum lugar.
Tushar #
@Tushar De fato: união, concatenação e estrela Kleene são operações regulares, enquanto união, interseção e complemento são operações booleanas. Veja a Wikipedia .
Hendrik Jan
@ Tushar: Como essas operações são usadas para criar expressões regulares .
A.Schulz

Respostas:

15

Para todos os exemplos nesta resposta, estou usando o alfabeto como {0,1}. Observe que os idiomas e {0,1}definitivamente não são NP- completos.

  • A classe de idiomas completos NP não é fechada sob interseção. Para qualquer idioma completo do  NPL, deixei L0={0wwL} e L1={1wwL}. L0L1ambos são NP- completos, masL0L1=.

  • A classe de idiomas completos NP não está fechada em união. Dados os idiomas completos do NPL0L1 da parte anterior, deixe L0=L0{1ww{0,1}}{ε} e L1=L1{0ww{0,1}}{ε}. L0L1ambos são NP- completos, masL0L1={0,1}.

  • A classe de idiomas completos NP não está fechada sob concatenação. Considere os idiomas completos do NPL0L1da parte anterior. Como os dois idiomas contêm ε, temos L0L1L0L1={0,1}.

  • A classe de idiomas completos NP não está fechada sob a estrela Kleene. Para qualquer idioma completo do  NPL, L{0,1}é NP- completo, mas(L{0,1})={0,1}.

  • Se a classe de problemas completos de NP for encerrada sob complementação, NP  =  coNP . Se isso é verdade ou não, é um dos principais problemas em aberto na teoria da complexidade.

David Richerby
fonte
Excluindo o complemento, os idiomas NP-completos não estão fechados em todos eles? Ou isso é para P?
Adjete
@Adjit Um. Eu provei que o NP está fechado sob nenhum deles.
David Richerby
Para o seu idioma específico. Mas acho que não estou vendo como o {0, 1}*NP não está completo. Se você tomar, por exemplo, a interseção de 2 idiomas NP completos, você não deve obter um idioma NP completo, tornando o NP fechado sob interseção?
Adjit
{0, 1} * e o idioma vazio são regulares, portanto decidíveis em tempo polinomial e não em NP-Complete. O @DavidRicherby mostrou que existem dois idiomas NP-Complete cuja interseção não é NP-Complete. Isso é suficiente para provar que o NPC não está fechado sob interseção.
Weirdev 5/05/19
@weirdev Não! e Σnão são NP- completos porque nenhum outro idioma se reduz a eles. Não basta dizer que eles estão em P - não sabemos que os idiomas em P não podem ser NP- completos.
experiência
-2

Dê uma olhada nas provas de união, interseção, concatenação e estrela kleene das línguas NP, aqui . Parece que um argumento semelhante poderia ser feito para linguagens NP-Complete.

Para notação deixe

  • Aseja um oráculo que decida um problema NP-Complete conhecido como o 3-SAT. Veja a definição de turing redutível
  • L1 e L2 são idiomas NP-completos
  • M1 e M2 são máquinas de Turing que decidem L1 e L2 usando A.
  • L3 é L1L2
  • M3 é uma máquina de turing que decide L3

No caso da união de 1 , podemos criar uma nova máquinaM3 que decide L3 chamando M1 e M2como sub-rotinas. Por sua vez, cada vezM1 ou M2 é chamado, Atambém é chamado. assimM3 decide L3 usando A. Pelo argumento de 1 , o tempo de execução deM3 está em P e já que usa A como sub-rotina, L3é NP-completo. Em outras palavras,L3 é NP-Completo pela mesma razão que L1 e L2 são NP-completos.

O mesmo argumento pode ser feito de interseção e parece que argumentos semelhantes poderiam ser feitos para concatenação e estrela de kleene.

No caso de elogio, parece provável que seja difícil provar pelas mesmas razões que é difícil provar elogio em NP.

joebloggs
fonte
A completude de NP é definida em termos de muitas reduções, e não de oráculos. Além disso, as línguas NP-completas definitivamente não estão fechadas sob união ou interseção. Se eles estão fechados sob complemento, então NP = coNP, que é uma questão importante em aberto.
David Richerby
No artigo de Stephen Cook de 1971 [1], que define a NP-Completeness, ele usa uma máquina de consulta que é o mesmo conceito que um Oracle. Você também deve verificar o link acima na redutibilidade turing. [1] chell.co.uk/media/product/_master/1/files/…
joebloggs em 30/04/2014
@joebloggs: Posso ver pelo seu argumento que a união e interseção de duas línguas NP-Complete é NP. No entanto, ele ainda não prova se é NP-completo. É necessário reduzir a união ou interseção de dois problemas de decisão com NP completo para um problema de decisão com NP completo para mostrar isso.
Tushar #
@DavidRicherby: Você diz que os idiomas completos do NP definitivamente não estão fechados sob união ou interseção. Estou interessado em olhar para a prova disso. Você tem alguma referência para essa prova?
Tushar #
2
@joebloggs: Seu argumento funciona para idiomas NP, mas NÃO para idiomas NP completos. Para provar que um idioma L é Np-completo, você precisa fornecer uma redução polinomial de L para um idioma NP-completo. Quanto à resposta de David, P é fechado sob interseção, porque tanto a linguagem vazia quanto a linguagem universal estão em P (portanto, também estão em PN), mas não estão completas em PN. Espero que isso fique claro!
Tushar #