P/poly
Im Computerkomplexitätstheorie, P/poly ist ein Komplexitätsklasse Probleme darstellen, die durch kleine Schaltungen gelöst werden können. Genauer gesagt ist es der Satz von formelle Sprachen die polynomiale Kreisfamilien haben. Es kann auch in Bezug auf gleich definiert werden Turing -Maschinen mit Rat, zusätzliche Informationen, die der Turing -Maschine zusammen mit der Eingabe geliefert wurden, die von der Eingangslänge abhängen kann, jedoch nicht von der Eingabe selbst. In dieser Formulierung, P/poly ist die Klasse von Entscheidungsprobleme das kann durch eine Polynomzeit gelöst werden Turing Maschine mit Ratschlägen mit Längenpolynom in der Eingangsgröße.[1][2] Diese beiden verschiedenen Definitionen machen P/poly zentral zu Komplexität der Schaltung und ungleichmäßige Komplexität.
Zum Beispiel das Populär Miller -Rabin -Primalitätstest kann als formuliert werden P/poly Algorithmus: Der "Rat" ist eine Liste von Kandidaten a Werte zu testen. Es ist möglich, eine Liste von höchstens vorzubereiten n Werte so, dass jeder Komposit n-bitnummer wird mit Sicherheit einen Zeugen haben a In der Liste. Um beispielsweise die Primalität von 32-Bit-Zahlen korrekt zu bestimmen, reicht es aus, zu testen a = 2, 7 und 61.[3] Die Existenz von kurzen Listen von Zeugen von Kandidaten ergibt sich aus der Tatsache, dass für jedes Komposit n, 3/4s von allen möglich a Werte sind Zeugen; Ein einfaches Zählargument, das dem im Beweis ähnlich ist, das BPP in P/poly Unten zeigt das dort existiert eine geeignete Liste von a Werte für jede Eingangsgröße, obwohl es teuer ist, sie zu finden.
P/polyim Gegensatz zu anderen Polynom-Zeitklassen wie z. P oder BPP, wird im Allgemeinen nicht als praktische Klasse für das Computer angesehen. In der Tat enthält es jeden unentscheidbar Unary Sprache, keines davon kann allgemein durch echte Computer gelöst werden. Wenn die Eingangslänge dagegen durch eine relativ kleine Anzahl begrenzt ist und die Ratschläge kurz sind, kann sie verwendet werden, um praktische Algorithmen mit einer separaten teuren Vorverarbeitungsphase und einer schnellen Verarbeitungsphase wie im obigen Beispiel zu modellieren.
Formale Definition
Das Komplexitätsklasse P/poly kann in Bezug auf definiert werden GRÖSSE folgendermaßen:
wo ist der Satz von Entscheidungsprobleme Das kann durch polynomarme Leiterfamilien gelöst werden.
Alternative, kann mit Verwendung definiert werden Turing -Maschinen Dieser "Rat übernehmen". Eine solche Maschine hat für jeden n, ein Beratungszeichenfolge , was es in seiner Berechnung verwenden darf, wenn die Eingabe die Größe hat n.
Lassen Funktionen sein. Die Klasse der Sprachen, die von Time-T (n) entnommen werden können Turing -Maschinen mit Rat, bezeichnet , enthält jede Sprache L so dass es eine Sequenz gibt von Saiten mit und ein tm M befriedigend
für jeden , wo bei der Eingabe Die Maschine M läuft für höchstens Schritte.[4]
Bedeutung von P/Poly
P/poly ist aus mehreren Gründen eine wichtige Klasse. Für die theoretische Informatik gibt es mehrere wichtige Eigenschaften, von denen abhängig ist P/poly:
- Wenn Np ⊆ P/poly dann PH (das Polynomhierarchie) bricht zu . Dieses Ergebnis ist das Karp -Lipton -Theorem; weiter, Np ⊆ P/poly impliziert BIN = Ma [5]
- Wenn PSPACE ⊆ P/poly dann , eben PSPACE = Ma.
- Beweis: Betrachten Sie eine Sprache L aus PSPACE. Es ist bekannt, dass es eine gibt Interaktives Proof -System zum L, wo Handlungen des Provers von a durchgeführt werden können PSPACE Maschine. Nach Annahme kann der Prover durch eine Polynomgröße ersetzt werden. Deswegen, L hat ein Ma Protokoll: Merlin sendet die Schaltung als Beweis, und Arthur kann die simulieren IP Protokoll selbst ohne zusätzliche Hilfe.
- Wenn P#P ⊆ P/poly dann P#P = Ma.[6] Der Beweis ist oben ähnlich wie auf einem interaktiven Protokoll für permanent und #P-Completness von Permanent.
- Wenn Nachfolger ⊆ P/poly dann (Meyers Theorem), sogar Nachfolger = Ma.
- Wenn Nexptime ⊆ P/poly dann Nexptime = Nachfolger, eben Nexptime = Ma. Umgekehrt, Nexptime = Ma impliziert Nexptime ⊆ P/poly[7]
- Wenn ExpNp ⊆ P/poly dann (Buhrman, Homer) [8]
- Es ist bekannt, dass MaExp, eine exponentielle Version von Ma, ist nicht in enthalten in P/poly.
- Beweis: if MaExp ⊆ P/poly dann PSPACE = Ma (siehe oben). Durch Polsterung, Expace = MaExp, deshalb Expace ⊆ P/poly Dies kann jedoch bei Diagonalisierung als falsch erwiesen werden.
Einer der interessantesten Gründe dafür P/poly ist wichtig ist die Eigenschaft, die wenn Np ist keine Teilmenge von P/poly, dann P ≠ Np. Diese Beobachtung war das Zentrum vieler Versuche zu beweisen P ≠ Np. Es ist bekannt, dass für ein zufälliges Orakel A, NpA ist keine Teilmenge von PA/poly mit Wahrscheinlichkeit 1.[1]
P/poly wird auch im Bereich von verwendet Kryptographie. Sicherheit wird oft gegen "gegen" definiert P/poly Gegner. Abgesehen von den meisten praktischen Berechnungsmodellen wie wie BPPDies lässt auch die Möglichkeit zu, dass Gegner eine starke Vorkomputation für Eingaben bis zu einer bestimmten Länge wie bei der Konstruktion von durchführen können Regenbogentische.
Obwohl nicht alle Sprachen in P/poly sind spärliche Sprachen, da ist ein Polynomzeit-Turing-Reduktion von jeder Sprache in P/poly zu einer spärlichen Sprache.[9]
Probabilistisches Polynom mit begrenztem Erreger ist in P/Poly enthalten
Adlemans Theorem stellt fest, dass das BPP ⊆ P/poly, wo BPP ist der Satz von Problemen, die mit randomisierten Algorithmen mit zweiseitigem Fehler in der Polynomzeit lösbar sind. Ein schwächeres Ergebnis wurde zunächst durch nachgewiesen Leonard Adleman, nämlich das RP ⊆ P/poly;[10] und dieses Ergebnis wurde auf verallgemeinert BPP ⊆ P/poly durch Bennett und Gill.[11] Varianten des Theorems zeigen das Bpl ist in L/poly und BIN ist in NP/Poly.
Nachweisen
Lassen L eine Sprache sein in BPP, und lass M(x,r) Seien Sie ein Polynom-Zeit-Algorithmus, der entscheidet L mit Fehler ≤ 1/3 (wo x ist die Eingangszeichenfolge und r ist eine Reihe von zufälligen Bits).
Konstruieren Sie eine neue Maschine M'(x,R), was läuft M 48n Zeiten und nimmt eine Mehrheitsabstimmung der Ergebnisse (wo n ist die Eingangslänge und R ist eine Sequenz von 48n unabhängig zufällig rs). Daher, M' ist auch Polynomzeit und hat eine Fehlerwahrscheinlichkeit ≤ 1///en bis zum Tschernoff gebunden (sehen BPP). Wenn wir reparieren können R Dann erhalten wir einen deterministischen Algorithmus.
Wenn ist definiert als , wir haben:
Die Eingangsgröße ist n, also gibt es 2n mögliche Eingaben. So von der Gewerkschaft gebunden, die Wahrscheinlichkeit, dass ein zufälliges R ist schlecht für mindestens einen Eingang x ist
In Worten die Wahrscheinlichkeit, dass R ist schlecht für einige x ist weniger als 1, daher muss es eine geben R Das ist gut für alle x. Nehmen Sie so ein R Um die Beratungszeichenfolge in unserem zu sein P/poly Algorithmus.
Verweise
- ^ a b Lutz, Jack H.; Schmidt, William J. (1993), "Schaltungsgröße relativ zu Pseudorandom Orakel", Theoretische Informatik, 107 (1): 95–119, doi:10.1016/0304-3975 (93) 90256-s, HERR 1201167
- ^ "Vorlesungen zur rechnerischen Komplexität von Peter Bro Miltersen" (PDF). Archiviert von das Original (PDF) Am 2012-02-23. Abgerufen 2009-12-25.
- ^ Primzahlen finden und Primalität beweisen
- ^ Arora, Sanjeev; Barak, Boaz (2009), Rechenkomplexität. Ein moderner Ansatz, Cambridge University Press, ISBN 978-0-521-42426-4, Zbl 1193.68112
- ^ Arvind, Vikraman; Köter, Johannes; Schöning, Uwe; Schuler, Rainer (1995), "Wenn NP über Polynomgrößenschaltungen verfügt, dann Ma = Am", Theoretische Informatik, 137 (2): 279–282, doi:10.1016/0304-3975 (95) 91133-B, HERR 1311226
- ^ Babai, László; Fortnow, Lance; Lund, Carsten (1991),, "Nichtdeterministische exponentielle Zeit hat zwei problematische interaktive Protokolle", Rechenkomplexität, 1 (1): 3–40, doi:10.1007/bf01200056, HERR 1113533, archiviert von das Original on 2012-03-31, abgerufen 2011-10-02
- ^ Impagliazzo, Russell; Kabanets, Valentine; Wigderson, Avi (2002), "Auf der Suche nach einem einfachen Zeugen: Exponentialzeit vs. probabilistische Polynomzeit" (PDF), Journal of Computer and System Sciences, 65 (4): 672–694, doi:10.1016/s0022-0000 (02) 00024-7, HERR 1964649
- ^ Ein Hinweis zum KARP-Lipton-Zusammenbruch für die exponentielle Hierarchie
- ^ Jin-yi Cai. Vorlesung 11: P/Poly, spärliche Sets und Mahaneys Theorem. CS 810: Einführung in die Komplexitätstheorie. Die Universität von Wisconsin -Madison. 18. September 2003.
- ^ Adleman, L. M. (1978), "Zwei Theoreme zur zufälligen Polynomzeit", Verfahren des neunzehnten jährlichen IEEE -Symposiums für Fundamente der Informatik, S. 75–83, doi:10.1109/sfcs.1978.37
- ^ Charles H. Bennett, John Gill. Relativ zu einem zufälligen Orakel a, pA ≠ npA ≠ Co-NPA mit Wahrscheinlichkeit 1. [1]