le lingue complete NP sono chiuse in caso di operazioni regolari?


8

Ho provato a cercare online, ma non sono riuscito a trovare dichiarazioni definitive. Avrebbe senso per me che l'Unione e l'intersezione di due lingue NPC avrebbero prodotto una lingua non necessariamente in NPC. È anche vero che le lingue NPC non sono chiuse sotto il complemento, la concatenazione e le operazioni con le stelle kleene?


1
solo una nota: le operazioni regolari sono unione, concatenazione e stella di Kleene e non intersezione e complemento
A.Schulz

Perché non intersezione e complemento? Non ho visto nessuna definizione formale di operazioni regolari da nessuna parte.
Tushar,

@Tushar In effetti: unione, concatenazione e stella di Kleene sono operazioni regolari, mentre unione, intersezione e complemento sono operazioni booleane. Vedi Wikipedia .
Hendrik

@Tushar: poiché queste operazioni vengono utilizzate per creare espressioni regolari .
A. Schulz,

Risposte:


15

Per tutti gli esempi in questa risposta, sto prendendo l'alfabeto come . Notare che le lingue e sono assolutamente complete di NP .{0,1}{0,1}

  • La classe delle lingue complete NP non è chiusa sotto l'intersezione. Per qualsiasi lingua  NP , lascia e . e  sono entrambi NP- completi ma .LL0={0wwL}L1={1wwL}L0L1L0L1=

  • La classe delle lingue complete NP non è chiusa sotto unione. Date le lingue NP di e  della parte precedente, lascia e . L0L1L0=L0{1ww{0,1}}{ε}L1=L1{0ww{0,1}}{ε}L0L1sono entrambi NP- completi maL0L1={0,1}.

  • La classe delle lingue complete NP non è chiusa sotto concatenazione. Considera le lingue complete NPL0L1dalla parte precedente. Poiché entrambe le lingue contengono ε, noi abbiamo L0L1L0L1={0,1}.

  • La classe delle lingue complete NP non è chiusa sotto la stella Kleene. Per qualsiasi linguaggio completo  NPL, L{0,1}è NP- completo ma(L{0,1})={0,1}.

  • Se la classe di problemi completi NP viene chiusa in complemento, allora NP  =  coNP . Se questo è vero o no è uno dei maggiori problemi aperti nella teoria della complessità.


Escludendo il complemento, le lingue NP-complete non sono chiuse in tutte quelle? O è per P?
Aggiusta il

@Adjit Um. Ho dimostrato che NP è chiuso sotto nessuno di essi.
David Richerby,

Per la tua lingua specifica. Ma suppongo di non vedere come {0, 1}*NP non sia completo. Se prendi, ad esempio, l'intersezione di 2 lingue complete NP non dovresti ottenere una lingua completa NP, rendendo così NP chiusa sotto l'intersezione?
Aggiunta il

{0, 1} * e la lingua vuota sono regolari, quindi decidibili in tempo polinomiale e non NP-Complete. @DavidRicherby ha dimostrato che esistono due lingue NP-Complete la cui intersezione non è NP-Complete. Ciò è sufficiente per dimostrare che NPC non è chiuso sotto l'intersezione.
weirdev

@weirdev No! e Σnon sono NP- completi perché nessun'altra lingua si riduce a loro. Non è sufficiente dire che sono in P - non sappiamo che le lingue in P non possono essere complete di NP .
David Richerby,

-2

Dai un'occhiata alle prove di unione, intersezione, concatenazione e stella kleene delle lingue NP, qui . Sembra che un argomento simile potrebbe essere fatto per i linguaggi NP-Complete.

Per notazione lascia

  • Aessere un oracolo che decide un noto problema NP-Complete come 3-SAT. Vedere la definizione di turing riducibile
  • L1 e L2 sono lingue NP-complete
  • M1 e M2 sono le macchine di Turing che decidono L1 e L2 utilizzando A.
  • L3 è L1L2
  • M3 è una macchina da presa che decide L3

Nel caso di unione da 1 , possiamo creare una nuova macchinaM3 quello decide L3 a chiamata M1 e M2come routine secondarie. A sua volta, ogni voltaM1 o M2 è chiamato, Aviene anche chiamato. CosìM3 decide L3 utilizzando A. Con l'argomento da 1 , il tempo di esecuzione diM3 è in P e poiché usa A come subroutine, L3è NP-completo. In altre parole,L3 è NP-Complete per lo stesso motivo L1 e L2 sono NP-Complete.

Lo stesso argomento può essere creato come intersezione e sembra che argomenti simili potrebbero essere fatti per la concatenazione e la stella di Kleene.

Nel caso del complimento, sembra probabile che sia difficile dimostrarlo, per gli stessi motivi è difficile dimostrare il complimento in NP.


La completezza NP è definita in termini di riduzioni multiple, non di riduzioni oracolari. Inoltre, le lingue complete NP non sono sicuramente chiuse sotto unione o intersezione. Se sono chiusi sotto complemento, allora NP = coNP, che è una grande domanda aperta.
David Richerby,

Nel documento di Stephen Cook del 1971 [1] che definisce NP-Completeeness usa una macchina per query che ha lo stesso concetto di Oracle. Dovresti anche controllare il link qui sopra sulla riduzione del turing. [1] chell.co.uk/media/product/_master/1/files/…
joebloggs

@joebloggs: Dalla tua argomentazione posso vedere che l'unione e l'intersezione di due lingue NP-Complete è NP. Tuttavia, non dimostra ancora se è NP-completo. È necessario ridurre l'unione o l'intersezione di due problemi di decisione NP-completi a un problema di decisione NP-completo per dimostrarlo.
Tushar,

@DavidRicherby: Dici che le lingue NP-complete non sono sicuramente chiuse sotto unione o intersezione. Sono interessato a guardare la prova per questo. Hai qualche referenza per quella prova?
Tushar,

2
@joebloggs: il tuo argomento funziona per le lingue NP, ma NON per le lingue NP-complete. Per dimostrare che una lingua L è Np-completa, è necessario fornire una riduzione polinomiale da L a una lingua NP-completa nota. Per quanto riguarda la risposta di David, P è chiusa sotto l'intersezione, perché sia ​​la lingua vuota che la lingua universale sono in P (quindi, sono anche in NP), ma non sono NP-complete. Spero che sia chiaro!
Tushar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.