Sind NP Complete-Sprachen im regulären Betrieb geschlossen?


8

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?


1
Nur eine Anmerkung: Regelmäßige Operationen sind Vereinigung, Verkettung und Kleene-Stern und nicht Kreuzung und Ergänzung
A.Schulz

Warum nicht Schnittmenge und Ergänzung? Ich habe nirgendwo eine formale Definition des regulären Betriebs gesehen.
Tushar

@Tushar In der Tat: Vereinigung, Verkettung und Kleene-Stern sind reguläre Operationen, während Vereinigung, Schnittmenge und Komplement boolesche Operationen sind. Siehe Wikipedia .
Hendrik

@Tushar: Weil diese Operationen zum Erstellen regulärer Ausdrücke verwendet werden.
A.Schulz

Antworten:


15

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 0L 1 = .LL0={0wwL}L1={1wwL}L0L1L0L1=

  • 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 ,L0L1L0=L0{1ww{0,1}}{ε} . L ' 0 und  L ' 1 sind beideNP-vollständig, aber L ' 0L ' 1 = { 0 , 1 } L1=L1{0ww{0,1}}{ε}L0L1L0L1={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 ' 1L ' 0L ' 1 = { 0 , 1 } L0L1εL0L1L0L1={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 } *LL{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.


Sind NP-vollständige Sprachen mit Ausnahme der Ergänzung nicht unter all diesen geschlossen? Oder ist das für P?
Adjit

@ Adjit Um. Ich habe bewiesen, dass NP unter keinem von ihnen geschlossen ist.
David Richerby

Für Ihre spezifische Sprache. Aber ich denke, ich sehe nicht, wie {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?
Adjit

{0, 1} * und die leere Sprache sind regulär, daher in Polynomzeit entscheidbar und nicht NP-vollständig. @DavidRicherby hat gezeigt, dass es zwei NP-Complete-Sprachen gibt, deren Schnittpunkt nicht NP-Complete ist. Dies reicht aus, um zu beweisen, dass der NPC unter der Kreuzung nicht geschlossen ist .
Weirdev

@weirdev Nein! und Σ * sind nicht NP - vollständig , da keine anderen Sprachen , um sie zu reduzieren. Es reicht nicht aus zu sagen, dass sie in P sind - wir wissen nicht, dass Sprachen in P nicht NP- vollständig sein können. Σ
David Richerby

-2

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

  • Orakel, das über ein bekanntes NP-Complete-Problem wie 3-SAT entscheidet. Siehe die Definition vonA Turing reduzierbar
  • und L 2L1L2 sind NP-vollständige Sprachen
  • und M 2 sind Turingmaschinen, die L 1 und L 2 mit A entscheidenM1M2L1L2A .
  • ist L 1L 2L3L1L2
  • ist eine Turingmaschine, die über L 3 entscheidetM3L3

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,M3L3M1M2M1M2AM3L3AM3AL3 ist NP-vollständig aus dem gleichen Grund, aus dem L 1 und L 2 NP-vollständig sind.L3L1L2

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.


Die NP-Vollständigkeit wird als Mehrfachreduktion definiert, nicht als Orakelreduktion. Darüber hinaus sind die NP-vollständigen Sprachen definitiv nicht unter Vereinigung oder Schnittmenge geschlossen. Wenn sie unter Komplement geschlossen sind, ist NP = coNP, was eine wichtige offene Frage ist.
David Richerby

In Stephen Cooks 1971 veröffentlichtem Artikel [1], der die NP-Vollständigkeit definiert, verwendet er eine Abfragemaschine, die dem gleichen Konzept wie ein Oracle entspricht. Sie sollten auch den obigen Link zur Reduzierbarkeit überprüfen. [1] chell.co.uk/media/product/_master/1/files/…
Joebloggs

@joebloggs: Ich kann aus Ihrem Argument ersehen, dass die Vereinigung und Schnittmenge zweier NP-vollständiger Sprachen NP ist. Es beweist jedoch immer noch nicht, ob es NP-vollständig ist. Sie müssen die Vereinigung oder den Schnittpunkt zweier NP-vollständiger Entscheidungsprobleme auf ein NP-vollständige Entscheidungsproblem reduzieren, um dies zu zeigen.
Tushar

@ DavidRicherby: Sie sagen, dass die NP-vollständigen Sprachen definitiv nicht unter Vereinigung oder Kreuzung geschlossen sind. Ich bin daran interessiert, den Beweis dafür zu prüfen. Haben Sie Referenzen für diesen Beweis?
Tushar

2
@joebloggs: Dein Argument funktioniert für NP-Sprachen, aber NICHT für NP-vollständige Sprachen. Um zu beweisen, dass eine Sprache L Np-vollständig ist, müssen Sie eine Polynomreduktion von L auf eine bekannte NP-vollständige Sprache bereitstellen. Was Davids Antwort betrifft, so ist P unter Schnittpunkten geschlossen, weil sowohl die leere Sprache als auch die universelle Sprache in P sind (daher sind sie auch in NP), aber sie sind nicht NP-vollständig. Hoffe das macht es klar!
Tushar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.