Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

NP-Schwere

NP-Schwere bezeichnet die Eigenschaft eines algorithmischen Problems, mindestens so schwer lösbar zu sein wie die Probleme der Klasse NP.

Inhalt4 Abschnitte
  1. 1. Kernidee und Einordnung
  2. 2. Problemreduktionen als Vergleichsmethode
  3. 3. Formale Definition und NP-Vollständigkeit
  4. 4. Beispiel: das Halteproblem

Kernidee und Einordnung

NP-Schwere bezeichnet die Eigenschaft eines algorithmischen Problems, mindestens so schwer lösbar zu sein wie alle Probleme der Komplexitätsklasse NP. Die Komplexitätstheorie untersucht, wie schwierig Probleme algorithmisch zu lösen sind.

NP ist die Klasse der Probleme, die mit einer nichtdeterministischen Turingmaschine in Polynomialzeit gelöst werden können. Anschaulich handelt es sich um Entscheidungsprobleme, bei denen sich eine gegebene, beispielsweise geratene Lösung effizient überprüfen lässt.

Ein Problem ist NP-schwer, wenn jedes Problem aus NP in Polynomialzeit auf dieses Problem reduziert werden kann. Gäbe es also einen deterministischen Polynomialzeit-Algorithmus für ein NP-schweres Problem, könnte man damit auch jedes beliebige Problem aus NP in Polynomialzeit lösen. Ein NP-schweres Problem muss selbst nicht in NP liegen. Liegt es zusätzlich in NP, wird es NP-vollständig genannt.

Problemreduktionen als Vergleichsmethode

Um die Schwierigkeit zweier Probleme zu vergleichen, verwendet man Problemreduktionen. Ein Problem A heißt auf ein Problem B reduzierbar, wenn jeder Algorithmus, der B löst, auch zur Lösung von A verwendet werden kann. Dazu wird eine Instanz von A in eine Instanz von B umgerechnet und anschließend B gelöst.

Für Aussagen über die Effizienz ist entscheidend, wie aufwendig diese Umrechnung ist. Wird die Zahl der Rechenschritte einer Reduktion in Abhängigkeit von der Eingabelänge durch ein Polynom beschrieben und nicht etwa durch eine Exponentialfunktion, handelt es sich um eine Polynomialzeitreduktion.

Kann Problem 1 durch eine Polynomialzeitreduktion in Problem 2 überführt werden und kann Problem 2 ebenfalls mit polynomialem Aufwand gelöst werden, dann kann auch Problem 1 in Polynomialzeit gelöst werden. Genau deshalb zeigt die Reduzierbarkeit aller NP-Probleme auf ein Problem dessen besondere Schwierigkeit.

Formale Definition und NP-Vollständigkeit

Sei L' ⊆ Σ* eine formale Sprache. L' heißt NP-schwer, wenn gilt:

∀ L ∈ NP: L ≼ₚ L'

Das bedeutet: Alle Sprachen beziehungsweise Probleme L aus NP sind polynomiell auf L' reduzierbar. Die Definition wird dadurch begründet, dass sich für jedes Problem aus NP ein Polynomialzeit-Algorithmus konstruieren ließe, sobald ein Algorithmus A existiert, der L' in Polynomialzeit löst:

  • Zuerst wird die Instanz des Problems auf L' reduziert.
  • Anschließend wird Algorithmus A auf die erzeugte Instanz angewendet.

L' kann allerdings auch schwieriger sein als die Probleme in NP und muss nicht selbst zu NP gehören. Falls L' zusätzlich in NP liegt, ist L' NP-vollständig.

Anfang der 1970er Jahre zeigten Stephen A. Cook und Leonid Levin unabhängig voneinander, dass es in NP ein Problem gibt, auf das alle anderen Probleme in NP in Polynomialzeit reduziert werden können: das Erfüllbarkeitsproblem der Aussagenlogik SAT. Nach dem Satz von Cook ist SAT damit ein schwerstes Problem in NP.

