2016-04-14 4 views
-5

Ich lese NP und P nur auf wikipedia, ich habe zwei Fragen:Gibt es ein NP Beispiel, dass wir eine Antwort in Polynomzeit bekommen

  1. Können wir ein NP Beispiel in Polynomialzeit lösen?
  2. Gibt es eine NP Beispiel, das wir eine Antwort in Polynomzeit bekommen
+0

Was meinst du mit "gelöst"? – dasblinkenlight

+0

Ich meine, gibt es irgendein NP-Beispiel, dass wir eine Antwort in polynomieller Zeit bekommen können. –

+0

Was verstehen Sie unter dem "NP-Problem"? Ihre Frage ist mit der Standardterminologie schwer zu entschlüsseln. –

Antwort

1

Haftungsausschluss: Diese Antwort auf die praktischen Aspekte konzentriert sich mit der Tatsache zu tun, dass es Probleme gibt, für die kein Algorithmus Polynom-Zeit ist bekannt. Um eine theoretisch genaue Antwort zu geben, ist die in der Frage verwendete Terminologie nicht klar genug.

Es gibt zwei Bedeutungen von NP in der Informatik, die leicht durcheinander gebracht werden können.

(1) NP als die Klasse NP vollständigen Probleme:

Für keines dieser Probleme ein Polynom-Algorithmus bisher gefunden wurde. Es wurde bewiesen, dass, wenn ein solcher Algorithmus für eines dieser Probleme gefunden wird, jeder von ihnen in polynomieller Zeit gelöst werden kann. Das Standardbeispiel für die NP-Vollständigkeit ist das Problem des Traveling Salesman.

(2) NP als Eigenschaft eines Algorithmus, erfordert exponentielle Zeit:

Jeder NP-Algorithmus kann für kleine Größen gelöst werden N. Die Frage ist nur, dass die Anzahl der Berechnungen exponentiell zunimmt (dh sehr schnell) mit N.

Es gibt Probleme, für die ursprünglich nur NP-Algorithmen bekannt waren, für die aber später polynomielle Zeitalgorithmen gefunden wurden. Leider kann ich momentan kein Beispiel finden.

Für viele Probleme, die nur NP-Lösungen haben, gibt es polynomielle Zeitalgorithmen, die gute Annäherungen an die optimalen Lösungen liefern. Für viele Anwendungen ist dies ausreichend.

+0

"NP ist keine Eigenschaft eines Problems, sondern des Algorithmus, der verwendet wird, um es zu lösen." Dies scheint mir irreführend, wenn es sich auf NP-Vollständigkeit bezieht. Nimmt man P! = NP an, bedeutet ein Entscheidungsproblem NP-schwer, dass kein Algorithmus mit polynomieller Laufzeit es lösen kann. In beiden Fällen sind NP-Härte oder -vollständigkeit keine Eigenschaften von Algorithmen, sondern von Problemen. Zeitkomplexität ist eine Eigenschaft eines Algorithmus.Und wenn es ein endgültiges kanonisches Beispiel für die NP-Vollständigkeit gibt, wäre es höchstwahrscheinlich SAT. –

+0

@ G.Bach: Du hast Recht, ich habe meine Antwort entsprechend geändert. –

+0

Es ist immer noch falsch. Probleme liegen in Komplexitätsklassen, Algorithmen haben (Zeit und Raum) Komplexitäten. Außerdem sind NP und NPC nicht dasselbe. Überprüfen, ob ein gegebenes Bit 0 oder 1 ist, ist ein Problem, das in NP ist, aber sicherlich nicht in NPC. –

Verwandte Themen