Polynomialzeithierarchie

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Juni 2012 um 11:12 Uhr durch 95.91.62.194 (Diskussion) (Orakel-Turingmaschine ). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Eine gesichtete Version dieser Seite, die am 14. Juni 2012 freigegeben wurde, basiert auf dieser Version.

Die Polynomialzeithierarchie (PH, auch: polynomielle Hierarchie) ist die vermutete Struktur von Komplexitätsklassen zwischen NP und PSPACE. Der Grundgedanke hinter der Polynomialzeithierarchie ist die Frage, ob durch die Hinzunahme von Orakeln, die Leistungsfähigkeit einer Turingmaschine gesteigert werden kann.

Orakel-Turingmaschine

Orakel sind Erweiterungen einer Turingmaschine. Eine Turingmaschine mit Orakel A {\displaystyle A} {\displaystyle A} (wobei A {\displaystyle A} {\displaystyle A} eine Sprache ist), kann in konstanter Zeit entscheiden, ob ein Wort w {\displaystyle w} {\displaystyle w} zu A {\displaystyle A} {\displaystyle A} gehört oder nicht.

Symbolisch wird eine solche Konstruktion wie folgt dargestellt:

  • B A {\displaystyle B^{A}} {\displaystyle B^{A}} bedeutet, dass eine Turingmaschine M {\displaystyle M} {\displaystyle M} mit L ( M ) = B {\displaystyle L(M)=B} {\displaystyle L(M)=B} ein Orakel A {\displaystyle A} {\displaystyle A} befragt.

Mit Blick auf Komplexitätsklassen ergibt sich die folgende Notation:

  • P NP {\displaystyle {\mbox{P}}^{\mbox{NP}}} {\displaystyle {\mbox{P}}^{\mbox{NP}}} (sprich: "P hoch NP") ist die Menge aller Probleme, die sich von einer Turingmaschine entscheiden lassen, die in Abhängigkeit von der Eingabelänge nur polynomiellen Zeitverbrauch aufweist, zur Lösung jedoch ein Orakel benutzen kann, das in der Lage ist, ein Problem aus NP zu entscheiden.

Mathematische Definition

Bildliche Darstellung der Polynomialzeithierarchie. Die Pfeile bezeichnen Eingliederung.

Die Polynomialzeithierarchie wird mit Hilfe der drei Symbole Δ i {\displaystyle \Delta _{i}} {\displaystyle \Delta _{i}}, Σ i {\displaystyle \Sigma _{i}} {\displaystyle \Sigma _{i}} und Π i {\displaystyle \Pi _{i}} {\displaystyle \Pi _{i}} definiert.

Für diese Symbole gilt:

Δ 0 P := Σ 0 P := Π 0 P := P , {\displaystyle \Delta _{0}^{\rm {P}}:=\Sigma _{0}^{\rm {P}}:=\Pi _{0}^{\rm {P}}:={\mbox{P}},} {\displaystyle \Delta _{0}^{\rm {P}}:=\Sigma _{0}^{\rm {P}}:=\Pi _{0}^{\rm {P}}:={\mbox{P}},}

wobei P die Menge aller in Polynomialzeit lösbaren Entscheidungsprobleme ist. Für i ≥ 0 definiert man

Δ i + 1 P := P Σ i P {\displaystyle \Delta _{i+1}^{\rm {P}}:={\mbox{P}}^{\Sigma _{i}^{\rm {P}}}} {\displaystyle \Delta _{i+1}^{\rm {P}}:={\mbox{P}}^{\Sigma _{i}^{\rm {P}}}}
Σ i + 1 P := NP Π i P {\displaystyle \Sigma _{i+1}^{\rm {P}}:={\mbox{NP}}^{\Pi _{i}^{\rm {P}}}} {\displaystyle \Sigma _{i+1}^{\rm {P}}:={\mbox{NP}}^{\Pi _{i}^{\rm {P}}}}
Π i + 1 P := coNP Σ i P {\displaystyle \Pi _{i+1}^{\rm {P}}:={\mbox{coNP}}^{\Sigma _{i}^{\rm {P}}}} {\displaystyle \Pi _{i+1}^{\rm {P}}:={\mbox{coNP}}^{\Sigma _{i}^{\rm {P}}}}

Es gilt also insbesondere:

