Probabilistisch prüfbarer Beweis

Im Computerkomplexitätstheorie, a Probabilistisch prüfbarer Beweis (PCP) ist eine Art von Art von nachweisen das kann von a überprüft werden Randomisierter Algorithmus unter Verwendung einer begrenzten Zufälligkeit und Lesen einer begrenzten Anzahl von Bits des Beweises. Der Algorithmus ist dann erforderlich, um korrekte Beweise zu akzeptieren und falsche Beweise mit sehr hoher Wahrscheinlichkeit abzulehnen. Ein Standardnachweis (oder Zertifikat), wie in der verwendet Überprüfung-basierte Definition der Komplexitätsklasse NpErfüllt auch diese Anforderungen, da das Überprüfungsverfahren den gesamten Beweis dauerhaft liest, immer korrekte Beweise akzeptiert und falsche Beweise ablehnt. Was sie jedoch interessant macht, ist jedoch die Existenz von probabilistisch überprüfbaren Beweisen, die überprüft werden können, indem nur wenige Bits des Beweises unter Verwendung von Zufälligkeit auf wesentliche Weise gelesen werden.

Probabilistisch prüfbare Beweise führen zu zahlreichen Komplexitätsklassen, abhängig von der Anzahl der erforderlichen Abfragen und der Menge der verwendeten Zufälligkeit. Die Klasse PCP[r(n),q(n)] bezieht sich auf den Satz von Entscheidungsprobleme die probabilistisch prüfbare Beweise haben, die in der Polynomzeit überprüft werden können r(n) Zufällige Teile und durch höchstes Lesen q(n) Bits des Beweises.[1] Sofern nicht anders angegeben, sollten korrekte Beweise immer akzeptiert werden, und falsche Beweise sollten mit einer Wahrscheinlichkeit von mehr als 1/2 abgelehnt werden. Das PCP -Theorem, ein Hauptergebnis in der Rechenkomplexitätstheorie, gibt das fest, dass PCP[O (log n), O (1)] =Np.

Definition

Angenommen Entscheidungsproblem L (oder eine Sprache L mit seinem Alphabetsatz σ), a probabilistisch überprüfbares Proof -System zum L mit Vollständigkeit c(n) und Solidität s(n), wobei 0 ≤ s(n) ≤ c(n) ≤ 1, besteht aus einem Prover und einem Verifizierer. Bei einer beanspruchten Lösung X mit Länge N, die falsch sein könnte, erzeugt der Prover einen Beweis π welche Staaten x Löst L (xLDer Beweis ist eine Zeichenfolge ∈ σ*). Und der Verifizierer ist randomisiert Oracle Turing Machine V (das Überprüfung) Das überprüft den Beweis π für die Aussage, dass x löst L(oder xL) und entscheidet, ob die Erklärung akzeptiert werden soll. Das System hat die folgenden Eigenschaften:

  • Vollständigkeit: Für jeden xL, Angesichts des Beweises π Der Verifier wird vom Prover des Systems erzeugt und akzeptiert die Aussage zumindest mit Wahrscheinlichkeit c(n),
  • Solidität: Für jeden xL, dann für jeden Beweis π, der Verifier akzeptiert fälschlicherweise die Aussage mit der Wahrscheinlichkeit höchstens s(n).

Für die Rechenkomplexität des Verifizierers haben wir das Zufälligkeit Komplexität r(n) um die maximale Anzahl zufälliger Bits zu messen, die V Verwendet über alle x von Länge n und die Komplexität von Abfragen q(n) des Verifizierers ist die maximale Anzahl von Abfragen, die V macht π über alle x von Länge n.

In der obigen Definition wird die Länge des Beweises nicht erwähnt, da es normalerweise das Alphabet -Set und alle Zeugen enthält. Für den Prover ist es uns egal, wie er bei der Lösung des Problems eintrifft. Wir kümmern uns nur um den Beweis, den es über die Mitgliedschaft der Lösung in der Sprache gibt.

Der Verifizierer soll sein nicht adaptiv Wenn es alle Abfragen macht, bevor es eine der Antworten auf frühere Fragen erhält.

Die Komplexitätsklasse PCPc(n),s(n)[r(n),q(n)] ist die Klasse aller Entscheidungsprobleme, die probabilistisch überprüfbare Beweissysteme über binäres Alphabet der Vollständigkeit haben c(n) und Solidität s(n), wo der Verifizierer nicht adaptiv ist, in der Polynomzeit läuft und die Zufälligkeitskomplexität aufweist r(n) und Komplexität der Abfrage q(n).

Die Kurzbeschreibung PCP[r(n),q(n)] wird manchmal für verwendet PCP1, ½[r(n),q(n)]. Die Komplexitätsklasse PCP ist definiert als PCP1, ½[O (logn), O (1)].

Geschichte und Bedeutung

