ScholarGate
Assistent

NP-Vollständigkeit und Unlösbarkeit

NP-Vollständigkeit identifiziert die schwierigsten Probleme in der Klasse NP – jene, auf die sich jedes NP-Problem reduzieren lässt – und bietet den Standardrahmen zur Erkennung von Problemen, für die kein effizienter Algorithmus bekannt oder wahrscheinlich ist.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Entscheidungsproblem ist NP-vollständig, wenn es in NP liegt (seine Ja-Instanzen verfügen über effizient verifizierbare Zertifikate) und jedes Problem in NP in Polynomzeit auf es reduziert werden kann; solche Probleme sind die schwierigsten in NP, und ein Polynomzeit-Algorithmus für eines würde einen für alle liefern.

Scope

Dieses Thema behandelt die Komplexitätsklassen P und NP, Polynomzeit-Reduktionen, die Definitionen von NP-Schwere und NP-Vollständigkeit, das Cook-Levin-Theorem, das die Erfüllbarkeit als NP-vollständig etabliert, Karps Katalog NP-vollständiger Probleme und die praktischen Konsequenzen der Unlösbarkeit für den Algorithmenentwurf. Es wendet diese Konzepte auf die Erkennung und den Umgang mit schwierigen Problemen an; die breitere formale Theorie der Komplexitätsklassen wird im Teilgebiet der theoretischen Informatik behandelt.

Core questions

  • Was unterscheidet die Komplexitätsklassen P und NP?
  • Wie überträgt eine Polynomzeit-Reduktion die Schwierigkeit von einem Problem auf ein anderes?
  • Was besagt das Cook-Levin-Theorem, und warum ist die Erfüllbarkeit zentral?
  • Wie wird ein neues Problem durch Reduktion von einem bekannten als NP-vollständig bewiesen?
  • Welche algorithmischen Strategien bleiben, wenn ein Problem als NP-schwer erwiesen ist?

Key concepts

  • Komplexitätsklasse P
  • Komplexitätsklasse NP
  • Polynomzeit-Reduktion
  • NP-Schwere
  • NP-Vollständigkeit
  • Cook-Levin-Theorem
  • Boolesche Erfüllbarkeit (SAT)
  • P-versus-NP-Problem

Key theories

Cook-Levin-Theorem
Das Cook-Levin-Theorem beweist, dass die Boolesche Erfüllbarkeit (SAT) NP-vollständig ist: Jedes Problem in NP lässt sich in Polynomzeit auf sie reduzieren, was das erste NP-vollständige Problem und den Anker für den Beweis der Schwierigkeit anderer Probleme liefert.
Reduzierbarkeit zwischen kombinatorischen Problemen
Karp zeigte, dass Polynomzeit-Reduktionen viele natürliche Probleme – Clique, Vertex Cover, Hamiltonkreis, Partition und andere – zu einem Netz NP-vollständiger Probleme verbinden, sodass jedes durch Reduktion von einem anderen als schwierig bewiesen werden kann.

Clinical relevance

Die Erkenntnis, dass ein Problem NP-vollständig ist, gehört zu den praktisch nützlichsten Ergebnissen in der Informatik: Sie weist Ingenieure darauf hin, keinen schnellen exakten Algorithmus zu erwarten und stattdessen Approximationsalgorithmen, Heuristiken, für typische Instanzen optimierte exakte Löser oder Einschränkungen auf lösbare Spezialfälle einzusetzen. Viele Planungs-, Routing-, Pack- und Entwurfsprobleme sind NP-vollständig.

History

Stephen Cook führte die NP-Vollständigkeit 1971 ein und bewies, dass SAT NP-vollständig ist; Leonid Levin erzielte unabhängig ähnliche Ergebnisse. Richard Karps Arbeit von 1972 zeigte, dass 21 natürliche Probleme NP-vollständig sind, und etablierte damit die Reichweite des Rahmens. Garey und Johnsons Buch von 1979 katalogisierte Hunderte von NP-vollständigen Problemen und wurde zum Standardwerk.

Debates

P versus NP
Ob P gleich NP ist – ob jedes effizient verifizierbare Problem auch effizient lösbar ist – ist das wichtigste offene Problem in diesem Bereich; fast alle Forscher vermuten, dass P ungleich NP ist, aber die Frage ist ungelöst und ein Millennium-Preisproblem.

Key figures

  • Stephen Cook
  • Richard Karp
  • Leonid Levin
  • Michael Garey
  • David Johnson

Related topics

Seminal works

  • cook1971
  • karp1972
  • cormen2009

Frequently asked questions

Was ist der Unterschied zwischen NP-schwer und NP-vollständig?
Ein Problem ist NP-schwer, wenn sich jedes NP-Problem in Polynomzeit auf es reduzieren lässt, es muss aber nicht selbst in NP liegen und kein Entscheidungsproblem sein. Ein Problem ist NP-vollständig, wenn es sowohl NP-schwer als auch in NP ist. NP-vollständige Probleme sind die schwierigsten Probleme, die noch in NP liegen.
Bedeutet NP-Vollständigkeit, dass ein Problem niemals gelöst werden kann?
Nein. Es bedeutet, dass kein Polynomzeit-Algorithmus für alle Eingaben bekannt ist und wahrscheinlich keiner existiert, wenn P ungleich NP ist. In der Praxis werden solche Probleme mit Approximationsalgorithmen, Heuristiken, exponentiellen Lösern, die auf realistischen Instanzen funktionieren, oder durch Einschränkung auf Spezialfälle angegangen.

Methods for this concept

Related concepts