Ich habe versucht, online zu suchen, konnte aber keine endgültigen Aussagen finden. Es würde für mich Sinn machen, dass die Vereinigung und Kreuzung zweier NPC-Sprachen eine Sprache hervorbringen würde, die nicht unbedingt im NPC enthalten ist. Stimmt es auch, dass NPC-Sprachen nicht unter den Operationen Komplement, Verkettung und Kleene-Sterne geschlossen werden?
complexity-theory
np-complete
closure-properties
user16742
quelle
quelle
Antworten:
Für alle Beispiele in dieser Antwort nehme ich das Alphabet als . Beachten Sie, dass die Sprachen ∅ und { 0 , 1 } ∗ definitiv nicht NP- vollständig sind.{0,1} ∅ {0,1}∗
Die Klasse der NP- vollständigen Sprachen wird unter Schnittmenge nicht geschlossen. Für jede NP- vollständige Sprache sei L 0 = { 0 w ∣ w ∈ L } und L 1 = { 1 w ∣ w ∈ L } . L 0 und L 1 sind beide NP- vollständig, aber L 0 ∩ L 1 = ∅ .L L0={0w∣w∈L} L1={1w∣w∈L} L0 L1 L0∩L1=∅
Die Klasse der NP- vollständigen Sprachen ist unter Union nicht geschlossen. Bei den NP- vollständigen Sprachen und L 1 aus dem vorherigen Teil sei L ' 0 = L 0 ∪ { 1 w ∣ w ∈ { 0 , 1 } ∗ } ∪ { ε } und L ′ 1 = L 1 ∪ { 0 w ∣ w ∈ { 0 ,L0 L1 L′0=L0∪{1w∣w∈{0,1}∗}∪{ε} . L ' 0 und L ' 1 sind beideNP-vollständig, aber L ' 0 ∪ L ' 1 = { 0 , 1 } ∗L′1=L1∪{0w∣w∈{0,1}∗}∪{ε} L′0 L′1 L′0∪L′1={0,1}∗ .
Die Klasse der NP- vollständigen Sprachen wird bei Verkettung nicht geschlossen. Betrachten Sie die NP- vollständigen Sprachen und L ' 1 aus dem vorherigen Teil. Da beide Sprachen ε enthalten , haben wir L ' 0 L ' 1 ⊇ L ' 0 ∪ L ' 1 = { 0 , 1 } ∗L′0 L′1 ε L′0L′1⊇L′0∪L′1={0,1}∗ .
Die Klasse der NP- vollständigen Sprachen ist unter Kleene-Stern nicht geschlossen. Für jede NP -komplette Sprache , L ∪ { 0 , 1 } ist NP -komplette aber ( L ∪ { 0 , 1 } ) * = { 0 , 1 } *L L∪{0,1} (L∪{0,1})∗={0,1}∗ .
Wenn die Klasse der NP- vollständigen Probleme unter Komplementation geschlossen wird, ist NP = coNP . Ob dies wahr ist oder nicht, ist eines der wichtigsten offenen Probleme in der Komplexitätstheorie.
quelle
{0, 1}*
nicht NP-vollständig ist. Wenn Sie zum Beispiel die Schnittmenge von 2 NP-vollständigen Sprachen nehmen, sollten Sie dann keine NP-vollständige Sprache erhalten, wodurch NP unter der Kreuzung geschlossen wird?Schauen Sie sich hier die Beweise für Vereinigung, Schnittmenge, Verkettung und Kleene-Stern der NP-Sprachen an . Es scheint, als könnte ein ähnliches Argument für NP-vollständige Sprachen vorgebracht werden.
Zur Notation lassen
Im Fall der Vereinigung von 1 können wir eine neue Maschine erstellen , die L 3 entscheidet, indem wir M 1 und M 2 als Unterroutinen aufrufen . Jedes Mal, wenn M 1 oder M 2 aufgerufen wird, wird wiederum auch A aufgerufen. So M 3 entscheidet L 3 mit A . Nach dem Argument von 1 ist die Laufzeit von M 3 in P und da A als Unterprogramm verwendet wird, ist L 3 NP-vollständig. Mit anderen Worten,M3 L3 M1 M2 M1 M2 A M3 L3 A M3 A L3 ist NP-vollständig aus dem gleichen Grund, aus dem L 1 und L 2 NP-vollständig sind.L3 L1 L2
Das gleiche Argument kann als Schnittpunkt verwendet werden, und es sieht so aus, als könnten ähnliche Argumente für die Verkettung und den Kleene-Stern vorgebracht werden.
Im Falle eines Komplimentes scheint es wahrscheinlich schwierig zu sein, aus den gleichen Gründen zu beweisen, dass es schwierig ist , ein Kompliment in NP zu beweisen.
quelle