Polynomhierarchie
Im Computerkomplexitätstheorie, das Polynomhierarchie (manchmal genannt das Polynomzeithierarchie) ist ein Hierarchie von Komplexitätsklassen das verallgemeinern die Klassen Np und Co-NP.[1] Jede Klasse in der Hierarchie ist darin enthalten PSPACE. Die Hierarchie kann mit Verwendung definiert werden Orakelmaschinen oder Wechsel Turing -Maschinen. Es ist ein ressourcenverrücktes Gegenstück zum arithmetische Hierarchie und analytische Hierarchie aus Mathematische Logik. Die Vereinigung der Klassen in der Hierarchie wird bezeichnet PH.
Klassen innerhalb der Hierarchie haben vollständige Probleme (in Bezug auf Polynomzeitreduzierungen) die fragen, ob Quantifizierte Boolesche Formeln Halten Sie für Formeln mit Einschränkungen der Quantifiziererordnung. Es ist bekannt, dass Gleichheit zwischen Klassen auf derselben Ebene oder aufeinanderfolgenden Ebenen in der Hierarchie einen "Zusammenbruch" der Hierarchie auf diese Ebene bedeuten würde.
Definitionen
Es gibt mehrere äquivalente Definitionen der Klassen der Polynomhierarchie.
Oracle Definition
Definieren Sie für die Orakeldefinition der Polynomhierarchie
wo P ist der Satz von Entscheidungsprobleme lösbar in Polynomzeit. Dann für i ≥ 0 definieren
wo ist der Satz von Entscheidungsprobleme lösbar in Polynomzeit durch a Turing Maschine erweitert von an Orakel für ein vollständiges Problem in Klasse A; die Klassen und sind analog definiert. Zum Beispiel, , und ist die Klasse von Problemen, die in der Polynomzeit durch eine deterministische Turing-Maschine mit einem Orakel für ein NP-Complete-Problem lösbar sind.[2]
Quantifizierte Boolesche Formeln Definition
Für die existenzielle/universelle Definition der Polynomhierarchie lassen Sie L sei a Sprache (d. h. a Entscheidungsproblem, eine Teilmenge von {0,1}*), Lassen p sei a Polynomund definieren
wo ist eine Standardcodierung des Paares binärer Strings x und w als einzelne binäre Zeichenfolge. L repräsentiert eine Reihe geordneter Stringspaare, bei denen die erste Zeichenfolge x ist ein Mitglied von und die zweite Zeichenfolge w ist ein "kurzer" () Zeugnis, das das aussagte x ist ein Mitglied von . Mit anderen Worten, Wenn und nur wenn es einen Kurzfalls gibt w so dass . In ähnlicher Weise definieren Sie
Beachten Sie, dass De Morgans Gesetze halt: und , wo Lc ist die Ergänzung von L.
Lassen C eine Klasse von Sprachen sein. Erweitern Sie diese Betreiber so, dass sie nach der Definition an ganzen Klassen von Sprachen arbeiten
Auch hier halten de Morgans Gesetze: und , wo .
Die Klassen Np und Co-NP kann definiert werden als , und , wo P ist die Klasse aller machbaren (Polynomzeit-) lehenden Sprachen. Die Polynomhierarchie kann rekursiv definiert werden als
Beachten Sie, dass , und .
Diese Definition spiegelt die enge Verbindung zwischen der polynomialen Hierarchie und der wider arithmetische Hierarchie, wo R und BETREFFEND Spielrollen analog zu spielen zu P und Np, beziehungsweise. Das analytische Hierarchie ist auch in ähnlicher Weise definiert, um eine Hierarchie von Teilmengen der realen Zahlen zu geben.
Definition der Turing -Maschinen abwechseln
Ein Wechsel Turing Machine ist eine nicht deterministische Turing-Maschine mit nicht-finalen Zuständen, die in existenzielle und universelle Zustände aufgeteilt sind. Es wird schließlich aus seiner aktuellen Konfiguration akzeptiert, wenn: Sie sich in einem existenziellen Zustand befindet, und kann in einige letztendlich die Konfiguration übergehen. Oder es befindet sich in einem universellen Zustand und jeder Übergang ist ein gewisser Konfiguration. Oder es ist in einem akzeptierenden Zustand.[3]
Wir definieren Um die Klasse von Sprachen zu sein, die von einer abwechselnden Turing -Maschine in Polynomzeit akzeptiert werden, so dass der Anfangszustand ein existenzieller Zustand ist und jeder Weg, den die Maschine höchsten k - 1 -mal zwischen existenziellen und universellen Zuständen. Wir definieren In ähnlicher Weise, außer dass der Anfangszustand ein universeller Zustand ist.[4]
Wenn wir die Erfordernis von höchstens auslassen k - 1 Swaps zwischen den existenziellen und universellen Zuständen, so dass wir nur verlangen, dass unsere abwechselnde Turing -Maschine in der Polynomzeit läuft, dann haben wir die Definition der Klasse AP, was gleich ist PSPACE.[5]
Beziehungen zwischen Klassen in der Polynomhierarchie
Die Vereinigung aller Klassen in der Polynomhierarchie ist die Komplexitätsklasse PH.
Die Definitionen implizieren die Beziehungen:
Im Gegensatz zu den arithmetischen und analytischen Hierarchien, deren Einschlüsse bekannt sind, ist es eine offene Frage, ob eine dieser Einschlüsse angemessen ist, obwohl allgemein angenommen wird, dass sie alle sind. Wenn überhaupt oder falls vorhanden dann die Hierarchie bricht auf Level k zusammen: für alle , .[6] Insbesondere haben wir die folgenden Auswirkungen auf ungelöste Probleme:
Der Fall, in dem Np = PH wird auch als als bezeichnet Zusammenbruch des PH zu die zweite Ebene. Der Fall P = Np entspricht einem Zusammenbruch von PH zu P.
Die Frage des Zusammenbruchs in die erste Ebene wird im Allgemeinen als äußerst schwierig angesehen. Die meisten Forscher glauben nicht an einen Zusammenbruch, selbst bis zur zweiten Ebene.
Beziehungen zu anderen Klassen
Die Polynomhierarchie ist ein Analogon (bei viel geringer Komplexität) der Exponentielle Hierarchie und arithmetische Hierarchie.
Es ist bekannt, dass der pH -Wert darin enthalten ist PSPACE, aber es ist nicht bekannt, ob die beiden Klassen gleich sind. Eine nützliche Umformulierung dieses Problems ist, dass pH = PSPACE, wenn und nur wenn Logik zweiter Ordnung über endliche Strukturen Gewinne keine zusätzliche Leistung von der Zugabe von a Transitive Schließung Operator.
Wenn die Polynomhierarchie welche hat vollständige Problemedann hat es nur endlich viele unterschiedliche Ebenen. Weil dort sind PSPACE-Complete Probleme, wir wissen, dass die Polynomhierarchie, wenn PSPACE = PH, zusammenbrechen muss, da ein PSPACE-Complete-Problem ein -Complete -Problem für einige k.[8]
Jede Klasse in der Polynomhierarchie enthält -Complete-Probleme (Probleme, die unter Polynomzeit abgeschlossen sind, viele eins Reduktionen). Darüber hinaus ist jede Klasse in der Polynomhierarchie unter geschlossen -Reduktionen: Das heißt das für eine Klasse C in der Hierarchie und einer Sprache , wenn , dann auch. Diese beiden Fakten zusammen implizieren das, wenn ist ein vollständiges Problem für , dann , und . Zum Beispiel, . Mit anderen Worten, wenn eine Sprache basierend auf einem Orakel in definiert wird CDann können wir davon ausgehen, dass es auf der Grundlage eines vollständigen Problems definiert ist C. Vollständige Probleme fungieren daher als "Vertreter" der Klasse, für die sie vollständig sind.
Das SIPser -Lautemann -Theorem gibt an, dass die Klasse BPP ist in der zweiten Ebene der Polynomhierarchie enthalten.
Kannans Theorem erklärt das für jeden k, ist nicht enthalten in GRÖSSE(nk).
Todas Satz gibt an, dass die Polynomhierarchie in p enthalten ist#P.
Probleme
- Ein Beispiel für ein natürliches Problem in ist Schaltungsminimierung: eine Nummer gegeben k und eine Schaltung A Computing a Boolesche Funktion fStellen Sie fest, ob es höchsten k Tore, die dieselbe Funktion berechnen f. Lassen C Sei der Satz aller booleschen Schaltungen. Die Sprache
ist in der Polynomzeit entzidert. Die Sprache
- Ein vollständiges Problem für ist Erfüllbarkeit für quantifizierte Boolesche Formeln mit k - 1 Wechsel von Quantifizierern (abgekürzt QBFk oder QSATk). Dies ist die Version der Boolesche Zufriedenheitsproblem zum . In diesem Problem erhalten wir eine boolesche Formel f mit Variablen aufgeteilt in k Sets X1, ..., Xk. Wir müssen feststellen, ob es wahr ist
- Eine Liste von Problemen im Garey/Johnson-Stil, von denen bekannt ist, dass sie für die zweite und höhere Ebene der Polynomhierarchie vollständig sind Dieses Kompendium.
Siehe auch
Verweise
Allgemeine Referenzen
- Arora, Sanjeev; Barak, Boaz (2009). Komplexitätstheorie: ein moderner Ansatz. Cambridge University Press. ISBN 978-0-521-42426-4.
Abschnitt 1.4, "Maschinen als Saiten und die universelle Turing -Maschine" und 1.7, "Beweis von Satz 1.9"
- A. R. Meyer und L. J. Stockmeyer. Das Äquivalenzproblem für reguläre Ausdrücke mit Quadrat erfordert einen exponentiellen Platz. In Proceedings of the 13. IEEE Symposium zum Umschalten und Automata -Theorie, S. 125–129, 1972. Das Papier, das die Polynomhierarchie einführte.
- L. J. Stockmeyer. Die Polynom-Zeit-Hierarchie. Theoretische Informatik, Vol.3, S. 1–22, 1976.
- C. Papadimitriou. Rechenkomplexität. Addison-Wesley, 1994. Kapitel 17. Polynomhierarchie, S. 409–438.
- Michael R. Garey und David S. Johnson (1979). Computer und Unverdaulichkeit: Ein Leitfaden zur Theorie der NP-Vervollständigung. W.H. Freeman. ISBN 0-7167-1045-5. Abschnitt 7.2: Die Polynomhierarchie, S. 161–167.
Zitate
- ^ Arora und Barak, 2009, S. 97
- ^ Vollständigkeit in der Polynomzeithierarchie A Compendium, M. Schaefer, C. Umans
- ^ Arora und Barak, S. 99–100
- ^ Arora und Barak, S. 100
- ^ Arora und Barak, S. 100
- ^ Arora und Barak, 2009, Theorem 5.4
- ^ Hemaspaandra, Lane (2018). "17.5 Komplexitätsklassen". In Rosen, Kenneth H. (Hrsg.). Handbuch für diskrete und kombinatorische Mathematik. Diskrete Mathematik und ihre Anwendungen (2. Aufl.). CRC Press. S. 1308–1314. ISBN 9781351644051.
- ^ Arora und Barak, 2009, Forderung 5.5