• Keine Ergebnisse gefunden

6 Kontextfreie Grammatiken und Sprachen

Studienbrief 7: PCP Theorie

6.2 Interaktive Beweise

(x,y1,...,yk) in L' }.

Für L aus IIk analog unter Vertauschung der Quantoren.

Aus der probabilistische Komplexitätsanalyse wissen wir:

L in NP falls es eine Prädikat A : {0,1}n x {0,1}p(n) → {0,1} gibt mit - für alle x in L: Prob(A(x,y) = 1) > 0

- für alle x nicht in L: Prob(A(x,y) = 0) = 1 Oder alternativ:

- für alle x in L existiert ein w in {0,1}p(|x|) A(x,w) = 1. Dabei ist w Beweis bzw. Zeuge für die Eigenschaft aus L

- für alle x nicht in L, für alle w in {0,1}p(|x|) A(x,w) = 0.

6.2 Interaktive Beweise

Die Motivation für interaktive Beweise (Goldwasser, Micali und Rackoff, 1989) ist nicht

offenkundig. Es erbeben sich neue Komplexitätsklassen mit interessanten Eigenschaften. Aber viel wichtiger ist die neue Sicht auf die Komplexität von Problemen. Selbst in der Mathematik ist der Begriff eines “formalen Beweises” relativ jung. Streng genommen benötigt ein formaler Beweis ein Axiomensystem und eine endliche Menge von Regeln, um Schlussfolgerungen aus dem Axiomen und den bereits bewiesenen Theoremen zu ziehen. Der Vorteil ist, dass derartige Beweise leicht auf Korrektheit überprüft werden können. Der Nachteil ist, dass die Beweise unlesbar lang werden und die Beweisideen überdecken. In der Realität führt man demnach Beweise in einer Form, die

verständlich sind, und sie gelten als akzeptiert, falls Fachleute sie bei der Begutachtung für wissenschaftliche Zeitschriften akzeptieren. Dieser Prozess ist interaktiv.

Somit kommt die heutige Realität dem historischen Beweisbegriff nahe; Sokrates hat Beweise als Dialoge zwischen Schüler und Lehrer gesehen. Die Lehrerrolle wird von Beweiser (prover) B übernommen und die Schülerinnenrolle von dem Verifizierer (verifier) V. Die Aufgabenstellung lässt sich nun wie folgt beschreiben. Für ein Entscheidungsproblem L und eine Eingabe x will B beweisen dasss x in L ist, während V den Beweis überprüfen soll. Falls x in L ist, soll es einen Beweis geben, dem V effizient überprüfen kann. Falls x nicht in L ist, soll V in der Lage sein, jeden Beweisversuch von B zu falsifizieren.

In gewisser Weise kann ein Beweis als ein Spiel aufgefasst werden. Die Spieler bringen

abwechselnd Argumente und Gegenargumente “ins Spiel”. Ein solcher Dialog wird schließlich

“gewonnnen” oder “verloren”. Beispielsweise wollen wir beweisen, dass der Grenzwert von 1/n² = 0 ist. Wir wissen, dass wir folgendes zeigen müssen. Für alle (“Teufel”) ε > 0 exisitiert (“Engel”)

ein n0, so dass für alle (“Teufel”) n >= n0: |1/n²| < ε. Der Verifizierer (“Teufel”) gibt ein ε z.B. 0.01 vor. Der Beweiser (Engel) gibt n_0 = 11 zurück, der Verizierer wählt n = 12 und verliert.

In diesem Modell finden wir die Sprachklasse NP leicht wieder, die wir wie folgt eingefasst haben:

L liegt in NP, falls L' in P, p ein Polynom und L = { x | exisitiert y in {0,1}p(|x|): (x,y) in L' }.

Der polynomielle Verifikationsalgorithmus von V besteht darin, für die Eingabe x und den Beweisversucht y von B zu überprüfen, ob (x,y) in L' ist. Falls x in L gibt es einen Beweis, der V überzeugt. Für Klassen höher in der polynomiellen Hierarchie stellen wir uns das Wechselspiel der Quantoren als Dialog vor.

Definition. Ein interaktives Beweissystem (interactive proof system) besteht aus einem Kommunikationsprotokoll zwischen zwei Parteien B und V und zugehörigen randomisierten Algorithmen. Das Protokoll regelt, wer die erste Nachricht sendet. Nach einer (evtl. Von der Eingabe und dem Zufall abhängigen) Anzahl von Runden entscheidet V, ob die Eingabe akzeptiert wird. Die Rechenkraft von V ist polynomiell in der Eingabe beschränkt. Wir bezeichnen die Zufallsvariable, die beschreibt, ob x nach dem Dialog akzeptiert wird mit D{B,V}.

