Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Schwere und Vollständigkeit (theoretische Informatik)

So bedeutet beispielsweise der Begriff NP-Vollständigkeit, dass ein Problem vollständig für die Komplexitätsklasse aller nicht-deterministisch in …

Inhalt4 Abschnitte
  1. 1. Grundidee und Definition
  2. 2. Übliche Bezeichnungen
  3. 3. Wichtige Beispiele
  4. 4. Folgerungen aus Reduktionen

Grundidee und Definition

Die Schwere eines Problems bedeutet in der theoretischen Informatik, dass es mindestens so schwer zu lösen ist wie jedes Problem einer betrachteten Klasse. Ein vollständiges Problem ist zusätzlich selbst Mitglied dieser Klasse und gehört damit zu ihren schwierigsten Problemen.

Schwere und Vollständigkeit werden meist für Entscheidungsprobleme untersucht: Es wird entschieden, ob ein Objekt eine bestimmte Eigenschaft besitzt. Durch Gödelisierung kann man solche Probleme als Teilmengen der natürlichen Zahlen \mathbb{N} auffassen; berechnet werden soll dann die charakteristische Funktion einer Teilmenge von \mathbb{N}. Die Begriffe lassen sich auch auf Such- und Optimierungsprobleme übertragen.

Seien \mathcal{C}\subseteq\mathcal{P}(\mathbb{N}) eine Problemklasse, A\subseteq\mathbb{N} ein Problem und \preceq eine Reduktion. A heißt \mathcal{C}-schwer bezüglich \preceq, wenn \forall C\in\mathcal{C}: C\preceq A gilt: Jedes Problem der Klasse lässt sich also auf A reduzieren. A heißt \mathcal{C}-vollständig bezüglich \preceq, wenn es \mathcal{C}-schwer ist und außerdem selbst in \mathcal{C} liegt. Bei Komplexitätsklassen betrachtet man meist nur Reduktionen, deren Aufwand innerhalb der Klasse liegt.

Übliche Bezeichnungen

Ist die verwendete Reduktion aus dem Zusammenhang klar oder unwichtig, wird sie oft nicht genannt. NP-Vollständigkeit bedeutet beispielsweise Vollständigkeit für die Klasse der nichtdeterministisch in Polynomialzeit lösbaren Probleme, bezüglich polynomiell zeitbeschränkter oder logarithmisch platzbeschränkter Many-one-Reduktionen. In diesem Fall sind beide Reduktionsarten äquivalent.

Mit „vollständig“ ohne Angabe einer Klasse ist besonders im englischen Sprachraum häufig Vollständigkeit für die rekursiv aufzählbaren Mengen gemeint, bezüglich Many-one- oder One-one-Reduktion. Auch diese beiden Reduktionen sind hierbei gleichwertig.

Wichtige Beispiele

Stephen Cook bewies 1971, dass das Erfüllbarkeitsproblem der Aussagenlogik SAT NP-vollständig ist. Richard Karp zeigte ein Jahr später NP-Vollständigkeit für 20 weitere Probleme.

Vollständige Probleme können auch zur Definition einer Klasse dienen: NP besteht aus genau den Problemen, die sich polynomiell zeitbeschränkt many-one auf SAT reduzieren lassen.

Eine Menge ist genau dann rekursiv aufzählbar, wenn sie sich many-one auf das Halteproblem H reduzieren lässt. Da H selbst in RE liegt, ist es RE-vollständig. Auch das spezielle Halteproblem K und das \varepsilon-Halteproblem H_0 sind RE-vollständig, weil sie rekursiv isomorph zu H sind.

Die Menge TOTAL aller totalen berechenbaren Funktionen und ihr Komplement sind RE-schwer, aber nicht RE-vollständig.

Folgerungen aus Reduktionen

Reduktionen \preceq sind Quasiordnungen auf \mathcal{P}(\mathbb{N}), also reflexiv und transitiv. \mathcal{C}-schwere Probleme sind obere Schranken der Klasse \mathcal{C}; \mathcal{C}-vollständige Probleme sind ihre Maxima bezüglich \preceq. Weil eine Quasiordnung nicht notwendigerweise antisymmetrisch ist, müssen solche Maxima nicht eindeutig sein.

Aus der Transitivität folgt: Ist A \mathcal{C}-schwer und gilt A\preceq B, dann ist auch B \mathcal{C}-schwer.

Nach dem Satz von Myhill ist eine Menge genau dann produktiv, wenn sie coRE-schwer ist. coRE enthält die Komplemente rekursiv aufzählbarer Mengen. Daraus folgt: Die kreativen Mengen sind genau die RE-vollständigen Mengen.

Wie sich Komplemente verhalten, hängt von der Reduktion ab. Unter Turing-Reduktion \preceq_T ist ein Problem genau dann \mathcal{C}-schwer, wenn es auch co\mathcal{C}-schwer ist. Unter Many-one-Reduktion \preceq_m ist ein Problem genau dann \mathcal{C}-schwer, wenn sein Komplement co\mathcal{C}-schwer ist.

Weiterlesen

Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Berechenbarkeitstheorie Die Berechenbarkeitstheorie (auch Rekursionstheorie) ist ein Teilgebiet der theoretischen Informatik ... Ein weiteres Problem ist das Halteproblem. Es … Komplexitätstheorie Die Komplexität von Algorithmen wird in deren Ressourcenverbrauch gemessen, meist Rechenzeit oder Speicherplatzbedarf, manchmal auch speziellere Maße wie die … Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in … Menge (Mathematik) Der Begriff der Menge (englisch set, französisch ensemble, spanisch conjunto) ist ein grundlegender Begriff der Mathematik. Damit eng verwandt ist der … Komplexitätsklasse Eine Komplexitätsklasse ist eine Menge von Problemen, welche sich in einem bestimmten ressourcenbeschränkten Berechnungsmodell berechnen lassen. Zusammenhang … 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 … NP (Komplexitätsklasse) In der Informatik bezeichnet NP (für nichtdeterministisch polynomielle Zeit) eine fundamentale Komplexitätsklasse aus dem Bereich der Komplexitätstheorie. 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 … Diagonalsprache Die Diagonalsprache ist die zentrale Konstruktion im Beweis der Unentscheidbarkeit des Halteproblems. Die Konstruktion der Sprache basiert auf dem Prinzip der … Komplement (Mengenlehre) In der Mengenlehre und anderen Teilgebieten der Mathematik sind zwei verschiedene Komplemente definiert: Das relative Komplement und das absolute Komplement.