Die Theorie der probabilistisch überprüfbaren Beweise untersucht die Kraft probabilistisch überprüfbarer Proof -Systeme unter verschiedenen Einschränkungen der Parameter (Vollständigkeit, Soundness, Zufälligkeitskomplexität, Abfragekomplexität und Alphabetgröße). Es hat Anwendungen zu Rechenkomplexität (im Speziellen Annäherungshärte) und Kryptographie.

Die Definition eines probabilistisch überprüfbaren Beweises wurde 1992 von Arora und Safra ausdrücklich eingeführt.[2] obwohl ihre Eigenschaften früher untersucht wurden. 1990 haben Babai, Fortnow und Lund das bewiesen PCP[Poly (Poly (n), poly (n)] = Nexpdie erste nicht triviale Äquivalenz zwischen Standardnachweisen (Nexp) und wahrscheinlich prüfbare Beweise.[3] Das PCP -Theorem im Jahr 1992 bewirtschaftet, dass die Staaten, dass PCP[O (log n), O (1)] =Np.[2][4]

Die Theorie von Annäherungshärte Erfordert ein detailliertes Verständnis der Rolle der Vollständigkeit, der solide Größe, der Alphabetgröße und der Komplexität von Abfragen in probabilistisch überprüfbaren Beweisen.

Eigenschaften

Aus Sicht der rechnerischen Komplexität wird für extreme Einstellungen der Parameter die Definition von probabilistisch überprüfbaren Beweisen leicht als gleichwertig angesehen Komplexitätsklassen. Zum Beispiel haben wir Folgendes für eine andere Einstellung von PCP[R (n), q (n)]:

  • PCP[0, 0] = P (P ist definiert, um keine Zufälligkeit und keinen Zugriff auf einen Beweis zu haben.)
  • PCP[O (log (log (log)n)), 0] = P (Eine logarithmische Anzahl zufälliger Bits hilft einer Polynomzeit -Turing -Maschine nicht, da sie alle möglicherweise zufälligen Zeichenfolgen der logarithmischen Länge in der Polynomzeit ausprobieren könnte.)
  • PCP[0, o (log (log (log)n))] = P (Ohne Zufälligkeit kann der Beweis als eine feste logarithmische Zeichenfolge angesehen werden. Eine Polynomzeitmaschine könnte alle möglichen logarithmischen Beweise in der Polynomzeit ausprobieren.)
  • PCP[Poly (Poly (n), 0] = Leiche (Per Definition von Leiche.))
  • PCP[0, poly (n)] = Np (Durch die auf Verifier basierende Definition von NP.)

Der PCP -Theorem und MIP = NEXP kann wie folgt charakterisiert werden:

  • PCP[O (log n), O (1)] =Np (der PCP -Theorem)
  • PCP[Poly (Poly (n), O (1)] =PCP[Poly (Poly (n), poly (n)] =Nexp (Mip = nexp).

Es ist auch bekannt, dass das PCP[r(n),q(n)] ⊆ Ntzeit(Poly (n, 2Ö(r(n))q(n))). Im Speziellen, PCP[Protokoll n, Poly (Poly (n)] = Np. Andererseits, wenn NpPCP[o (log n), o (Protokoll n)] dann P = np.[2]

Lineare PCP

Ein linearer PCP ist ein PCP, bei dem der Beweis ein Vektor von Elementen eines endlichen Feldes ist und so, dass das PCP -Orakel nur lineare Vorgänge auf dem Nachweis ausführen darf. Nämlich die Antwort vom Orakel auf eine Verifier -Abfrage ist eine lineare Funktion .Lineare PCPs haben wichtige Anwendungen in Proofsystemen, die in Snarks kompiliert werden können.

Siehe auch

Verweise

  1. ^ Arora, Sanjeev; Barak, Boaz (2007), Rechenkomplexität: ein moderner Ansatz, Cambridge University Press, p. 241, ISBN 978-0-521-42426-4
  2. ^ a b c Arora, Sanjeev; Safra, Shmuel (1998), "Probabilistische Überprüfung von Beweisen: Eine neue Charakterisierung von NP", Journal of the ACM, 45 (1): 70–122, doi:10.1145/273865.273901, S2CID 751563
  3. ^ Babai, László; Fortnow, Lance; Lund, Carsten (1990), "Nichtdeterministische exponentielle Zeit hat zwei prob-interaktive Protokolle", Verfahren des 31. jährlichen Symposiums für Fundamente der Informatik (FOCS 1990), S. 16–25, Citeseerx 10.1.1.130.9311, doi:10.1109/fscs.1990.89520, ISBN 978-0-8186-2082-9, S2CID 38429596
  4. ^ Arora, Sanjeev; Lund, Carsten; Motwani, Rajeev; Sudan, Madhu; Szegedy, Mario (1998), "Beweisüberprüfung und die Härte von Annäherungsproblemen", Journal of the ACM, 45 (3): 501–555, doi:10.1145/278298.278306, S2CID 8561542

Externe Links