P (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 DefinitionNotation:
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äuterungenEin 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ätsklassenDie folgenden Beziehungen sind bekannt:
P-VollständigkeitEin 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 PSehr 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 ProblemeWeblinks
Einzelnachweise
|