Σ 1 P = NP {\displaystyle \Sigma _{1}^{\rm {P}}={\mbox{NP}}} {\displaystyle \Sigma _{1}^{\rm {P}}={\mbox{NP}}}
Π 1 P = coNP {\displaystyle \Pi _{1}^{\rm {P}}={\mbox{coNP}}} {\displaystyle \Pi _{1}^{\rm {P}}={\mbox{coNP}}}
Δ 2 P = P NP {\displaystyle \Delta _{2}^{\rm {P}}={\mbox{P}}^{\mbox{NP}}} {\displaystyle \Delta _{2}^{\rm {P}}={\mbox{P}}^{\mbox{NP}}}

Eigenschaften

Die Vereinigung aller Klassen der Polynomzeithierarchie PH bildet eine Teilmenge von PSPACE:

  • PH := i = 0 Δ i P PSPACE {\displaystyle {\mbox{PH}}:=\bigcup _{i=0}^{\infty }\Delta _{i}^{\rm {P}}\subseteq {\mbox{PSPACE}}} {\displaystyle {\mbox{PH}}:=\bigcup _{i=0}^{\infty }\Delta _{i}^{\rm {P}}\subseteq {\mbox{PSPACE}}}

Es wird allgemein vermutet, dass diese Inklusion echt ist und dass die polynomielle Hierarchie unendlich viele voneinander verschiedene Stufen besitzt, d.h. dass i n : Σ i P Σ i + 1 P {\displaystyle \forall i\geq n:\Sigma _{i}^{\rm {P}}\neq \Sigma _{i+1}^{\rm {P}}} {\displaystyle \forall i\geq n:\Sigma _{i}^{\rm {P}}\neq \Sigma _{i+1}^{\rm {P}}} gilt. Falls aber in Wirklichkeit PH = PSPACE {\displaystyle {\mbox{PH}}={\mbox{PSPACE}}} {\displaystyle {\mbox{PH}}={\mbox{PSPACE}}} gilt, liegen PSPACE-vollständige Probleme wie TQBF bereits in einem Σ n P {\displaystyle \Sigma _{n}^{\rm {P}}} {\displaystyle \Sigma _{n}^{\rm {P}}} und die polynomielle Hierarchie kollabiert, d.h. es gibt ein n {\displaystyle n} {\displaystyle n} mit:

i n : Δ i P = Δ n P {\displaystyle \forall i\geq n:\Delta _{i}^{\rm {P}}=\Delta _{n}^{\rm {P}}} {\displaystyle \forall i\geq n:\Delta _{i}^{\rm {P}}=\Delta _{n}^{\rm {P}}} (Analog auch für Σ i {\displaystyle \Sigma _{i}} {\displaystyle \Sigma _{i}} und Π i {\displaystyle \Pi _{i}} {\displaystyle \Pi _{i}})

Im Falle der Gleichheit von P und NP kollabiert die Polynomialzeithierarchie vollständig, d.h. alle Σ n P {\displaystyle \Sigma _{n}^{\rm {P}}} {\displaystyle \Sigma _{n}^{\rm {P}}} und Π n P {\displaystyle \Pi _{n}^{\rm {P}}} {\displaystyle \Pi _{n}^{\rm {P}}} wären gleich P. Allgemein gilt:

  • Falls für ein k 0 {\displaystyle k\geq 0} {\displaystyle k\geq 0} gilt: Σ k P = Σ k + 1 P {\displaystyle \Sigma _{k}^{\rm {P}}=\Sigma _{k+1}^{\rm {P}}} {\displaystyle \Sigma _{k}^{\rm {P}}=\Sigma _{k+1}^{\rm {P}}}, so gilt für alle i > k {\displaystyle i>k} {\displaystyle i>k}: Σ k P = Σ i P {\displaystyle \Sigma _{k}^{\rm {P}}=\Sigma _{i}^{\rm {P}}} {\displaystyle \Sigma _{k}^{\rm {P}}=\Sigma _{i}^{\rm {P}}}

In der deskriptiven Komplexitätstheorie beschreibt die Logik zweiter Stufe die Polynomialzeithierarchie.

Literatur

Michael Sipser: Introduction to the Theory of Computation. 2. Auflage. ISBN 0-534-94728-X. 

Abgerufen von „https://de.wikipedia.org/w/index.php?title=Polynomialzeithierarchie&oldid=104375522"