P (Komplexitätsklasse)

in der Komplexitätstheorie eine Komplexitätsklasse

In der Komplexitätstheorie ist P (auch: PTIME) diejenige Komplexitätsklasse, die alle Entscheidungsprobleme enthält, die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. 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 sind zwar ebenfalls in Polynomialzeit entscheidbar, jedoch wird hierfür ein nicht realisierbares, nämlich nichtdeterministisches Maschinenmodell eingesetzt. P ist sicher eine Teilmenge von NP. Es gehört jedoch zu den wichtigsten ungelösten Fragen der theoretischen Informatik, ob P = NP gilt (siehe auch P-NP-Problem).

P ist unter Komplementbildung abgeschlossen.

Formale Definition

Bearbeiten

Notation:

  •   ist die Menge der natürlichen Zahlen mit Null.
  •   ist das Alphabet einer formalen Sprache, das heißt jedes Wort ist eine binäre Zeichenfolge bestehend aus   und  .
  •   bezeichnet die Menge aller binären Wörter der Länge  .
  •   bezeichnet die (abzählbare) Menge aller endlich langen binären Wörter.

Ein Entscheidungsproblem kann nun als formale Sprache   dargestellt werden. Jede Probleminstanz wird als Binärstring in   ausgedrückt, und   enthält genau die Strings, die eine Instanz darstellen, auf die die richtige Antwort „ja“ lautet.

Ein Entscheidungsproblem   ist effizient-lösbar, falls ein Algorithmus   in Polynomialzeit existiert, so dass für jedes   gilt

 

Dann ist   die Klasse der effizient-lösbaren Entscheidungsprobleme, das heißt[1]

 

Erläuterungen

Bearbeiten

Ein Algorithmus kann als deterministische Turing-Maschine aufgefasst werden.

Wir haben ein paar Vereinfachungen vorgenommen. Eigentlich meinen wir das Entscheidungsproblem von  , aber häufig identifiziert man   mit seinem Entscheidungsproblem. Auch den Begriff des Algorithmus haben wir vereinfacht, da korrekterweise   nur die dazugehörige Funktion   berechnet, wobei   Fehler bedeutet (es ging etwas schief), mit der das Problem gelöst wird. Wir haben   mit   identifiziert aber auf den Endzustand   verzichtet.

Beziehung zu anderen Komplexitätsklassen

Bearbeiten

Die folgenden Beziehungen sind bekannt:

LNLLOGCFLNC ⊆ P ⊆ NPPSPACE = NPSPACE ⊆ EXPTIMENEXPTIMEEXPSPACE = NEXPSPACE
LOGCFL   PSPACE   EXPSPACE
P   EXPTIME

P-Vollständigkeit

Bearbeiten

Ein Entscheidungsproblem   heißt P-vollständig genau dann, wenn es in der Komplexitätsklasse P liegt und wenn jedes Problem in P durch eine Berechnung mit logarithmischem Platzverbrauch auf   reduziert werden kann, das heißt, wenn jede dieser Reduktionen in der Komplexitätsklasse L liegt (siehe auch: Vollständigkeit in der Komplexitätstheorie).

Ein bekanntes P-vollständiges Problem ist das Circuit-Value-Problem, bei dem bestimmt werden soll, ob das Ergebnis eines Booleschen Schaltkreises bei gegebener Eingabe einer gegebenen Ausgabe entspricht. Diese Probleme gehören zu den schwersten, noch effizient lösbaren Problemen aus der Komplexitätsklasse P. P-vollständige Probleme sind (momentan) schwer zu parallelisieren.

Bekannte Probleme in P

Bearbeiten

Sehr viele Probleme liegen in P, was im Allgemeinen nicht besonders wahrgenommen wird; in der Regel kennt man dann auch einen geeigneten Algorithmus (so das Sortierungsproblem mit z. B. Quicksort, Laufzeit   usw.).

P-vollständige Probleme

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Oded Goldreich: P, NP, and NP-Completeness: The Basics of Computational Complexity. Hrsg.: Cambridge University Press. 2010, ISBN 978-0-521-19248-4 (englisch).