2010-11-02 3 views
5

Wenn ein Problem X (Entscheidungsproblem) als NP-Complete bekannt ist und nachweislich auf das Problem Y in Polynomialzeit reduziert ist, können Sie dann sagen, dass das Problem Y NP-Complete ist?Wenn ein Problem X (Entscheidungsproblem) als NP-Complete bekannt ist und nachweislich auf das Problem Y reduziert ist, können Sie dann sagen, dass das Problem Y NP-Complete ist?

Mein erster Gedanke war, nein, Problem Y muss gezeigt werden, dass es in NP ist. Aber nach weiterem Nachdenken, wenn X auf Y reduziert wird, wird Y bereits als NP-vollständig betrachtet. Jetzt bin ich nur verwirrt ... jede Hilfe wäre willkommen.

+4

Ich denke, du hattest es das erste Mal. Wenn wir ein bekanntes Problem auf ein anderes NP-vollständiges Problem reduzieren können, ist dieses Problem auch NP. – Jim

+0

aus dem Wiki: "... es wurde gezeigt, dass Tausende von anderen Problemen NP-vollständig sind, indem sie von anderen Problemen, die zuvor als NP-vollständig erkannt wurden, reduziert wurden ..." so würde ich sagen "Ja" ist die Antwort? –

+0

Per Definition ist Y "NP-schwer". Ein NP-schweres Problem ist eines, das verwendet werden kann, um jedes Problem in NP zu lösen, einschließlich NP-vollständiges Problem. Ein NP-schweres Problem besteht jedoch nicht notwendigerweise in NP. – gnasher729

Antwort

1

Argumentum pro contrarium:

Wenn X ∈ NP und X ⇔ Y und Y ∉ NP dann X ∉ NP.

1

Problem X - Ungewiss
Problem Y - In NP

X ist in NP Um zu beweisen, zeigen Sie, dass Sie die Schritte folgen kann jedes Problem in X für ein Problem in Y. zu reduzieren Dann wissen Sie, dass die X-Problem ist mindestens so schwer wie das äquivalente Y-Problem.

Also nein, müssen Sie mit Y beginnen und dann auf X. reduzieren

0

SAT in einem einzigen Aufruf an alle gelöst werden, aber das bedeutet nicht, dass alle in NP ist.

0

Ja das ist richtig. Sie können Ihr Problem in polynomieller Zeit auf ein bereits bekanntes NP-vollständiges Problem reduzieren, aber das wird als sehr schwierige Aufgabe angesehen. Stattdessen wählen Sie ein bereits NP-vollständiges Problem und reduzieren es auf Ihr Problem und zeigen auch, dass es in NP ist, dann wird Ihr Problem NP abgeschlossen sein.

0

Noch nicht, müssen Sie noch ein paar Schritte

Um zu beweisen, dass ein Problem L NP-vollständig ist, müssen wir die folgenden Schritte tun:

  1. Beweisen Sie Ihr Problem L gehört NP (dh, dass eine Lösung gegeben Sie es in polynomialer Zeit verifizieren können)
  2. Wählen Sie ein bekanntes NP-vollständiges Problem L ‚
  3. einen Algorithmus f beschreiben, die L transformiert‘
  4. Pro in
  5. L ve, dass Ihr Algorithmus korrekt ist (formal: x ∈ L‘, wenn und nur wenn f (x) ∈ L)
  6. dass algo f in Polynomialzeit läuft Beweisen

Bisher haben Sie Schritt 2,3, 4
Sie müssen noch zeigen, dass die Reduktion polynomiell ist (Schritt 5)
Und dass das Problem zu NP gehört (Schritt 1), das heißt eine Lösung kann in polynomieller Zeit verifiziert werden.

Verwandte Themen