SAT ist nicht das einzige Problem dieser Art. Richard M. Karp zeigte, dass es in NP Probleme gibt, auf die SAT reduziert werden kann. Solche Probleme sind genauso schwer wie SAT. Die schwersten Probleme innerhalb von NP werden NP-vollständig genannt. Alle Probleme, auch solche außerhalb von NP, auf die SAT in Polynomialzeit reduziert werden kann, heißen NP-schwer. In Darstellungen der Beziehungen zwischen P, NP, NP-schweren und NP-vollständigen Problemen werden die leere Sprache und ihr Komplement häufig außen vor gelassen, obwohl beide in P und NP liegen, aber nicht NP-schwer sind.

Beispiel: das Halteproblem

Ein klassisches NP-schweres Problem, das nicht in NP liegt, ist das Halteproblem für Turingmaschinen.

Das Erfüllbarkeitsproblem SAT kann auf das Halteproblem reduziert werden. Dazu wird eine SAT-Instanz in eine Turingmaschine umgewandelt. Diese Turingmaschine probiert nacheinander alle möglichen Belegungen durch und hält, sobald sie eine erfüllende Belegung gefunden hat. Gibt es keine erfüllende Belegung, läuft sie stattdessen in einer Endlosschleife weiter.

Das Halteproblem liegt nicht in NP, weil es überhaupt nicht entscheidbar ist. Dieses Beispiel zeigt, dass NP-Schwere nicht voraussetzt, dass ein Problem selbst in NP liegt: Ein NP-schweres Problem kann auch außerhalb von NP liegen und sogar unentscheidbar sein.

Weiterlesen

Mengendiagramm Mengendiagramme dienen der grafischen Veranschaulichung der Mengenlehre. Es gibt unterschiedliche Arten von Mengendiagrammen, insbesondere Euler-Diagramme … P (Komplexitätsklasse) Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Eine Verallgemeinerung von P ist die Klasse NP. Die Probleme aus … NP (Komplexitätsklasse) In der Informatik bezeichnet NP (für nichtdeterministisch polynomielle Zeit) eine fundamentale Komplexitätsklasse aus dem Bereich der Komplexitätstheorie. NP-Vollständigkeit In der Informatik bezeichnet man ein Problem als NP-vollständig (vollständig für die Klasse der Probleme, die sich nichtdeterministisch in Polynomialzeit … Problem Inhaltsverzeichnis · 1 Allgemeines · 2 Definitionen · 3 Problemklassen. 3.1 Lösbarkeit; 3.2 Zerlegbarkeit; 3.3 Verwandtheit · 4 Wissenschaften. 4.1 Denkpsychologie … Komplexitätstheorie Die Komplexität von Algorithmen wird in deren Ressourcenverbrauch gemessen, meist Rechenzeit oder Speicherplatzbedarf, manchmal auch speziellere Maße wie die … Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Nichtdeterministische Turingmaschine Eine nichtdeterministische Turingmaschine (NTM, NDTM) in der theoretischen Informatik ist eine Turingmaschine, die anstatt einer Übergangsfunktion eine … Falscher Freund Englische falsche Freunde ; undertaker, Unternehmer, Bestatter (beachte aber: undertaking = Unternehmen) ; warehouse, Warenhaus, Lager(halle), Großmarkt ; website … Englische Sprache Die englische Sprache (Eigenbezeichnung: [ˈɪŋɡlɪʃ]) ist eine ursprünglich in England beheimatete germanische Sprache, die zum westgermanischen Zweig gehört. Erfüllbarkeitsproblem der Aussagenlogik Das Erfüllbarkeitsproblem der Aussagenlogik (SAT, von englisch satisfiability „Erfüllbarkeit“) ist ein Entscheidungsproblem der theoretischen Informatik. Halteproblem Das Halteproblem beschreibt eine Frage aus der theoretischen Informatik. Wenn für eine Berechnung mehrere Rechenschritte nach festen Regeln durchgeführt …