Vollständigkeit (Komplexitätstheorie)

Vollständigkeit (Komplexitätstheorie)

In der theoretischen Informatik ist Vollständigkeit eine Eigenschaft von Problemen in Bezug auf eine Komplexitätsklasse. Intuitiv ist ein Problem dann vollständig für eine bestimmte Komplexitätsklasse, wenn kein anderes Problem der Klasse wesentlich schwieriger zu berechnen ist, und das Problem selbst ebenfalls in dieser Komplexitätsklasse enthalten ist. Ein vollständiges Problem einer Komplexitätsklasse beschreibt somit gewissermaßen die Schwierigkeit dieser Klasse.

Vollständige Probleme sind ein wichtiges Hilfsmittel zum Nachweis der Äquivalenz zweier auf unterschiedliche Weise definierter Komplexitätsklassen.

Von entscheidender Bedeutung für die formale Definition der Vollständigkeit ist das Konzept der Reduktion. Um einen sinnvollen Vollständigkeitsbegriff zu erhalten, muss die vorausgesetzte Reduktion weniger mächtig sein als die betrachtete Komplexitätsklasse.

Inhaltsverzeichnis

Definition

Sei \mathcal{K} eine Komplexitätsklasse. Eine Sprache L ist genau dann \mathcal{K}-vollständig, wenn gilt:

  • Jede Sprache L^\prime\in\mathcal{K} ist auf L reduzierbar.
  • L\in\mathcal{K}

In vielen Fällen wird hierbei eine logarithmisch platzbeschränkte Reduktion oder eine polynomiell zeitbeschränkte Reduktion angenommen. Es hängt von der Komplexitätsklasse ab, was hier sinnvoll ist.

Falls die erste, aber nicht notwendigerweise die zweite Bedingung erfüllt ist, so wird L als \mathcal{K}-schwer oder \mathcal{K}-schwierig bezeichnet (manchmal auch als \mathcal{K}-hart, in unglücklicher Übersetzung der englischen Bezeichnung \mathcal{K}-hard).

Äquivalenz von Komplexitätsklassen

Falls ein Problem vollständig für zwei verschiedene Komplexitätsklassen \mathcal{K} und \mathcal{K}^' ist, so gilt \mathcal{K}=\mathcal{K}^', sofern die beiden Klassen unter Reduktion abgeschlossen sind. Beispielsweise würde P = NP gelten, falls nachgewiesen werden könnte, dass P ein NP-vollständiges Problem enthält (siehe auch P-NP-Problem).

Ein Beispiel für die Anwendung dieses Prinzips ist der Satz von Shamir, durch den IP = PSPACE nachgewiesen wurde.

Vollständigkeitsnachweise

Falls noch kein vollständiges Problem für eine Klasse bekannt ist, muss zunächst eine generische Reduktion auf ein Problem dieser Klasse möglich sein. Durch eine generische Reduktion wird beispielsweise das zur Definition der Komplexitätsklasse verwendete Maschinenmodell durch dieses Problem ausgedrückt, wie etwa im Satz von Cook für die Klasse NP.

Nachdem hierdurch ein erstes vollständiges Problem der Komplexitätsklasse gefunden ist, wird der Vollständigkeitsnachweis für weitere Probleme meist einfacher. Um die Vollständigkeit eines Problems für eine bestimmte Komplexitätsklasse nachzuweisen, genügt es zu zeigen, dass ein bereits bekanntes vollständiges Problem dieser Klasse auf dieses Problem reduzierbar ist.

Notwendige Voraussetzung ist hierbei die Transitivität der betrachteten Reduktionsrelation.

Siehe auch

Quellen


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Vollständigkeit — (abgeleitet vom Ausdruck vollen Bestand haben) bezeichnet: allgemein die Eigenschaft einer Zusammenstellung oder Aufzählung, alle zu einer Gesamtheit gehörenden Bestandteile zu umfassen fachsprachlich eine mathematische Eigenschaft, siehe Glossar …   Deutsch Wikipedia

  • Komplexitätstheorie — Die Komplexitätstheorie als Teilgebiet der Theoretischen Informatik befasst sich mit der Komplexität von algorithmisch behandelbaren Problemen auf verschiedenen mathematisch definierten formalen Rechnermodellen. Die Komplexität von Algorithmen… …   Deutsch Wikipedia

  • P-Vollständigkeit — In der Komplexitätstheorie ist P (auch: PTIME) diejenige Komplexitätsklasse, welche die Entscheidungsprobleme enthält, die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der… …   Deutsch Wikipedia

  • NL-Vollständigkeit — In der Komplexitätstheorie bezeichnet NL die Klasse der Entscheidungsprobleme, die von einer nichtdeterministischen Turingmaschine auf logarithmischem Platz gelöst werden können. NL ist eine Erweiterung der Klasse L, die analog für… …   Deutsch Wikipedia

  • PSPACE-Vollständigkeit — In der Komplexitätstheorie bezeichnet PSPACE die Klasse der Entscheidungsprobleme, die von deterministischen Turingmaschinen mit polynomiellem Platz entschieden werden können. Nach dem Satz von Savitch ist PSPACE gleich der Klasse NPSPACE, der… …   Deutsch Wikipedia

  • NP-Vollständigkeit — Die Bezeichnung NP Vollständigkeit (nichtdeterministisch polynomielle Vollständigkeit) ist ein Fachausdruck aus der Komplexitätstheorie der Theoretischen Informatik. NP vollständige Probleme lassen sich vermutlich nicht effizient lösen. Der… …   Deutsch Wikipedia

  • NP-Vollständig — Der Begriff NP Vollständigkeit ist ein Begriff aus der Komplexitätstheorie der Theoretischen Informatik, der im Jahre 1971 von Stephen A. Cook durch den Satz von Cook eingeführt wurde. Er zeichnet spezielle formale Sprachen der Komplexitätsklasse …   Deutsch Wikipedia

  • NP-vollständig — Der Begriff NP Vollständigkeit ist ein Begriff aus der Komplexitätstheorie der Theoretischen Informatik, der im Jahre 1971 von Stephen A. Cook durch den Satz von Cook eingeführt wurde. Er zeichnet spezielle formale Sprachen der Komplexitätsklasse …   Deutsch Wikipedia

  • Komplexitätsklasse P — In der Komplexitätstheorie ist P (auch: PTIME) diejenige Komplexitätsklasse, welche die Entscheidungsprobleme enthält, die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der… …   Deutsch Wikipedia

  • Ptime — In der Komplexitätstheorie ist P (auch: PTIME) diejenige Komplexitätsklasse, welche die Entscheidungsprobleme enthält, die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”