Wir wollen den Zufall kurz motivieren. Beim Spiel: Stern-Schere-Papier (“Roshambo”) betrachten wir für die zwei Spieler folgende “Auszahlungsmatrix”: 0 bedeutet unentschieden, 1 bedeutet Spieler 1 hat gewonnen und -1 bedeutet Spieler 2 hat gewonnen.

Stein Schere Papier

Stein 0 1 -1

Spieler 1 Schere -1 0 1

Papier 1 -1 0

Bei diesem Spiel ist jede “reine” Strategie, die sich in jedem Zug auf eine Wahl festlegt miserabel.

Das beste, was man tun kann, in einer “gemischten” Strategie einen Zug mit einer Wahrscheinlichkeit von 1/3 auszuwählen.

Definition. Ein Entscheidungsproblem L gehört zur Komplexitätsklasse IP, wenn es ein

Kommunikationsprotokoll K und einen randomisierte, polynomiell beschränkten Algorithmus V mit den folgenden Eigenschaften gibt:

- Es gibt einen randomisierten Algroithmus B, so dass für alle x in L die Bedingung Prob(D{B,V} = 1) >= ¾ erfüllt ist

- Für alle randomisierten Algorithmen B und x nicht in L ist die Bedingung Prob(D{B,V} = 1) <= ¼ erfüllt.

Statt ¼ und ¾ hätten wir auch jedes andere ε in (0,½) wählen können

Ein weiteres Beispiel. Der Beweiser möchte den Verifizierer davon überzeugen, dass zwei Objekte A und B voneinander verschieden sind. Der Verifizierer ist jedoch nicht in der Lage, den

Unterschied zu erkennen. Ein interaktiver Beweis könnte wie folgt aussehen, dass der Verifizierer hinter dem Rücken – für den Beweiser unsichtbar – eines der Objekte auswählt und dieses dem Beweiser vorführt; dieser benennt das Objekt als A oder B. Nun wird das Ganze wiederholt: Der

Verifizierer wählt wieder zufällig aus und zeigt es (merkt sich aber, welches sie vorzeigt). Wenn der Beweiser nach diesem Spiel nach, sagen wir, 20 Runden jedesmal konsistent geantwortet hat, so besteht eine Chance von 1/220, dass der Beweiser jedes Mal Glück gehapt hat. Der Verifizierer muss also davon ausgehen, dass es doch irgentetwas gibt, was A von B unterscheidet.

Ein interaktives Beweissystem vollzieht sich in Runden. Pro Runde ist nur einer der Spieler aktiv.

Definition. Ein Problem L in IP gehört zur Klasse IP(k), falls das zugehörige

Kommunikationsprotokoll maximal k Runden, also k gesendete Nachrichten vorsieht.

Da die Polynomialität des Verifizierers gefordert wird, gilt offensichtlich NP in IP(1), also ist IP angenommen groß. Tatsächlich gilt IP = PSPACE.

Das Graphisomorphieproblem (GI) lautet wie folgt: Gegeben zwei Graphen G1 und G2, ist G1

eineindeutig/bijektiv/isomorph auf G2 abbildbar. Eine Isomorphie ist in diesem Falle eine Permutation der Knoten. Nach der Anwendung muss G1 = G2 gelten, d.h. alle Kanten übereinstimmen.

GI ist eines der wenigen “offenen” Probleme in NP, in dem Sinne, dass weder die Existenz eines polynomialen Algorithmus, noch die NP-vollständigkeit nachgewiesen werden konnte.

Es wurden IP-Klassen für das Graphisomorphieproblem GI (bzw. dessen Komplement ¬GI) beschrieben, dass schwer zu charakterisieren ist, z.B. ¬GI in IP(2). Die Beweisidee ist, dass der Verifizierer eine zufällige Hashfunktion h auswählt und an den Beweiser sendet, der widerum findet ein j in {1,2}, sendet dieses zurück und der Verifizierer gewinnt, falls h(pi(Gj)) = 0 gilt. Hierbei liegt der Wertebereich von h etwa 1,5 * n! Hat und es somit “wahrscheinlicher” ist, dass irgendein festgehaltener Punkt im Wertebereich von h (z.B. die Null) ein Urbild unter h hat, wenn der Urbildbereich groß ist (=2n!), als wenn dieser klein (=n!) ist. Der Unterschied zwischen Nicht-Isomorphie und Nicht-Isomorphie manifestiert sich darin, dass eine gewisse Menge, deren Elemente nichtdeterministisch generiert werden können, das eine Mal die Mächtigkeit 2n! Und das andere Mal die Mächtigkeit n! hat (näheres über die Entscheidungskaskade zur Auswahl eines zu G1 und G2 isomorphen Graphen siehe Schöning in “Highlights der Informatik”).

GI liegt also in NP, aber wahrscheinlich dort nicht vollständig, sonst bräche die polynomielle Hierarchie auf der zweiten Stufe zusammen. Das aktuelle Resultat ist dass GI quasi-polynomiell ist, also in O(npoly(log(n))) liegt.

Zero-Knowledge. In diesem Setting sind der Beweiser und der Verifizierer weit voneinander entfernt und die Kommunikation verläuft über ein Medium. Es kommt gar nicht mehr um den Satz an, der bewiesen werden soll, sondern ob der Beweiser im Besitz einen Beweises (eines

Geheimnisses) ist. Ein Beispiel wäre ein remote-login über das Netz oder das Telebanking. Wichtig hierbei ist, zu zeigen, dass der Beweiser im Besitz des Passworts ist, ohne es einem potentiellen Abhörer es zu erlauben, auf selbiges zu schließen.

Wie geht das überhaupt? Hier hilft das Konzept des Turing-Tests weiter, bei dem ein Computer belegen soll, dass er wie ein Mensch kommuniziert. Man kann an einem Terminal durch eine Menge von Fragen entweder Mensch oder Maschine in angemessener Zeit befragen und muss sich danach entscheiden, um welche Entität es sich handelt. Liegt die Trefferquote nahe bei 50%, so wird man sagen müssen, dass der Computer sich zumindest wie ein intelligentes Wesen verhält.

Definition. Sei View(B,V,x) eine Zufallsvariable mit der Information, die genau die Werte annimmt, die bei einem Lauf eines interaktiven Beweises bei Eingabe x als Kommunikation zwischen

Beweiser B und Verifizierer V übertragen werden. Wir sagen ein interaktiver Beweis hat die perfekte Zero-Knowledge Eigenschaft, wenn es einen polynomialzeitbeschränkten Algorithmus M gibt (dieser darf auch Zufallszahlen verwenden), so das die beiden Zufallsvariablen View(B,V,x) und M(x) identisch sind.

Statistisch gesehen könnte die auf dem Kommunikationsmedium zu beobachtbare Information demnach ein vergleichsweise “dummer” Algorithmus erzugt haben, der dem Verifizierer ohnehin zur Verfügung stünde. Oft wird sogar verlangt, dass es für jeden Verifikationsalgorithmus V einen

“Simulator” M gibt. Hierdrin drückt sich auch das Mißtrauen gegenüber der Verifizierin aus.

Ein schönes Beispiel für diese Eigenschaft ist das Graphisomorphieproblem GI. Der Ablauf ist wie folgt. Wir nehmen an, der Beweiser kennt das Geheimnis π mit π(G_1) = G_2

1. Der Beweiser wählt zufällig ein j aus {1,2} und eine Permutation π' aus. Er berechnet den Graphen H = π'(G_j) und übermittelt diesen der Verifiziererin.

2. Der Verifizierer wählt ein k wieder aus {1,2} zufällig aus und übermittelt die Zahl dem Beweiser.

3. Der Beweiser bestimmt eine Permutation π'' und übermittelt diese dem Verifizierer 4. Dieser akzeptiert genau dann, falls H = π''(Gk).

Dieses Protokoll erfüllt im wesentlichen die Definition von IP. Falls G1 und G2 isomorph sind, so kann der Beweiser immer, d.h. mit Wahrscheinlichkeit 1, das geforderte π'' liefern. Falls k = j, dann π'' = π', andernfalls ist π'' eine Kombination von π' und π-1. Falls die Graphen nicht isomorph sind kann der Beweiser im Falle j <> k die Aufforderung nicht erfüllen, also mit Wahrscheinlichkeit von

½. Um von W'keit 1 und ½ auf ε und 1-ε zu kommen, verändert man das Protokoll, dass nur mit W'keit ¾ akzeptiert wird. Dann erhält man ¾ im einem und ½*¾ = 0.375 im negativen Fall.

Das Protokoll hat die Zero-Knowlege Eigenschaft. Zwischen Beweiser und Verifizierer werden folgende Tripel im Laufe eines Beweises kommuniziert: (H,k, τ) mit H = τ(G). Alle solche Tripel kommen mit gleicher Wahrscheinlichkeit vor. Durch einen einfachen Algorithmus können solche Tripel ebenfalls mit Gleichverteilung generiert werden und es gilt die perfekte Zero-Knowledge-Eigenschaft. Der Trick besteht darin, diese Tripel nicht in der obigen Reihenfolge H,k,τ zu bestimmen, sondern in der Reihenfolge τ,k,H mit H=τ(Gk).