E ziente PCP-Veri zierer:

Werbung
Eziente PCP-Verizierer:
Untersuchung von algebraischen und
kombinatorischen Konstruktionen
Diplomarbeit von
Houssem Belloum
Sommersemester 2006
Version vom 18. Juli 2006
Betreuer: Prof. Jacques Calmet und Dipl. Inform. Thilo Mie
Institut für Algorithmen und Kognitive Systeme
Universität Karlsruhe (TH)
Erklärung
Ich erkläre hiermit diese Arbeit selbstständig verfasst und keine anderen als
die angegebenen Quellen und Hilfsmittel verwendet zu haben.
Ort,
Datum
Danksagung
Diese Arbeit käme nicht zustande ohne die Hilfsbereitschaft und das Engagement meines Betreuers Dipl. Inform. Thilo Mie, der mich in der Forschung
und in der Ausarbeitung ständig unterstützt hat. Meine Lebensgefährtin Özge Tahiroglu stand an meiner Seite in Augenblicken, die nicht immer voller
Honung waren. An Beide richte ich meinen herzlichen Dank.
Je remercie encore ma mère et mon père, Mounira et Mahmoud Belloum,
ainsi que toute ma famille pour les valeurs, dont ils m'ont muni, et qui ont
autant de valeur qu'un diplome d'informaticien et même plus.
Inhaltsverzeichnis
1 Einführung und Denitionen
1.1
1.2
1.3
PCP-Konstruktionen
1
. . . . . . . . . . . . . . . . . . . . . . .
PCP-Denition
1.1.1
Formale
1.1.2
Komposition und
1.1.3
2
. . . . . . . . . . . . . . . . .
2
. . . . . . . . . . . . . . . . .
4
Bisherige Ergebnisse und Ziel der Arbeit . . . . . . . .
7
Technische Werkzeuge
PCPPs
. . . . . . . . . . . . . . . . . . . . . .
10
1.2.1
Expandergraphen . . . . . . . . . . . . . . . . . . . . .
10
1.2.2
Cayley-Graphen
. . . . . . . . . . . . . . . . . . . . .
13
1.2.3
Fehlerkorrigierende Codes . . . . . . . . . . . . . . . .
15
Organisation der Arbeit
. . . . . . . . . . . . . . . . . . . . .
2 Algebraische PCP-Konstruktionen
17
2.1
Algebraischer Ansatz . . . . . . . . . . . . . . . . . . . . . . .
2.2
Reduktion von 3-SAT auf
2.3
RS-Verizierer
2.4
Basis-Verizierer für
2.5
hitter-Algorithmen
2.6
Ein algebraischer polylog-Verizierer
LUACSP
16
18
. . . . . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . . . .
20
LUACSP
. . . . . . . . . . . . . . . . . . .
23
. . . . . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . .
3 Kombinatorische PCP-Konstruktionen
27
29
3.1
Kombinatorischer Ansatz
. . . . . . . . . . . . . . . . . . . .
29
3.2
Ausdehnung der Erfüllbarkeitslücke . . . . . . . . . . . . . . .
31
3.2.1
Knoten-Duplizierung . . . . . . . . . . . . . . . . . . .
32
3.2.2
Expandisierung . . . . . . . . . . . . . . . . . . . . . .
35
i
3.3
3.2.3
Powering
. . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4
Komposition
3.2.5
Verdopplung der Erfüllbarkeitslücke
. . . . . . . . . . . . . . . . . . . . . . .
37
40
. . . . . . . . . .
44
. . . . . . . . . . . . . . . .
45
3.3.1
Hybrider Ansatz: kombinatorisch und algebraisch . . .
46
3.3.2
Algebraische
3.3.3
PCP-Konstruktionen
nach Dinur
PCP-Anwendung
. . . . . . . . . . . . . .
47
Aufblähung der Variablen
. . . . . . . . . . . . . . . .
48
3.3.4
Reduktion des Alphabets
. . . . . . . . . . . . . . . .
49
3.3.5
Ausdehnung der Erfüllbarkeitslücke . . . . . . . . . . .
51
3.3.6
PCP-Protokoll
51
nach Dinur . . . . . . . . . . . . . . . .
4 Hybrider PCP-Verizierer mit polylogarithmischer Laufzeit 53
4.1
4.2
4.3
4.4
Aufbau des Verizierers
. . . . . . . . . . . . . . . . . . . . .
54
4.1.1
Notationen
. . . . . . . . . . . . . . . . . . . . . . . .
54
4.1.2
Das Protokoll des Verizierers . . . . . . . . . . . . . .
56
4.1.3
Bausteine des Schaltkreises
. . . . . . . . . . . . . . .
60
Strukturierung des Beweises . . . . . . . . . . . . . . . . . . .
62
4.2.1
Nachbarschaft eines Knoten . . . . . . . . . . . . . . .
62
4.2.2
Kanonische Ordnungen . . . . . . . . . . . . . . . . . .
68
Adressierung der Knoten . . . . . . . . . . . . . . . . . . . . .
72
4.3.1
Struktur der Knotenadressen
. . . . . . . . . . . . . .
73
4.3.2
Komplexität der Knotenadressierung . . . . . . . . . .
76
4.3.3
Berechnung der Knotenadressen . . . . . . . . . . . . .
77
Analyse des Verizierers . . . . . . . . . . . . . . . . . . . . .
81
4.4.1
Analyse der Laufzeit . . . . . . . . . . . . . . . . . . .
82
4.4.2
Analyse der übrigen Parameter
83
5 Fazit und Ausblick
. . . . . . . . . . . . .
85
Literatur
88
ii
Kapitel 1
Einführung und Denitionen
PCP-Konstruktionen und deren EfPCP (Probabilistically Checkable Proof ) wurde in [ALM+ 92]
In dieser Arbeit beschäftigen wir uns mit
zienz. Der Begri
im Rahmen der Verikation von formalen Sprachen eingeführt und bot eine
Alternative zu den deterministischen Sprachakzeptoren.
Denition 1.1 (Sprachakzeptoren) Ein
Akzeptor einer Sprache L, ist
ein Algorithmus V , der für eine Eingabe x entscheidet, ob x ∈ L oder x ∈
/L
gilt. Der Algorithmus V heiÿt auch ein Verizierer von L.
PCP-Verizierer sind Sprachakzeptoren, die die Mitgliedschaft einer Eingabe
x in einer Sprache L nicht-deterministisch (probabilistisch) entscheiden: Ein
gültiger Kandidat wird immer akzeptiert und die Wahrscheinlichkeit, einen
ungültigen Kandidaten zu akzeptieren, ist klein. Eine formale Denition folgt
im nächsten Abschnitt.
Wir werden Sprachakzeptoren aus komplexitätstheoretischer Sicht betrachten: Wie ezient können bestimmte Klassen von Sprachen veriziert werden?
Für den Aufwand einer Berechnung haben sich folgende Maÿe etabliert:
1. Zeitkomplexität: Wie viele Rechenschritte werden ausgeführt?
2. Platzkomplexität: Wie viele Speicherzellen werden gebraucht?
1
3. Beschreibungskomplexität:
Wie kurz kann eine Berechnung beschrie-
ben werden?
Da Algorithmen mit exponentieller laufzeit (in der Länge der Eingabe) praktisch nicht anwendbar sind, wurde die Optimierung der Zeitkomplexität von
1
Diese von Kolmogorov [Kol68] eingeführte Komplexität spielt eine bedeutende Rolle
in der Informationstheorie. In der Komplexitätstheorie wird sie allerdings nicht intensiv
erforscht.
1
Algorithmen zum Hauptziel der Komplexitätstheorie. Ein Meilenstein in der
Kategorisierung von Sprachen nach der Zeitkomplexität ist die Arbeit von
Cook, in der die Klasse
NP
eingeführt wurde [Coo71]:
Denition 1.2 Die Klasse NP enthält alle Sprachen bzw. Probleme, die mit
einer deterministischen Turing-Maschine in einer in der Länge der Eingabe
polynomiellen Zeit verizierbar sind.
Wir werden uns mit
PCP-Verizierern
von
NP-Sprachen
beschäftigen und
die Vor- und Nachteile gegenüber deterministischen Verizierern kennen lernen.
2
Danach stellen wir einige
PCP-Konstruktionen
vor und untersuchen
deren Ezienz aus komplexitätstheoretischer Sicht. Unser Beitrag ist der
Entwurf eines
PCP-Verizierers
mit bedeutend besseren Parametern als bis-
herige Konstruktionen.
1.1 PCP-Konstruktionen
PCP-Konstruktion
x in einer Sprache L
Das Ziel einer
ist die probabilistische Verikation, ob ei-
ne Eingabe
enthalten (positiver Kandidat) oder nicht
enthalten (negativer Kandidat) ist. Wir geben zuerst eine formale Denition
von
PCPs und untersuchen dann die Verbindung zu der Komplexitätstheorie.
1.1.1 Formale PCP-Denition
PCP-Konstruktion besteht aus zwei Parteien: dem deterministischen
B und dem probabilistischen Verizierer V . Wir stellen das Protokoll einer PCP-Verikation vor und erläutern dann die darin auftretenden
Eine
Beweiser
Parameter:
1. Für eine Eingabe
proof )
π(x)
x
der Länge
2. Mit dem Wurf von
3.
r
B
PCP-Verizierer
σ(Iτ )
einen Mitgliedschaftsbeweis (membership
S.
Münzen bildet
V liest die Eingabe x und
Iτ (π(x)) (eine Menge von q
4. Die Belegung
2
liefert
von
Iτ
V
eine zufällige Zeichenkette
bestimmt mit
Bits in
wird in
π(x))
π(x)
können für andere Klassen wie
schränken aber unsere Analyse auf die Klasse
vollständige Probleme.
2
NP.
τ
eine Zeichenkette
und einen Schaltkreis
τ.
Iτ :=
D.
gelesen.
NEXP deniert werden. Wir beNP-Sprachen verstehen wir NP-
Unter
5. Der Schaltkreis
T
D
bekommt die Eingabe
x ∪ σ(Iτ ),
hat eine Laufzeit
und seine Ausgabe erfüllt folgende Bedingungen:
x ∈ L =⇒ ∃π(x) : Pr[D(x ∪ σ(Iτ )) = 1] ≥ c
(1.1)
x∈
/ L =⇒ ∀π(x) : Pr[D(x ∪ σ(Iτ )) = 0] > s
(1.2)
τ
τ
6. Der Verizierer akzeptiert den Kandidaten
x,
falls
D(x ∪ σ(Iτ )) = 1,
und lehnt sonst den Kandidaten ab.
Für die komplexitätstheoretische Analyse dieses Protokolls betrachten wir
folgende Parameter:
•
Die Länge
S = |π(x)|:
Der Beweis liegt in Form von Auswertungsta-
bellen, die als eine einzige Zeichenkette der Länge
können. Wir betrachten
π(x)
Die Zufälligkeit (randomness)
V
für die Bestimmung von
τ
dargestellt werden
als Orakel, der nach Anfrage des Veri-
zierers die Belegung von jedem Bit in
•
S
r
π(x)
ausgeben kann.
bezeichnet die Anzahl der Würfe, die
benötigt, wobei
τ
eine Konkatenation von
mehreren Zufallszeichenketten (für verschiedene Teiltests) sein kann.
Es bezeichne
V.
•
Γ(V) die Menge
|Γ(V)| = 2r .
aller möglichen Zufallszeichenketten für
Es gilt also:
Die Anfragekomplexität (query complexity)
π(x), die V
q
bezeichnet die Anzahl
Anf(V(τ ))
die Menge der angefragten Bits bei der PCP-Anwendung von V mit der
Zufallszeichenkette τ . Die Eingabe x wird vollständig gelesen und zählt
der Bits aus
im Beweis anfragt. Ferner bezeichne
nicht zu der Anfragekomplexität.
•
Die Laufzeit der Verikation
von
•
D(x ∪ σ(Iτ ))
T
ist die Laufzeit, die für die Auswertung
verbraucht wird.
c:
Die Vollständigkeit (completeness)
struktionen mit
c=1
Wir werden ausschlieÿlich Kon-
betrachten. Die Bedingung (1.1) gewährleistet
dann, dass ein ehrlicher Beweiser für einen positiven Kandidaten
mer
•
einen gültigen Mitgliedschaftsbeweis
Die Korrektheit (soundness)
π(x)
im-
liefert.
s: Die Bedingung (1.2) gewährleistet, dass
keinen über-
ein unehrlicher Beweiser für einen negativen Kandidaten
zeugenden Beweis liefern kann. Alle Beweise werden mit Wahrscheinlichkeit mindestens
Wahl von
τ ∈ Γ(V)
s
abgelehnt, wobei die Wahrscheinlichkeit über die
berechnet wird.
+
Arora et al. [ALM 92] haben eine Familie von Komplexitätsklassen eingeführt, die über die Parameter von
PCPs
3
deniert sind. In ihrer Notation ist
L in der Klasse PCP[r, q], falls es für alle Eingaben x ∈ L der
n einen Verizierer mit Zufälligkeit r, Anfragekomplexität q , konstan3
Korrektheit s und Laufzeit T = poly n gibt. Diese Notation ermöglicht
eine Sprache
Länge
ter
eine neue Charakterisierung von bekannten Komplexitätsklassen mit deterministischen Verizieren wie
NP = PCP[0, n].
Die interessantesten Ergebnisse kamen jedoch von der Erforschung von
babilistischen
Verizierern (mit
pro-
r 6= 0). Diese Verizierer basieren auf folgen-
dem Kompromiss: Während positive Kandidaten mit Sicherheit akzeptiert
werden (Vollständigkeit), werden negative Kandidaten nicht immer sondern
4
nur mit groÿer Wahrscheinlichkeit abgelehnt (Korrektheit).
aber wenige Bits im Beweis
Dafür müssen
π(x) angefragt werden. Die Anfragekomplexität
bei deterministischen Verizierern ist mindestens linear in der Länge des Beweises bzw. der Eingabe, da sonst zwischen richtigen und leicht verfälschten
Beweisen nicht unterschieden werden kann.
5
Diese untere Schranke induziert
einen hohen Kommunikationsbedarf zwischen dem Beweiser und dem Verizierer und gleichzeitig eine untere Schranke für den Aufwand der Verikation.
PCP-Konstruktionen ist also eine mindestens subq = poly log n und q = O(1).
Charakterisierungen der Klasse NP der Form:
Das Ziel beim Entwurf von
lineare Anfragekomplexität. Sinnvolle Ziele sind
Es ergaben sich neue
NP = PCP[r, q]
(1.3)
r und q . Die Gleichung (1.3) wird als (generischer)
PCP-Satz bezeichnet und die Angabe von r und q liefert Varianten des PCP-
für geeignete Parameter
+
Satzes. In ihrer berühmten Arbeit [ALM 92] haben Arora et al. gezeigt, dass
eine konstante Anzahl von Bits hinreichend ist, um die Mitgliedschaft in
NP
mit konstanter Korrektheit zu verizieren. Sie bewiesen damit einen der
ersten nicht trivialen
PCP-Sätze: NP = PCP[O(log n), O(1)].
Ein wichtiges
Werkzeug in ihrer Arbeit war die Komposition von Verizierern, die wir im
nächsten Abschnitt erläutern werden.
1.1.2 Komposition und PCPPs
PCPs war die Einführung der KomPCP-Verizierer für eine Sprache L liest die
ganze Eingabe x und q Bits (σ(Iτ )) im Beweis π(x) und akzeptiert (entscheidet x ∈ L), falls D(x ∪ σ(Iτ )) = 1. Um die Anfragekomplexität zu reduzieren, wollen wir diesen Test ausführen, ohne ganz Iτ zu lesen. Die Lösung
liegt darin, einen inneren Verizierer Vin anzuwenden, der die Erfüllbarkeit
Ein Meilenstein in der Optimierung von
position von Verizierern: Ein
3
poly n = O(nk )
für eine Konstante
k.
Äquivalent sagen wir, dass die Laufzeit
T
poly-
nomiell ist.
4
5
Unter groÿer Wahrscheinlichkeit verstehen wir jede Konstante
1/2 ≤ α < 1.
Leicht verfälschte Beweise können sich von einem gültigen Beweis nur um ein Bit
unterscheiden.
4
von
D(x ∪ σ(Iτ )) testet. Die Erfüllbarkeit des Schaltkreises D induziert eine
L0 := CircuitValue, die mit Hilfe einer PCP-Konstruktion veriziert
Sprache
werden kann. Die Idee kann rekursiv angewandt werden, bis die gewünschte
6
Anfragekomplexität erreicht wird.
Diese Komposition ist aber nicht trivial:
Um die Korrektheit zu erhalten, muss die Konsistenz zwischen dem inneren
roPCPP-Verizierern zusammensetzen.
Robustheit und PCPP kennen und erklären
und dem äuÿeren Verizierer gewährleistet werden. Dafür werden wir
buste
äuÿere Verizierer mit inneren
Wir lernen zuerst die Begrie
dann, wie eine eziente Komposition durchgeführt werden kann. Wir übernehmen die
PCPP-Denition
aus [BS05] und die Denition der Robustheit
+
aus [BGH 04]:
Denition 1.3 (PCPP) Eine Sprache L0 ⊆ Σn hat ein PCPP(Probabilistically
Checkable Proof of Proximity) über Alphabet Σ mit der Länge l(n), der Anfragekomplexität q(n), der Zufälligkeit r(n), der Korrektheit s(·, n) und dem
Nähefaktor (proximity parameter) δ , falls es einen polynomiellen Verizierer V mit Orakelzugri auf einem Paar (x, π) ∈ Σn+l(n) gibt, so dass der
Verizierer mit r(n) Münzwürfen eine zufällige Zeichenkette τ bildet, q(n)
Anfragen in (x, π) macht und sich dann folgendermaÿen entscheidet
x ∈ L0 =⇒ ∃π ∈ Σl(n) : Pr[V akzeptiert (x, π)] = 1
τ
dist(x, L0 ) ≥ δ =⇒ ∀π ∈ Σl(n) : Pr[V lehnt (x, π) ab] ≥ s(δ, n)
τ
(1.4)
(1.5)
PCPs, bei denen die Eingabe x vollständig gelesen wird, hat
ein PCPP-Verizierer nur einen Orakelzugri auf x. Der Verizierer bestimmt
q1 Bits in x und q2 Bits im Beweis π(x) und liest sie. Seine Anfragekomplexität ist also die Summe q1 + q2 und Anf(V(τ )) ⊂ x ∪ π(x) (Siehe Abbildung
Im Gegensatz zu
1.1).
Diese Restriktion der Anfragekomplexität wird durch eine Lockerung der
Entscheidungsvorschrift ausgeglichen: Der Verizierer kann nicht zwischen
x ∈ L0 und x ∈
/ L0 unterscheiden. Anderenfalls müsste der Verizierer ganz
x lesen und die Anfragekomplexität wäre linear. Statt dessen unterscheidet
V zwischen x ∈ L0 und x δ -entfernt von L0 . Um PCPPs sinnvoll einzusetzen sollten die Kandidaten x eines PCPP-Verizierers eine entsprechende
Distanz-Eigenschaft besitzen. Dies führt uns zum Begri der Robustheit:
Denition 1.4 Ein PCP-Verizierer V für eine Sprache L ist
Robustheitsfaktor
falls
ρ und
Robustheitsvollständigkeit
mit
(robust-soundness) s,
robust
x∈
/ L =⇒ ∀π : Pr[∃a ∈ Σq(n) | D(a) = 1 ∧ dist(Iτ , a) ≤ ρ] < 1 − s
τ
6
+
In [ALM 92] wurde durch diese Technik der
bewiesen.
5
(1.6)
PCP-Satz NP = PCP[O(log n), O(1)]
q=3
Anf(PCP(x, τ ))
ganz gelesen
π(x)
x
q2 = 3
q=6
Anf(PCPP(x, τ ))
π(x)
x
q1 = 3
q2 = 3
Abbildung 1.1: Vergleich der Anfragekomplexität von
PCPs
und
PCPPs.
Robuste PCPPs für eine Sprache L0 werden analog deniert:
dist(x, L0 ) ≥ δ =⇒ ∀π : Pr[∃a ∈ Σq(n) | D(a) = 1 ∧ dist(Iτ , a) ≤ ρ] < s
τ
(1.7)
Ein Robustes
PCP
garantiert also, dass negative Kandidaten
x
weit ent-
fernt von allen positiven Kandidaten sind. Damit meinen wir aber nicht die
Hamming-Distanz zwischen negativen und positiven Kandidaten. Die Implikation (1.6) bedeutet, dass die angefragte Zeichenkette
Iτ (x, π(x))
mit
s über die Wahl von τ und für alle Beweise
π(x) mindestens ρ-entfernt von einer Zeichenkette a ist, die den Schaltkreis
D erfüllen würde.
Wahrscheinlichkeit mindestens
Nun ist klar, dass robuste
PCPs
geeignete Eingaben für
PCPPs
(als innere
Verizierer) liefern. Die einzige zusätzliche Anforderung ist, dass der Robust-
ρ vom äuÿeren Verizierer gröÿer als der Nähefaktor δ vom innee des PCPP-Verizierers eindeutig
x
e ∈ L0 oder dist(e
klassiziert werden kann: entweder x
x, L0 ) ≥ δ . Der folgende
heitsfaktor
ren Verizierer sei, damit der Kandidat
Kompositionssatz zeigt die Parameter des resultierenden Verizierers. Wir
+
7
orientieren uns an der Notation von Satz 2.6 in [BGH 04].
Satz 1.5 (Kompositionssatz) Für Funktionen rin , rout , Sin , Sout , qin : N →
N und sin , sout , ρout , δin : N → [0, 1] gelte Folgendes:
• Eine Sprache L habe einen robusten Verizierer Vout mit Zufälligkeit
rout , Korrektheit sout , Robustheitsfaktor ρout und Schaltkreisgröÿe Sout .
7
+
+
Für einen ausführlichen Beweis siehe [BGH 04] oder [ALM 92].
6
• Die Sprache L0 (CircuitValue) habe ein PCPP-Verizierer mit Zufälligkeit rin , Anfragekomplexität qin , Korrektheit sin , Nähefaktor δin und
Schaltkreisgröÿe Sin .
• Für alle n ∈ N gelte: δin (Sout (n)) ≤ ρout (n).
Dann hat L ein PCP-Verizierer mit folgenden Eigenschaften:
• Zufälligkeit rout (n) + rin (Sout (n)),
• Anfragekomplexität qin (Sout (n)),
• Schaltkreisgröÿe Sin (Sout (n)) und
• Korrektheit 1 − sin · sout .
Wir werden auf diese Technik in den Kapiteln 2 und 3 zurückkommen und
den Kompositionssatz mit geeigneten Parametern instantiieren. Zunächst
stellen wir die wichtigsten Ergebnisse auf diesem Gebiet kurz vor und kündigen unser Hauptergebnis an.
1.1.3 Bisherige Ergebnisse und Ziel der Arbeit
Für die Erforschung von
PCPs gab es in den neunziger Jahren zwei verschiePCPs eine Alternative für die Veri-
dene Motivationen: Einerseits sollten
kation von langen Berechnungen bzw. groÿen Beweisen anbieten. Dies war
der Ansatz von Babai et al. in [BFLS91], die sich mit der Optimierung der
Laufzeit
T
und der Länge
Verizierer mit
S = n1+ε
S
des Beweises beschäftigten. Sie entwarfen
T = poly log n.8
und
PCP-
Anderseits haben Feige et
+
al. in [FGL 91] eine bahnbrechende Verbindung zwischen
PCPs
und Ap-
proximationsalgorithmen hergestellt. Die dabei im Vordergrund tretenden
Parameter sind die Zufälligkeit
r
und die Anfragekomplexität
q.
Dagegen
war eine polynomielle Laufzeit für diese Konstruktionen hinreichend.
Für die Länge des Beweises gilt
S ≤ 2r · q .
Der Beweiser muss nämlich
für alle möglichen Zufallswahlen die Belegungen von
q
Bits ausgeben. Bits,
die von verschiedenen Tests (Zufallswahlen) gelesen werden, können ohne
Einschränkung der Allgemeinheit dupliziert werden, da die Tests von einander unabhängig sind.
S=
2r
· q.
9
Wir können also folgende Gleichung voraussetzen:
Diese drei Parameter sind also korreliert und können gemeinsam
optimiert werden. Die Laufzeit
T
ist aber nur für die Ezienz der Verika-
tion maÿgeblich und die Optimierung dieses Parameters wurde weitgehend
8
poly log n = O((log n)k )
für eine Konstante
k.
Die Laufzeit heiÿt in diesem Fall poly-
logarithmisch.
9
Die Unabhängigkeit ist stochastischer Art: keine Korrelation zwischen den Tests.
7
vernachlässigt. Nach der Konstruktion von [BFLS91], in der eine Laufzeit
T = poly log n erreicht wurde, haben nur Ben-Sasson
PCP-Verizierer mit dieser Laufzeit entworfen.
Tabelle 1.1 fasst die wichtigsten Varianten des
+
et al. in [BGH 05]
PCP-Satzes
zusammen, die
bis zur Verfassung dieser Arbeit veröentlicht wurden. Dabei bezeichne
die Länge der Eingabe und
Konstruktion
[BFLS91]
+
[ALM 92]
[PS94]
+
[BGH 04]
[BS05]
+
[BGH 05]
+
[BGH 05]
[Din05]
Unser Ziel:
C
bzw.
ε
r
O(log n)
O(log n)
O(log n)
log n + (log n)ε
log n + O(log log n)
log n + O(log log n)
log n + (log n)ε
log n + O(log log n)
log n + O(log log n)
q
poly log n
C
C
O(1/ε)
poly log n
poly log n
O(1/ε)
C
C
Tabelle 1.1: Meilensteine der
Die Beweise der Inklusion
n
eine universelle Konstante.
PCP[r, q] ⊆ NP
S
n1+ε
n3
n1+ε
ε
n · 2(log n)
n · poly log n
n · poly log n
ε
n · 2(log n)
n · poly log n
n · poly log n
T
poly log n
poly n
poly n
poly n
poly n
poly log n
poly log n
poly n
poly log n
PCP-Optimierung.
sind trivial, da der Beweiser als
deterministischer polynomieller Verizierer aufgefasst werden kann.
10
Die
NP ⊆ PCP[r, q] wird durch die Angabe eines VeriNP-vollständiges Problem bewiesen. In der Literatur ndet
man deswegen folgende Formulierung des PCP-Satzes: 3-SAT ∈ PCPs,c [r, q],
wobei der Vollständigkeitsfaktor c und die Korrektheit s hervorgehoben wer11
den.
Wir werden PCP-Sätze in der Form NP = PCP[r, q] aufschreiben und
beweisen jeweils die Inklusion NP ⊆ PCP[r, q]. Dabei legen wir implizit die
Parameter c = 1 und s = 1/2 fest.
umgekehrte Inklusion
zierers für ein
Bis auf die Arbeit von [Din05] basieren alle bisherigen Konstruktionen auf
algebraischen Strukturen: Ein
NP-vollständiges Problem Π wird auf ein alge-
0
braisches Problem Π (Gleichungen von Polynomen geringen Grades über
einem endlichen Körper
F)
reduziert. Die Erfüllbarkeit von
zu äquivalent, dass Polynome in
Π0
Π
ist dann da-
über bestimmten Teilmengen
H ⊂ F
annulliert werden. Ein zentrales Werkzeug in diesem Ansatz ist der Lowdegree-Test: Ist ein in Form einer Auswertungstabelle gegebenes Polynom
vom Grad höchstens
d?
Dieser Schritt ermöglicht die eziente Verikation
von Polynomeigenschaften wie Teilbarkeit und Annullierung. Ein Beispiel dafür ist der Satz von Schwartz [Sch80], den wir in Kapitel 2 benutzen werden:
10
11
Solange
r ∈ O(log n)
und
q ∈ poly n
sind, gilt
Es gibt äquivalente Formulierungen mit SAT
men.
8
S = 2r · q ∈ poly n.
oder anderen NP-vollständigen
Proble-
Satz 1.6 Ein Polynom p über einem Domain D = D1 × · · · × Dk habe die
Grade di in der i-ten Variable für i = 1, . . . , k . Weiter sei |Di | = ni . Falls p
mehr als
k
X
di
|D|
ni
i=1
Nullstellen (mit Multiplizität gerechnet) in D hat, dann ist p das Nullpolynom.
Weitere Anwendungen werden uns in Kapitel 2 begegnen. Der Zeitaufwand
für diesen Test beinhaltet aber hohe Konstanten, die eine praktische Einsetzung erschweren. Wir werden in Abschnitt 2.3 auf diesen Test zurück
kommen und seine Kosten abschätzen.
Dinurs Ansatz ist kombinatorischer Natur und wurde in [Din05] als Alternative zu den aufwendigen algebraischen Konstruktionen vorgeschlagen.
Das Problem
Π
wird hier in einen Graphen eingebettet und Operationen
auf diesen Graphen (Umformung der Knoten- und Kantenmenge) führen zu
PCP= PCP[O(log n), O(1)])
dem erwünschten Ergebnis. Dinur entwarf eine rein kombinatorische
Konstruktion, die den
PCP-Satz
+
von [ALM 92] (NP
bewies, und eine hybride Konstruktion (mit kombinatorischen und algebraischen Elementen), die den folgenden
PCP-Satz
beweist:
Satz 1.7 (PCP-Satz nach [Din05]) Es gibt universelle Konstanten C1 und
C2 , do dass Folgendes gilt:
NP = PCP[log n + C1 · log log n, C2 ].
Die hybride Konstruktion von [Din05] erreicht die bisher beste gleichzeitige
Optimierung der Parameter
r
und
q.
Der darin implizit beschriebene Ve-
rizierer hat aber eine polynomielle Laufzeit. Mit der Untersuchung dieses
Ansatzes befasst sich Kapitel 3.
r, q und T
r und q wie
T = poly log n statt
In dieser Arbeit untersuchen wir die Möglichkeit, die Parameter
gleichzeitig zu optimieren. Wir wollen die gleichen Parameter
[Din05] erreichen und die Laufzeit des Verizierers auf
poly n reduzieren.
r, q und T derart
Dies ist das erste Ergebnis, bei dem alle drei Parameter
gleichzeitig optimiert werden. Unsere
PCP-Konstruktion
ist eine Umformung von Dinurs Konstruktion, die eine polylogarithmische
Verikation unterstützt. In Kapitel 4 entwerfen wir diesen Verizierer und
analysieren seine Parameter. Wir beweisen nämlich
Satz 1.8 (Hauptsatz) Für die Sprache NP gibt es einen PCP-Verizierer
mit
• Zufälligkeit r = log n + O(log log n),
9
• Anfragekomplexität q = O(1),
• Beweislänge S = n · poly log n,
• Korrektheit s = 1/2,
• Vollständigkeit c = 1 und
• Laufzeit T = poly log n.
PCP-Verizierer mit polylogarithmischer Laufzeit nennen wir polylogVerizierer. Wir werden für die Analyse von PCP-Konstruktionen und den
Ein
Entwurf unseres polylog-Verizierers einige Hilfsmittel aus der Graphen- und
Kodierungstheorie benötigen, die wir im nächsten Abschnitt darstellen.
1.2 Technische Werkzeuge
Ein wichtiges Konstrukt, dem wir sowohl in den algebraischen als auch in den
kombinatorischen Konstruktionen begegnen werden, sind Expandergraphen.
Wir denieren sie im Folgenden und zeigen die für unsere Zwecke relevanten
Eigenschaften auf. Die Beweise für die folgenden Lemmas sind für uns irrelevant und werden hier nicht ausgeführt. Für den interessierten Leser wird
jeweils eine Referenz auf die Beweise in der Fachliteratur angegeben.
1.2.1 Expandergraphen
Die Eigenschaften von Graphen im Allgemeinen sind eng verbunden mit dem
Spektrum
eines Graphen: den Eigenwerten
λi
seiner Adjazenzmatrix. Ohne
Einschränkung der Allgemeinheit setzen wir voraus, dass das Spektrum eines
Graphen über
n
λ2 ≥ · · · ≥ λn .
Knoten in absteigender Reihenfolge sortiert ist, d.h
über seine kombinatorischen Eigenschaften. Ein bekanntes Resultat ist
d
für
d-reguläre
λ1 ≥
Das Spektrum eines Graphen liefert wichtige Informationen
λ1 =
Graphen.
Denition 1.9 (Expandergraphen) Ein (N, d, λ)-Expandergraph ist ein
d-regulärer Graph über N Knoten, so dass |λi | ≤ λ < λ1 = d für i = 2, . . . , n.
Wegen der Ordnung der Eigenwerte können wir λ := λ2 setzen.
Wir interessieren uns für Expandergraphen aus informationstheoretischer
Sicht: Wie können Informationen durch einen solchen Graphen ieÿen? Ein
wichtiger Begri in dieser Betrachtung ist die Kanten-Expansion.
10
Denition 1.10 (Kanten-Expansion) Sei G = (V, E) ein d-regulärer Graph
und für S ⊆ V sei |E(S, S)| := |(S × S) ∩ E| die Anzahl der Kanten von S
zu dessen Komplement S := V \ S . Die Kanten-Expansion von G ist:
h(G) :=
|E(S, S)|
.
|S|
S:|S|<|V |/2
min
Die Kanten-Expansion charakterisiert die Ausgangsmöglichkeiten aus einer
Knotenmenge in den übrigen Teil des Graphen. Sie ist also ein Maÿ für
die Konnektivität (Anschlussfähigkeit) eines Graphen. Das folgende Lemma
zeigt die Verbindung zwischen der Kanten-Expansion und dem Spektrum
eines Graphen.
Lemma 1.11 Sei G ein d-regulärer Graph mit Kanten-Expansion h(G) und
zweitem Eigenwert λ(G). Dann gilt
p
λ(G) − d
≤ h(G) ≤ 2d(d − λ(G)).
2
Beweis.
Siehe [AM84].
Aus Lemma 1.11 können wir eine alternative Denition für Expandergraphen herleiten, nämlich als Graphen mit einer Kanten-Expansion
für eine Konstante
h0 .
h(G) ≥ h0
Diese Eigenschaft zeigt die Besonderheit von Expan-
dergraphen: Obwohl deren Adjazenzmatrizen spärlich besetzt sind,
12
haben
sie dennoch eine hohe Konnektivität: Eine Information (Knotenfärbung, Variablenbelegung, usw.) kann über die Kanten schnell durch den Graphen
verbreitet werden und bleibt nicht in einem Teilgraphen gefangen. Diese Eigenschaft lässt sich mittels zufälliger Spaziergänge (random walks) in dem
Graphen nutzen. Die folgenden zwei Lemmas zeigen weitere nützliche Eigenschaften von Expandergraphen in Verbindung mit zufälligen Spaziergängen.
Lemma 1.12 (Mixing-Lemma aus [AC88]) Sei G = (V, E) ein (N, d, λ)Expandergraph. Für jede zwei Teilmengen A, B ⊆ V gilt:
r
|E(A, B)| |A| |B| λ
≤ · |A| · |B| .
−
·
|E|
N N d
N N
Die Multiplikation mit |E| = d · N ergibt:
p
|E(A, B)| − d|A||B| ≤ λ |A||B|.
N
12
Die Adjazenzmatrix eines Graphen
(V, E)
O(|V |).
11
ist spärlich (sparse) besetzt, wenn
(1.8)
|E| ∈
Beweis.
Der Beweis ist sehr technisch und wird in [AS92, Kapitel 9, Korro-
lar 2.5] ausgeführt.
Die Ungleichung (1.8) kann folgendermaÿen interpretiert werden: Die Differenz zwischen dem Erwartungswert der Kantenanzahl zwischen
A
und
B
in einem zufälligen Graphen (d|A||B|/N ) und der tatsächlichen Anzahl der
Kanten zwischen
A
und
B
in
G (|E(A, B)|)
ist klein, da
graphen beschränkt ist. Die Übergangsmöglichkeiten von
λ
A
in Expandernach
B
in
G
entsprechen also den Übergangsmöglichkeiten in einem zufälligen Graphen.
Das nächste Lemma charakterisiert diesen Sachverhalt näher:
Lemma 1.13 (Spaziergänge in Expandergraphen) Sei G = (V, E) ein
(N, d, λ)-Expandergraph und F ⊆ E . Es bezeichne X das Ereignis, dass ein
zufälliger Spaziergang, der mit einer zufälligen Kante aus F startet, seinen
(i + 1)-ten Schritt in F macht. Für die Wahrscheinlichkeit p(X) von X gilt:
|F |
p(X) ≤
+
|E|
Beweis.
i
λ
d
Siehe [Din05, Proposition 2.4].
Hier wird die Ähnlichkeit zwischen Spaziergängen in Expandergraphen und
in zufälligen Graphen noch ersichtlicher: Aus Lemma 1.11 folgt
d. Somit
F ].
konvergiert
λ i
gegen Null und
d
p(X)
gegen
Oensichtlich induziert ein kleiner zweiter Eigenwert
Expansion
h(G).
2
λ ≤ d − h2d <
|F |/|E| = Pre∈E [e ∈
λ(G) eine groÿe Kanten-
Um eine hohe Konnektivität zu erzielen suchen wir also
Expandergraphen mit möglichst kleinem zweitem Eigenwert
λ.
Dies ist aber
nicht uneingeschränkt möglich. In [Alo86] formuliert Alon folgende obere
√
λ:13 λ ≤ 2 d − 1 + ε für ε ≥ 0. Graphen, die diese Ungleiε = 0 erfüllen, sind also optimale Expandergraphen, da sie einen
Schranke für
chung mit
minimalen zweiten Eigenwert besitzen.
Denition 1.14 (Ramanujan-Graphen)
Ein Ramanujan-Graphen ist ein
√
(N, d, λ)-Expandergraph mit λ ≤ 2 d − 1.
Ramanujan-Graphen sind explizit konstruierbar [Gol97] und werden in Abschnitt 2.5 eingesetzt. Für unseren polylog-Verizierer in Kapitel 4 brauchen
wir Expandergraphen, bei denen die Nachbarn eines Knotens ezient (in
polylogarithmischer Zeit) ermittelt werden können. Cayley-Graphen erfüllen
diese Anforderung.
13
Diese Ungleichung wird als Alon-Boppana-Schranke bezeichnet. Sie wurde in [Alo86]
vermutet und in [Fri03] bewiesen.
12
1.2.2 Cayley-Graphen
Cayley-Graphen sind an der Schnittstelle zwischen Gruppen- und Graphentheorie. Kombinatorische Elemente werden mit algebraischen Elementen identiziert: Die Knotenmenge eines Cayley-Graphen entspricht einer Gruppe
H
+ und die Existenz von Kanten ist durch algebraische
H bedingt. Eine Teilmenge S ⊆ H sei eine Generatormenge einer Gruppe H , wenn sich jedes element a ∈ H als Summe von Elementen
aus S darstellen lässt.
mit Gruppenoperation
Gleichungen über
Denition 1.15 (Cayley-Graphen) Der
C(H, S) = (V, E)
einer Gruppe H mit Generatormenge S ⊆ H ist ein gerichteter Graph mit
Knotenmenge H und (u, v) ∈ E genau dann, wenn u + s = v für ein s ∈ S
gilt. Wir schreiben S = Gen(C(H, S)).
Abbildung 1.2 zeigt den Cayley-Graphen
Cayley-Graph
C(A4 , S), wobei A4
die Permutati-
{1, 2, 3, 4} ist und die Generatormenge S aus
π1 = (123) und π2 = (12)(34) besteht.14 Die zwei aus-
onsgruppe von vier Elementen
den Permutationen
gehenden Kanten aus jedem Knoten entsprechen der Addition dieses Gruppenelements mit
π1
bzw.
π2 .
Die punktierten Kanten zeigen Beispiele der
Berechnung eines Nachbarn mittels Cayley-Addition. Die zweifach gerichtete Kante drückt zwei Gleichungen aus:
wobei
(1)
π2 + π2 = (1)
und
(1) + π2 = π2 ,
die Identitätspermutation ist.
(14)(23)
+π1
= (142)
(1)
+π2
π2
Abbildung 1.2: Der Cayley-Graph
C(A4 , {π1 , π2 }).
Bei symmetrischen Gruppen gibt es für jede Kante
(u, v)
eine Kante
(v, u)
und der Cayley-Graph ist ungerichtet. In [LR04] und [Gur04] werden explizite Cayley-Graphen angegeben, die gleichzeitig Expander- bzw. RamanujanGraphen sind. Diese Konstruktionen beinhalten einige Einschränkungen über
die Gröÿe der Graphen, die aber in unserem Kontext keine Rolle spielen
14
Zur Erinnerung:
π1 (1, 2, 3, 4) = (2, 3, 1, 4)
13
und
π2 (1, 2, 3, 4) = (2, 1, 4, 3).
werden. Nun betrachten wir die Ezienz der Ermittlung der Nachbarn eines
Knotens
u
in einem Cayley-(N, d, λ)-Expandergraphen
G.
Die Kardinalität
d des Graphen. Um die d Nachbarn
v + si für i = 1, . . . , d berechnet
werden. Elemente aus H können mit O(log N ) Bits indiziert werden und der
Aufwand der d Summenbildungen ist insgesamt in O(d · log N ). Wir können
also eine Prozedur NG voraussetzen, die in O(d · log N )-Zeit die Nachbarn
eines Knotens in einem Cayley-(N, d, λ)-Expandergraphen G ausgibt.
der Generatormenge ist gleich dem Grad
von
v
zu bestimmen, müssen die Werte
Cayley- und Expandergraphen spielen eine groÿe Rolle in der Informationstheorie. Sie werden als Netzwerktopologien in Netze zur Übertragung von
Informationen eingesetzt. Expandergraphen ermöglichen eine gute Informationsverbreitung (information spreading) und Cayley-Graphen eignen sich
gut für Informationsrückgewinnung (information retrieval). Wir werden diese Eigenschaften im Rahmen der Verikation von Sprachen nutzen:
Ein
PCP-Beweis
kann als eine Knoten bzw. Variablenbelegung angesehen
werden, die bestimmte Anforderungen erfüllen soll. Die Vernetzung von Knoten (Variablen) durch Expandergraphen und die Korrelation der Bedingungen über diese Knoten erzeugt eine Zerstreuung der Information und der
Bedingung, die mit einem Knoten gebunden sind. Mögliche Inkonsistenzen
in einer Knotenbelegung , die der Beweiser
B
behaupten würde, werden mit
höher Wahrscheinlichkeit ermittelt, was zu einer Verbesserung der Korrektheit führt. Wir untersuchen diesen Sachverhalt genauer in den Abschnitten
2.5 und 3.2. Auf der anderen Seite erleichtern Cayley-Graphen die Aufgabe
des Verizierers, Teilgraphen lokal zu bilden. Durch die Algebraische Struktur können die Nachbarn eines Knotens in einem Cayley-Graphen ermittelt
werden, ohne den ganzen Graphen zu kennen. Die Generatormenge kann
weiterhin geordnet werden, so dass eine Ordnung der Nachbarschaft eines
Knotens induziert wird. Diese Ordnung ergibt eine partielle Ordnung der
Knoten eines Graphen. Dies ist eine wichtige Voraussetzung, um unseren
ezienten Verizierer in Kapitel 4 konstruieren zu können.
Zuletzt stellen wir fehlerkorrigierende Codes vor. Um ihren Einsatz zu motivieren, betrachten wir folgendes Szenario: ein unehrlicher Beweiser
sucht den Verizierer
liefert
B
V
B
ver-
zu überlisten. Für einen negativen Kandidaten
einen verfälschten Beweis
π(x),
x
so dass die Wahrscheinlichkeit der
x erhöht wird. Um dies zu realisieren, muss B einen korreke liefern und hoen, dass
ten Beweis π(e
x) für eine leicht geänderte Eingabe x
V diese Änderung nicht merkt. Bei einem deterministischen Verizierer, der
Akzeptanz von
einen uneingeschränkten Zugri auf die Eingabe und auf den Beweis hat,
ist dieses Täuschungsmanöver unmöglich. Bei einem
PCPP-Verizierer,
der
nur einen Orakelzugri auf den Beweis und auf die Eingabe hat (Komposition mittels
PCPPs),
stellt sich die Frage: Wie kann
V
eine Änderung um
ein Bit merken, wenn er nicht die ganze Eingabe liest? Wie in der Einführung erwähnt ist die Reduktion der Anfragekomplexität gegenüber den de-
14
terministischen Verizierern eine entscheidende Motivation für den Entwurf
von
PCPs.
Eine sublineare Anfragekomplexität ist also eine unentbehrliche
Bedingung. Allein das Lesen der gesamten Eingabe verursacht aber einen
linearen Aufwand. Die Eingabe muss also in einer redundanten Form liegen,
die leichte Verfälschungen toleriert. Für die Lösung dieses Problems bieten
sich fehlerkorrigierende Codes.
1.2.3 Fehlerkorrigierende Codes
In diesem Abschnitt übernehmen wir die Notation von [Sud97]. Als Maÿ
für Distanzen wählen wir die Hamming-Distanz: Für Zeichenketten a =
(a1 , . . . , an ) und b = (b1 , . . . , bn ) sei dist(a, b) := |{i | ai 6= bi }|. Eine Zeichenkette a heiÿt δ -nah zu b, falls dist(a, b) ≤ δ , und δ -entfernt von b sonst.
Denition 1.16 (Fehlerkorrigierende Codes) Ein [n, k, δ]q -Code C über
einem Alphabet Σ mit |Σ| = q ist eine Menge C ⊂ Σn von Codewörtern (Zeichenketten) der Länge n, so dass |C| = q k gilt und aus w1 6= w2 ∈ C folgt
dist(w1 , w2 ) > δ . Wir nennen r(C) := k/n die Coderate, n die Codewortlänge und δ die Distanz des Codes.
Ein
Σk
[n, k, δ]q -Code kann als Abbildung vom Nachrichtenraum (message space)
Σn interpretiert werden. In allgemei-
nach dem Coderaum (code space)
neren Versionen können die Alphabete des Nachrichtenraums und des Coderaums unterschiedlich sein. Dies ist aber in unserem Kontext nicht nötig.
Wegen der Distanz-Eigenschaft gibt es für jede Zeichenkette
s ∈ Σn
höch-
w ∈ C , so dass dist(s, w) ≤ (δ − 1)/2. Die Eindeutigkeit
Korrektur oder Dekodierung von s: Ein Empfänger,
Codewort aus C erwartet und s empfängt, wird w als gesandtes Coannehmen (Siehe Abbildung 1.3). Der Wert ι := (δ − 1)/2 heiÿt die
stens ein Codewort
von
w
der ein
dewort
ermöglicht die
Fehlerkorrekturschranke (error correcting bound).
ι
s
δ
w
Abbildung 1.3: Eindeutigkeit der Dekodierung von Nachrichten.
Beim Entwurf von Codes begegnen wir zwei entgegengesetzten Optimie-
r groÿ sein, da die Kodierung sonst
Distanz δ und damit die Fehlerkorrek-
rungszielen: Einerseits sollte die Coderate
inezient wäre. Anderseits sollte die
turschranke
ι
auch groÿ sein, so dass möglichst viele Fehler toleriert werden
15
können. Die Codewortlänge und die Distanz eines optimalen Codes sollten
daher linear zu der Länge des Nachrichtenworts sein.
Reed-Solomon-Codes
(RS-Codes) sind derart eziente Codes, die auf einer einfachen algebraischen
Eigenschaft von Polynomen basieren: Zwei Polynome von Grad
höchstens
d
d
können in
Stellen übereinstimmen.
|F| ≥ n. Der Reed-Solomon-Code RS[F, n, k]
ist der folgende [n, k + 1, n − k]q -Code: Die Nachricht besteht aus k + 1
Elementen aus Σ = F (q = |F|). Durch Interpolation dieser Werte wird ein
eindeutiges Polynom p vom Grad k über F bestimmt. Das Codewort ist dann
die Auswertung von p an n verschiedenen Stellen von F. Die Auswertungen
von zwei verschiedenen Polynomen unterscheiden sich in mindestens n − k
Stellen. Die Dekodierungsaufgabe lässt sich für RS-Codes mittels ezienter
Sei
F
ein endlicher Körper mit
Algorithmen wie [Ber68] in polynomieller Zeit lösen.
1.3 Organisation der Arbeit
Nun haben wir die notwendigen Hilfsmittel um
PCP-Konstruktionen zu unPCP-Konstruktionen
tersuchen. In Kapitel 2 analysieren wir die algebraischen
+
[BS05] und [BGH 05]. In den Abschnitten 2.1 und 2.2 erläutern wir die
NP auf algebraische Bedingungsprobleme und führen in AbPCP-Verikation dieser Probleme auf den Low-degree-Test
zurück. In Abschnitt 2.4 stellen wir den Basis-Verizierer VRS vor. In Abschnitt 2.5 stellen wir hitter-Algorithmen vor, die eine strukturierte Bündelung der Anwendungen von VRS erzeugen und zum PCP-Satz von [BS05]
Reduktion von
schnitt 2.3 die
+
führen. In Abschnitt 2.6 stellen wir die Konstruktion von [BGH 05] vor, die
als Ausgangspunkt für unseren polylog-Verizierer dienen wird.
In Kapitel 3 untersuchen wir den kombinatorischen Ansatz von Dinur. In
den Abschnitten 3.1 und 3.2 denieren wir Bedingungsgraphen und Operationen auf diesen Graphen. In Abschnitt 3.3 analysieren wir zwei Ansätze
von [Din05]: einen rein kombinatorischen und einen hybriden Ansatz, auf
dem unsere
PCP-Konstruktion
in Kapitel 4 basieren wird.
PCP-Verizierer mit Zufälligr = O log n + O(log log n), Anfragekomplexität q = O(1) und Laufzeit
T = poly log n. In den Abschnitten 4.1 stellen wir das Protokoll und den
In Kapitel 4 entwerfen wir dann den ersten
keit
Schaltkreis des Verizierers auf. In den Abschnitten 4.2 und 4.3 erläutern wir
die Anforderungen an den Beweiser und die Datenstruktur des Verizierers.
Anschlieÿend analysieren wir in Abschnitt 4.4 die Parameter des resultierenden Verizierers. Zum Schluss fassen wir in Kapitel 5 die Ergebnisse dieser
Arbeit zusammen und sprechen einige oene Probleme an.
16
Kapitel 2
Algebraische
PCP-Konstruktionen
In diesem Kapitel stellen wir den algebraischen Ansatz zur
PCP-Verikation
+
dar. Wir wollen die Konstruktion [BGH 05] als black-box für unseren Verizierer in Kapitel 4 benutzen. Deswegen verzichten wir auf die aufwendigen
Beweise der kommenden Sätze. Wir fokussieren viel mehr auf die für unsere
Konstruktion in Kapitel 4 relevanten Parameter, namentlich die Zufälligkeit, Anfragekomplexität und Laufzeit der vorzustellenden
PCP-Verizierer.
In den Abschnitten 2.1 und 2.2 reduzieren wir 3-SAT auf algebraische Probleme, die über Polynome festgelegten geringen Grads deniert sind und
PCP-Verikation dieser Probleme auf
Low-degree-Test reduzieren lässt: hat ein gegebenes Polynom einen Grad
höchstens d für gegebnes d?
zeigen in Abschnitt 2.3, wie sich die
den
In Abschnitt 2.4 skizzieren wir den Basis-Verizierer von [BS05] und analysieren seine Parameter.
1
In Abschnitt 2.5 stellen wir
hitter-Algorithmen
vor,
die die Korrektheit des Basis-Verizierers auf Kosten seiner Anfragekomplexität erhöhen können. Diese Technik führt uns dann zu folgender Variante
des
PCP-Satzes:
Satz 2.1 (PCP-Satz nach [BS05]) Es gibt universelle Konstanten C1 und
C2 , do dass Folgendes gilt:
NP = PCP[log n + C1 · log log n, (log n)C2 ].
Im letzten Abschnitt 2.6 präsentieren wir kurz die
+
[BGH 05], die den selben
PCP-Satz
PCP-Konstruktion
von
2.1 beweist, aber einen polylogarithmi-
schen anstatt polynomiellen Verizierer hat. Durch diese Konstruktion ergibt
sich der folgende Satz:
1
In ihrem hybriden Ansatz in [Din05] geht Dinur von dieser Konstruktion aus.
17
Satz 2.2 (PCP-Satz nach [BGH+ 05]) Es gibt universelle Konstante a1 , a2
und a3 , so dass die Sprache NP einen Verizierer P mit:
• Zufälligkeit R := log n + a2 · log n log n,
• Anfragekomplexität Q := (log n)a2 und
• Laufzeit T := (log n)a3 .
2.1 Algebraischer Ansatz
In diesem Abschnitt orientieren wir uns an der Notation von [BS05]. Betrachten wir eine 3-SAT-Formel Φ in konjunktiver Normalform. Sei X :=
{x1 , . . . , xn } die Variablenmenge, C := {c1 , . . . , cm } die Klauselmenge und
Σ := {0, 1} das Alphabet von X . Ein Theoremkandidat (Zeuge für die Erfüllbarkeit von Φ) ist eine Belegung σ : X → Σ, so dass jede Klausel c ∈ C
von σ erfüllt ist.
Φ : {0, 1}n → {0, 1}m betrachtet werden,
die eine Belegung σ auf den Vektor Y := (Y1 , . . . , Ym ) abbildet, wobei Yi = 1
genau dann gilt, wenn Klausel ci von σ erfüllt ist. Jedes Bit Yi kann mit drei
Abfragen in σ (Belegung der drei Variablen von ci ) berechnet werden. Eine
m (alle Klausel
Belegung σ beweist die Erfüllbarkeit von Φ, wenn Φ(σ) = 1
sind erfüllt). In diesem Fall ist Φ(σ) ein Beweis, dafür dass σ ein positiver
Die Formel
Φ
kann als Abbildung
Kandidat ist.
Analog denieren wir ein algebraisches Bedingungsproblem: Der Theoremkandidat
A
P sind univariate Polynome geringen Grades
F.2 Die Auswertung P (x0 ) kann mit der Abfrage von
{A(α1 x0 ), . . . , A(αt x0 )} berechnet werden. In der ersten Version
und der Beweis
über einem Körper
t
Werten
von [BS05], die wir als Basis unserer Analyse zugrunde gelegt haben, ist
t = O(log n). Die Reduktion im Abschnitt 2.2 bezieht sich auf diese Version.
In der am 11.06.2006 erschienenen Journal-Version von [BS05] ist t = O(1).
Wir werden also in den darauf folgenden Abschnitten t = O(1) voraussetzen.
Ein Kandidat
H ⊂ F,
A ist positiv genau dann, wenn P ≡ 0 über einer Teilmenge
H von A unabhängig ist. Die Denition von P und des-
wobei
sen Grad (Reduktion von 3-SAT auf ein algebraisches Problem) führt zu
verschiedenen Implementierungen des algebraischen Ansatzes. Wir werden
die Sprache
LUACSP
betrachten (UACSP: Univariate Algebraic Constraint
∝ LUACSP ) zeigen und einen
R := log n+O(log log n) und Q := poly log n
Satisability Problem), die Reduktion (3-SAT
PCP-Verizierer für LUACSP
mit
entwerfen. Somit hätten wir Satz 2.1 bewiesen.
2
Wie gering der Grad ist, hängt von der Ezienz der Konstruktion ab.
18
Wir setzen eine unendliche Sequenz
aus. Dabei bezeichnet
ωn .
hωn i
{(Fn , ωn ) : ωn ∈ F, |hωn i| > n)}n∈N vor{ωn0 , . . . , ωnn−1 } von
die multiplikative Gruppe
Eine solche in polynomieller Zeit berechenbare konstruierbare Sequenz,
wird durch Linniks Satz in [Lin44] induziert. Der Index
sen werden, wenn der Körper
können wir die Sprache
Fn
LUACSP
bzw. die Gruppe
hωn i
n
3
kann weggelas-
festgelegt sind. Nun
denieren:
Denition 2.3 Die Instanzen der Sprache LUACSP sind Tupel der Form
(n, α1 , . . . , αt , C), wobei α1 , . . . , αt ∈ hωn i gilt und C : Ft+1
→ Fn ein Pon
lynom vom Grad höchstens n in der ersten Variable und höchstens drei in
den übrigen t Variablen ist. Eine Instanz (n, α1 , . . . , αt , C) ist genau dann
in LUACSP , wenn ein Polynom A : Fn → F vom Grad höchstens n existiert,
so dass
∀x ∈ hωn i : P (x) := C(x, A(α1 x), . . . , A(αt x)) = 0.
A ein Theoremkandidat
O(t · n).
Mit der obigen Terminologie ist
ein Beweispolynom vom Grad
vom Grad
(2.1)
n
und
P
2.2 Reduktion von 3-SAT auf LUACSP
Bevor wir mit der
3-SAT auf
LUACSP .
NP-vollständigen
PCP-Verikation
von
LUACSP
anfangen, reduzieren wir
An dieser Stelle behandeln wir die Arithmetisierung von
Problemen: Wie lassen sich die Bedingungen eines
NP-
Problems in algebraische Ausdrücke (polynomielle Gleichungen) überführen.
Die Reduktion 3-SAT
∝ LUACSP
ist aufwendig und deren Beweis sprengt
den Rahmen der vorliegenden Arbeit. Wir postulieren die Parameter dieser
Reduktion und zeigen anhand eines einfacheren Beispiel die Vorgehensweise
bei der Arithmetisierung.
Satz 2.4 (Satz 2 in [BS05]) Es existiert eine polynomielle Reduktion von
3-SAT auf LUACSP , die eine 3-SAT-Formel mit n Klauseln auf eine Instanz
(N, α1 , . . . , αt , C) reduziert, wobei N = O(n log n) und t = O(1) gilt.
Beweis.
Siehe [BS05, Abschnitt 4.2]
Als Beispiel für die Arithmetisierung eines
NP-vollständigen
Problems be-
trachten wir folgende ineziente Arithmetisierung von 3-SAT aus [Sud99]:
Sei
X := {x1 , . . . , xn }
Klausel
3
cj ∈ C
lässt sich in
Bei Eingabe von
n
C := {c1 , . . . , cm } die KlauselΣ := {0, 1} das Alphabet von X . Jede
bj,1
bj,2
bj,3
folgender Form schreiben: (xj,1 ∨ xj,2 ∨ xj,3 ),
die Variablenmenge,
menge einer 3-SAT-Instanz
können
Φ
Fn
und
und
ωn
in polynomieller Zeit festgelegt werden.
19
wobei
bj,k ∈ {0, 1}, x0 := x
und
x1 := x
gilt. Denieren wir folgende Polyno-
me:
pj (zj,1 , zj,2 , zj,3 ) := (zj,1 − bj,1 )(zj,2 − bj,2 )(zj,3 − bj,3 ).
Eine Belegung
(a1V
, a2 , a3 )
m
j=1 pj
erfüllt
cj
pj (a1 , a2 , a3 ) = 0 gilt.
P , das genau dann annuliert
in C erfüllt.
genau dann, wenn
Die Konjunktion
liefert ein Polynom
wird, wenn eine Belegung
σ
jede Bedingung
Die Reduktion von 3-SAT auf
LUACSP
bildet auch lokale Bedingungen auf
Polynome ab und bündelt diese in einem einzigen Polynom. Die eingesetzten Techniken sind aber bei weitem komplizierter (siehe [BS05, Abschnitt
4.2]). An dieser Stelle ist es wichtig zu erwähnen, dass zur Ausführung dieser
Reduktion eine polynomielle Laufzeit benötigt wird.D
Nun gehen wir von
LUACSP aus und entwerfen einen PCP-Verizierer für diese
A und den Beweis P mittels RS-
Sprache. Die Grundidee ist den Kandidaten
4
Codes zu kodieren,
so dass der Beweis von Polynomeigenschaften auf den
Beweis der Mitgliedschaft zu einem bestimmten
RS-Code
reduziert wird.
Eine solche Polynomeigenschaft ist die Annulierung des Beweispolynoms
über
hωn i ⊂ F,
P
wie in Gleichung 2.1 gefordert.
Deswegen stellen wir zunächst das zentrale Werkzeug von [BS05] vor: den
RS-Verizierer.
Dieser
PCPP-Verizierer
testet die Nähe einer Eingabe zu
einem gegebenen Reed-Solomon-Code (Nähe zu einem Codewort aus dem
RS-Code).
In Abschnitt 2.4 zeigen wir dann, wie wir den
Baustein für die
PCP-Verikation
von
LUACSP
RS-Verizierer
als
einsetzen können.
2.3 RS-Verizierer
RS-Codes, die in Abschnitt 1.2.3
vorgestellt wurde. Zur Erinnerung: Ein Codewort w in einem RS[F, n, k]Code ist die Auswertung eines Polynoms vom Grad k an n Stellen xi ∈ F.
Jedes Wort w entspricht der Darstellung eines eindeutigen Polynoms p(w)
5
vom Grad k über F und kann mit p(w) identiziert werden. Sei nun S ⊆ F,
P ein Polynom über F und hP (z)iz←S := hP (s) : s ∈ Si die Auswertung von
P über S .
Zu erst spezialisieren wir die Denition eines
Denition 2.5 Der Reed-Solomon-Code vom Grad d ausgewertet über S ⊆
F ist
RS(F, S, d) := {hP (z)iz←S : P (z) :=
d−1
X
ai z i , ai ∈ F}.
i=0
4
RS-Codes
sind die in Abschnitt 1.2.3 denierten fehlerkorrigierenden Reed-Solomon-
Codes.
5
Die
lynoms
n Werte in w können als Auswahlmöglichkeiten
p(w) interpretiert werden.
20
für Interpolationswerte eines Po-
Der Code
Grad
d
RS(F, S, d)
besteht also aus der Auswertung aller Polynome vom
über einer festgelegten Teilmenge
S ⊆ F.
Wir betrachten spezielle
RS-Codes RS(F, hωi, d), wobei hωi die multiplikative Gruppe eines Elements
ω ∈ F, so dass |hωi| = O(n) und ω = 2K für ein K ∈ N gilt. Diese spezielle
Struktur von S = hωi führt zu folgendem ezienten RS-Verizierer:
Satz 2.6 (Satz 1 in [BS05]) Sei ω ∈ F eine Zweierpotenz mit |F| > n
und |hωi| = O(n) und sei d < n eine natürliche Zahl. Es gibt eine universelle Konstante C ≥ 1, so dass RS(F, hωi, d) einen PCPP-Verizierer
PCPP(RS(F, hωi, d)) mit folgenden Parametern hat:
• Beweislänge S ≤ n · logC n,
• Zufälligkeit r ≤ log n + C · log log n,
• Anfragekomplexität q = O(1) und
• Korrektheit s(δ, n) ≥
δ
.
logC n
Der vollständige Beweis erstreckt sich auf ein Dutzend Seiten in [BS05]. Wir
skizzieren hier nur die Beweisidee: Wenn ein in Form einer Auswertungstabelle gegebenes Polynom
kann
p(w)
p
nah an einem Polynom
durch Fehlerkorrektur als Codewort eines
werden und
p
kann zu
p(w) vom Grad d ist,
RS-Codes interpretiert
p(w) dekodiert werden. Das Maÿ für die Nähe ist die
ι = (δ − 1)/2 vom RS-Code. Die PCPP-Verikation
Fehlerkorrekturschranke
von
RS(F, S, d)
ist also äquivalent zu folgendem Low-degree-Test:
Denition 2.7 (Low-degree-Test) Gegeben sei ein Polynom p in Form
einer Auswertungstabelle und d ∈ N. Der Low-degree-Test ist die Entscheidung, ob p einen Grad d(p) ≤ d oder d(p) > d hat.
Der Low-degree-Test wurde intensiv erforscht und dessen Optimierung führte
zu entscheidenden Verbesserungen der algebraischen
PCP-Konstruktionen
+
[BFLS91, ALM 92, BS05]. Wir verwenden diesen Test als black-box und
skizzieren hier grob den Ablauf des
1. Starte mit Polynom
2. Zerlege
d1 ≈
√
P (x)
RS-Verizierers:
von angeblichem Grad
n,
P in acht bivariate Polynome Q(i) (x,
(i = 0, . . . , 7) vom Grad
Py)
7
n/8 in jeder Variable, d.h P (x) = i=0 xi·d1 Q(i) (x, x8·d1 ).
3. Reduziere den Low-degree-Test der bivariaten Polynomen
auf den Low-degree-Test von univariaten Polynomen
vom Grad
√
n/8.
4. Gehe zu Schritt 2 und fahre mit
P (i) (z)
21
fort.
P (i) (z),
Q(i) (x, y)
ebenfalls
Die Zerlegung in Schritt 2 ist immer möglich und sogar eindeutig, wenn
d21 · 8 = n
(Siehe Proposition 8 in [BS05]). Die Reduktion in Schritt 3 ist in
[PS94] als axis-parallel-test beschrieben. Die obige Rekursion liefert nach
höchstens
O(log log n)
Iterationen Polynome konstanten Grads, die mittels
Satz 1.6 von [Sch80] brute-force mit
q := O(1)
Anfragen getestet werden
(Basis-Fall). Bei jeder Iteration verschlechtert sich die Korrektheit um einen
konstanten multiplikativen Faktor
C
s(δ, n) ≥ δ/ log n,
wobei
δ
C.
Insgesamt ergibt sich eine Korrektheit
von der Distanz des
RS-Codes
abhängt.
Die iterative Anwendung des Low-degree-Tests ist eigentlich eine Instantiierung des Kompositionssatzes 1.5. Der innere Verizierer entscheidet sich in
P (i) (z) testet (führt zu der nächsten Iterati(i)
den Q (x, y) macht (Schleifenabbruch). Für
jeder Iteration, ob er eines der
on) oder eine Stichprobe mit
den Test des Basis-Falls und für den Schleifenabbruch macht der Verizierer
O(1) Anfragen. Die Analyse der übrigen Parameter ist technisch kompliziert
aber ersichtlich und wird ausführlich in [BS05] beschrieben. Dieser theoretisch sehr eziente Low-degree-Test ist aber praktisch nicht einsetzbar. Eine
Analyse der Konstante
C
in Satz 2.6 ergibt
C = 7.007 · 1010 .
Die praktische
Inezienz des Low-degree-Tests und der auf ihm basierenden algebraischen
Konstruktionen ist eine der Motivationen, die Dinur zu ihrem kombinatorischen Ansatz geführt haben.
Der
RS-Verizierer kann auch die Annulierung eines Polynoms über einer
H ⊂ F testen. Dafür denieren wir folgende Teilmenge von RS-
Teilmenge
Codes:
Denition 2.8 (RSH (F, S, d)) Der Code RSH (F, S, d) ist die Menge der Codewörter aus RS(F, S, d), deren Auswertung über H ⊂ F gleich null ist:
RSH (F, S, d) := {hP (z)iz←S : deg(P ) ≤ d, ∀h ∈ H, P (h) = 0}.
RSH (F, S, d) auch einen ezienten PCPP-Verizierer
RS(F, S, d).6 Die Beweisidee ist folgende: Ein Polynom P (z) vom Grad d ist genau dann gleich
Q
null über einer Teilmenge H , wenn er vom Polynom ZH (z) :=
h∈H (z − h)
geteilt wird, d.h wenn P (z) = ZH (z) · Q(z) für ein Polynom Q(z) vom Grad
höchstens d − |H| gilt.
Es stellt sich heraus, dass
mit komplexitätstheoretisch gleichen Parametern wie
Test(P, RS(F, S, d)) den Ausgang von PCPP(RS(F, S, d)) angeP , d.h Test(P, RS(F, S, d)) = 1, falls P , ausgewertet
über S vom Grad höchstens d ist, und 0 sonst. Für den PCPP-Beweis von
Test(P, RSH (F, hωi, d)) = 1) liefert der Beweiser
Es bezeichne
wandt auf ein Polynom
1. die Auswertung
6
p(Q)
eines Polynoms
Für Details siehe Lemma 3 in [BS05].
22
Q : hωi → F
vom Grad
d − |H|,
2. den
PCPP-Beweis
für
Test(Q, RS(F, hωi, d − |H|)) = 1
3. den
PCPP-Beweis
für
Test(P, RS(F, hωi, d)) = 1.
Das Protokoll zu der Verikation von
und
RSH (F, hωi, d) untersuchen wir in dem
PCP-Verikation von
nächsten Abschnitt, als Teil des Protokolls von der
LUACSP . Mit dem PCPP-Verizierer aus Satz 2.6 als Baustein entwerfen wir in
dem nächsten Abschnitt einen Basis-Verizierer VRS für LUACSP und untersuchen sein Protokoll. In Abschnitt 2.5 entwerfen wir dann den PCP-Verizierer
für LUACSP mit den Parametern in Satz 2.1.
2.4 Basis-Verizierer für LUACSP
In diesem Abschnitt beweisen wir folgenden Satz, der in [BS05] implizit beschrieben und in [Din05, Satz 7.2] ausformuliert wurde. Eigentlich ist dieser
Satz die Erweiterung von Satz 2.6 von
RS-Codes
auf
NP-vollständige
Spra-
chen.
Satz 2.9 (Basis-Verizierer VRS ) Es existiert eine universelle Konstante
C , so dass die Sprache NP einen PCP-Verizierer VRS mit folgenden Parametern hat:
• Beweislänge S ≤ n · logC n,
• Zufälligkeit r ≤ log n + C · log log n,
• Anfragekomplexität q = O(1) und
• Korrektheit s ≥
1
.
logC n
(N, α1 , . . . , αt , C) eine Instanz von LUACSP mit N = O(n log n) und
t = O(1) und C : Ft+1 → F vom Grad N in der ersten Variable und vom
Grad drei in den restlichen t Variablen. Der Kandidat für diese Instanz ist
ein Auswertungspolynom A(x) vom Grad N und der Beweis ist ein Bedingungspolynom P (x) vom Grad 4N (siehe [BS05, Abschnitt 5]). Das Ziel ist
es, einen PCP-Verizierer VRS zu entwerfen, der folgende Gleichung testet:
∀x ∈ hωi : P (x) := C(x, A(α1 x), . . . , A(αt x)) = 0.
Sei
Wir denieren zuerst die Orakel, die der Beweiser zur Verfügung zu stellen
hat:
1. einen Belegungsorakel
2. einen
PCPP-Beweis
p(A): Auswertung des Polynoms A(x) über hωi,
für
Test(A, RS(F, hωi, N )),
23
p(P ): Auswertung
hωi
3. ein Bedingungsorakel
A(α1 x), . . . , A(αt x))
4. einen
PCPP-Beweis
des Polynoms
P (x) = C(x,-
über
für
PCPP(P, RSH (F, hωi, 4N ))
für
H = hωi,
wie
im vorigen Abschnitt deniert.
Nun denieren wir das Protokoll des Verizierers
1. Teste
Test(P, RSH (F, hωi, 4N )) = 1
für
H = hωi:
•
Teste
Test(Q, RS(F, hωi, d − |H|)) = 1,
•
Teste
Test(P, RS(F, hωi, d)),
•
Wähle ein zufälliges
•
Lese
•
Berechne
•
Teste
2. Teste
Q(α)
in
p(Q)
und
P (α)
in
p(P ),
P (α) = Q(α) · ZH (α).
Test(A, RS(F, hωi, N )) = 1,
β ∈ hωi,
A(βα1 ), . . . , A(βαt )
5. Berechne
6. Teste
α ∈ hωi,
ZH (α),
3. Wähle eine zufälliges
4. Lese
VRS :
in
p(A)
und
P (β)
in
p(P ),
C(β, A(βα1 ), . . . , A(βαt )),
P (β) = C(β, A(βα1 ), . . . , A(βαt )).
r von
hωi. Da
Die Zufälligkeit dieses Verizierers ergibt sich aus der Zufälligkeit
PCPP(RS(F, S, d)) und aus den Wahlmöglichkeiten
r = log n + O(log log n) und |hωi| = O(n log n) gilt
für
α
und
β
in
und da die Tests unab-
hängig von einander sind, erhalten wir durch recycling der Zufallszeichen-
r = log n + O(log log n). Die Anfragekomplexität ist
q := O(t) = O(1). Die Korrektheit von VRS ist proportional zu der Korrektheit von PCPP(RS(F, S, d)) und ist gleich 1/poly log n. Da LUACSP NP-schwer
ist (Reduktion von 3-SAT in Satz 2.4), ist VRS auch ein PCP-Verizierer für
die Sprache NP. Somit haben wir den Beweis von Satz 2.9 beendet.
ketten die Zufälligkeit
2.5 hitter-Algorithmen
In diesem Abschnitt wollen wir Satz 2.1 beweisen (NP = PCP1,1/2 [log n +
O(log log n), poly log n].) Die Konstruktion [BS05] liefert zunächst einen BasisVerizierer VRS mit folgenden Parametern:
1. Zufälligkeit
r = log n + O(log log n),
24
2. Anfragekomplexität
3. Korrektheit
s=
q = O(1),
1
poly log n .
Unser Ziel ist die Anfragekomplexität von
und dafür die Korrektheit von
boosting). Sei
Γ
O(1) auf poly log n zu erhöhen,
1/2 zu verbessern (soundness
auf
die Menge der möglichen Zufallszeichenketten des Verizie-
VRS als eine Abbildung VRS : Γ → {0, 1} mit der
folgender Eigenschaft vor: VRS (τ ) = 1 genau dann, wenn VRS angewandt mit
der Zufallszeichenkette τ den Kandidaten x akzeptiert.
rers
VRS .
1/poly log n
Wir stellen uns
Wir denieren zu erst das ein technisches Hilfsmittel, nämlich
hitter-Algorithmen.
Wir orientieren uns an der Denition aus [Gol97].
Denition 2.10 Sei eine Funktion σ : {0, 1}r → {0, 1}, sodass folgende
Ungleichung gilt:
|{y | σ(y) = 0}| ≥ s · 2r .
(2.2)
Ein hitter-Algorithmus ist ein randomisierter Algorithmus mit Eingaben r, s, S
und Orakelzugri auf σ , der eine Eingabe hit(y) := hit(r, s, S, σ)(y) berechnet, die folgende Eigenschaft erfüllt
Pr[σ(hit(y)) = 0] > S,
wobei die Wahrscheinlichkeit über die internen Münzwürfe von hit berechnet
wird.
Für einen
hitter-Algorithmus
• hitter-Menge (hitting
hit(y) zu bestimmen.
denieren wir folgende Begrie:
set): Die Menge der angefragten Werte
•
Anfragekomplexität: Die Kardinalität der
•
Zufälligkeit: Die Anzahl der internen Münzwürfe von
σ(v),
um
hitter-Menge.
hit.
S := 1/2 und entwerfen einen hitter-Algorithmus, der auf
dem Basis-Verizierer VRS basiert, mit Anfragekomplexität Q = O(1/s) und
Zufälligkeit R = r , wobei r die Zufälligkeit von VRS ist. In der obigen Terminologie ist σ die oben denierte Abbildung VRS , die eine Zufallszeichenkette
von VRS auf den Ausgang von VRS mit dieser Zeichenkette abbildet, und die
Eingaben y sind Elemente τ ∈ Γ.
Wir setzen nun
Wir betten
S) = 8/s
7
Γ
in einen Ramanujan-Graphen
über
|Γ| = 2r
Knoten ein.
7
Da
G(Γ)
G(Γ)
vom Grad
Die Laufzeit für die Konstruktion dieses Graphen ist polynomiell in
polylogarithmisch in der Länge
n
d := 4/s(1 −
im Folgenden als Index
der Eingabe. Einschränkungen auf
n
r
und
1/s,
also
können mit einer
vernachlässigbaren Verschlechterung der Korrektheit behoben werden [Gol97, Kapitel 4].
25
vorkommt, bezeichnen wir den Graphen
G(Γ)
auch mit
Γ.
Es wird aus dem
Kontext ersichtlich sein, ob jeweils die Menge oder der Graph gemeint ist.
Der Algorithmus
hit
geht folgendermaÿen vor [Gol97, Appendix C.4]:
•
Wähle einen Knoten
•
Betrachte die Nachbarschaft
1. Falls es ein
τ ∈ Γ,
κ ∈ NΓ (τ )
NΓ (τ )
mit
von
τ
in
Γ:
VRS (κ) = 0
gibt, setze
hit(τ ) := κ
(Hit).
2. Sonst setze
hit(τ ) := τi ∈ NΓ (τ )
beliebig (Miss).
Lemma 2.11 Der oben beschriebene Algorithmus ist ein hitter-Algorithmus
mit Anfragekomplexität Q := O(1/s), Zufälligkeit R := r und Korrektheit
S := 1/2.
Beweis.
Die Anfragekomplexität ist
Die Zufälligkeit
R
|NΓ (τ )|·q = d·q = O(1/s), da q = O(1).
τ ∈ Γ zu wählen und
ergibt sich aus den Möglichkeiten
r. Für die Analyse der Korrektheit betrachten wir die Mengen
C := {x | σ(x) = 0} und B = {τ | NΓ (τ ) ∩ C = ∅}. Die Menge B ist
ist gleich
also die Menge der Knoten, deren Wahl zu einem Miss führen. Mit dem
Expander-mixing-Lemma 1.12 erhalten wir
|B| |C|
·
|V | |V |
Da
4/d
Γ
(B × C) ∩ E |B| |C| = −
·
|E|
|V | |V | s
λ
|B| |C|
≤
·
·
d
|V | |V |
ein Ramanujan-Graph ist (λ
√
√
≤ 2 d − 1 < 2 d),
folgt dass
(λ/d)2 <
gilt. Daraus folgern wir:
|B| |C|
·
< (λ/d)2 < 4/d = 1/2 · s,
|V | |V |
Falls der zu verizierende Kandidat
|C|
der Korrektheit von VRS :
|V |
x
PCP-Verizierer, der für ein τ ∈ Γ den Wert P(τ ) := VRS (hit(τ ))
zurückgibt. Da s = 1/poly log n und r = log n + O(log log n) gilt, folgt aus
Lemma 2.11, dass P ein Verizierer für LUACSP mit Zufälligkeit R = log n +
O(log log n), Q = poly log n und S = 1/2 ist. Die polynomielle Reduktion
von 3-SAT auf LUACSP aus Satz 2.4 beendet den Beweis von Satz 2.1: Wir
Sei
P
∈
/ LUACSP ) folgt aus
< 1/2. Das besagt, dass
negativ ist (x
|B|
s. Wir erhalten |V
|
≥
Prτ ∈Γ [VRS (hit(τ )) = 0] > 1/2 = S.
(d = 8/s).
der
26
erhalten eine
für
PCP-Verikation mit den selben Parametern, aber für NP statt
LUACSP .
hitter-Algorithmen so deniert, wie sie in der Literatur zu nden
sind. Für unsere Zwecke (PCP-Verikation) eignet sich allerdings folgende
modizierte Denition Der Wert P(τ ) kann auch folgendermaÿen interpreWir haben
tiert werden:
^
P(τ ) =
VRS (κ).
κ∈NΓ (τ )
Dies liegt daran, dass ein einziger
um
VRS (hit(τ )) = 0
κ ∈ NΓ (τ )
mit
VRS (κ) = 0
ausreicht,
zu erhalten. Abbildung 2.1 zeigt den Ablauf einer
PCP-
hitter-Algorithmus. Wir betonen nochmal den Unterund VRS (τ ) anhand dieses Beispiels: In dem linken
Graphen tritt τ2 in der hitter-Menge von τ1 auf und wir berechnen VRS (τ2 )
(Anwendung von VRS ), um P(τ1 ) zu erhalten. In dem rechten Graph ist die
Verikation mit dem
schied zwischen
P(τ )
Situation umgekehrt.
τ1
τ4
τ3
τ2
τ1
τ1
Γ
τ4
τ3
τ4
τ3
τ2
τ2
P(τ2 ) = VBas (τ1 ) ∧ VBas (τ3 ) ∧ VBas (τ4 )
P(τ1 ) = VBas (τ2 ) ∧ VBas (τ3 ) ∧ VBas (τ4 )
Abbildung 2.1: Unterschied zwischen
P(τ )
und
VRS (τ )
für
τ ∈ Γ.
2.6 Ein algebraischer polylog-Verizierer
+
Die Konstruktion [BGH 05] gleicht der Konstruktion [BS05] in der Zufälligkeit
R = log n + O(log log n)
und in der Anfragekomplexität
Q = poly log n.
Der Unterschied zwischen den beiden Konstruktionen liegt in der Laufzeit
T
der
PCP-Verikation:
Während [BS05] eine polynomielle Laufzeit benö-
+
tigt, erreicht [BGH 05] eine polylogarithmische Laufzeit und erzielt da-
r, S und T
PCP-Verizierer
durch die erste strikte Verbesserung der drei Parameter
seit
der Arbeit von Babai et al. in [BFLS91], in der ein
mit
r = O(log n), S =
n1+ε und
T = poly log n
entworfen wurde. Wir erläutern
kurz die Modikationen, die zu diesem Ergebnis geführt haben.
27
•
Eziente Reduktion von
NP-vollständigen Problemen auf ein Graphen-
Färbungsproblem, so dass die Legalität der Färbung um einen Knoten
v
(lokale Konsistenz der Nachbarschaft von
mischen Schaltkreis
•
D(v)
v)
mit einem polylogarith-
getestet werden kann.
Eziente Reduktion des Graphen-Färbungsproblems auf ein algebraisches Problem: Der Schaltkreis
Grads
D(v)
wird in ein Polynom geringen
pv (x) := C(x, . . . ) über einem Körper F überführt, so dass
pv (x) in polylogarithmischer Zeit möglich ist.
die
Auswertung von
•
Eziente Auswertung der Polynome
ZH (α)
für
α, β ∈ hωi
C(β, A(βα1 ), . . . , A(βαt ))
VRS in Abschnitt 2.4).
Die Lösung der letzten zwei Aufgaben basiert auf der Struktur von
hωi:
die Wahl eines Körpers
Menge
und
(siehe Protokoll von
F
mit Charakteristik 2 (|hωi|
= 2K )
F
und
und einer
H = hωi, die ein linearer Unterraum von F ist. Die Analyse der sehr
+
interessanten Konstruktion [BGH 05] sprengt den Rahmen dieser Arbeit.
+
An dieser Stelle verweisen wir den interessierten Leser auf [BGH 05] für eine
ausführliche Beschreibung. Wir verwenden also Satz 2.2 als black-box für
unsere Konstruktion in Kapitel 4. Natürlich gilt die polylogarithmische Zeit
ebenfalls für den Basis-Verizierer
Basis-Verizierer
VRS
VRS
von citebs05 deniert ist.
28
+
von [BGH 05], der analog zu dem
Kapitel 3
Kombinatorische
PCP-Konstruktionen
Wie wir gesehen haben, sind algebraische Konstruktionen wegen der hohen
Kosten des Low-degree-Tests praktisch nicht einzusetzen. Um diesen Test
zu umgehen hat Dinur in [Din05] einen neuen Ansatz vorgeschlagen: Statt
die Erfüllbarkeit eines Problems als Annullierung von Polynomen über niten Körpern auszudrücken, werden
Bedingungsgraphen
(constraint graphs)
betrachtet. Solche kombinatorische Objekte anstatt der auf Polynomen
basierenden algebraischen Bedingungssysteme zu verwenden, könnte sich
als ezienter erweisen. In Abschnitt 3.1 denieren wir Bedingungsgraphen
und ihre
Erfüllbarkeitslücke
und zeigen ihre Beziehung zu
PCPs
auf. In Ab-
schnitt 3.2 stellen wir die zentrale Technik des kombinatorischen Ansatzes
vor, nämlich die Ausdehnung der Erfüllbarkeitslücke (gap amplication). In
PCP-Konstruktionen von [Din05]
PCP-Konstruktion in Kapitel 4 vor.
Abschnitt 3.3 untersuchen wir dann zwei
und legen die Grundlagen für unsere
3.1 Kombinatorischer Ansatz
Ein
NP-vollständiges Problem lässt sich durch die Angabe einer BedingungsC über einer Variablenmenge V denieren. Zum Beispiel kann eine
menge
3-SAT-Instanz durch die Angabe der Klauseln aus der konjunktiven normalen Form (KNF) deniert werden. Betrachten wir Bedingungen, die jeweils
über zwei Variablen deniert sind. Weiter sei
Σ
das Alphabet, in dem die
σ : V → Σ eine Variablenbelegung.1 Wir
Bedingungsgraphen G := h(V, E), Σ, Ci mit folgenden Ei-
Variablen ihre Werte nehmen und
betten
C
in einen
genschaften ein:
1
Im Folgenden benutzen wir Belegung als Kurzform für Variablenbelegung.
29
•
Der Graph
•
Die Knotenmenge
V
•
Die Kantenmenge
E trägt
(V, E)
ist ein ungerichteter Graph.
Σ
dar.
Jeder Kante
e=
stellt die Variablenmenge mit Werten aus
die Bedingungsmenge
C:
{u, v} wird eine einzige Bedingung ce : Σ2 → {0, 1} zugeordnet, die
e
e
genau dann erfüllt ist, wenn σ(c ) := c (σ(u), σ(v)) = 1 gilt. Die Bee
dingung c kann durch einen Schaltkreis mit Eingabe σ(u) und σ(v)
und boolescher Ausgabe (0 oder 1) modelliert werden. Wir stellen keine Einschränkungen auf die Struktur des Schaltkreises und können ihn
als eine einfache Wahrheitstabelle ansehen.
• S(G) := |V | + |E| · |Σ|2
heiÿt die (Beschreibungs-) Gröÿe des Graphen.
Um die Verbindung zwischen
PCPs
und Bedingungsgraphen herzustellen,
brauchen wir folgende Denitionen:
Denition 3.1 Sei G = h(V, E), Σ, Ci ein Bedingungsgraph.
1. Die Erfüllbarkeitslücke (satisability-gap) SAT(C) von C ist der kleinste Anteil unerfüllter Bedingungen unter allen Belegungen für V :
SAT(C) := min SATσ (C),
σ
wobei SATσ (C) :=
|Cσ |
|C|
und Cσ = {ce ∈ C | σ(ce ) = 0} ist.
Die Kantenmenge, die Cσ trägt, heiÿt von σ verletzt. Die Belegung σ ,
für die SAT(C) = SATσ (C) gilt, heiÿt eine optimale Belegung.
2. Die
Erfüllbarkeitslücke
SAT(G) := min
σ
SAT(G) von G ist
[ce (σ(u), σ(v)) = 0] = SAT(C).
Pr
e={u,v}∈E
3. CGS (constraint-graph satisability) ist das Entscheidungsproblem, ob
SAT(G) = 0 gilt.
4. α-Gap-CGS ist das Entscheidungsproblem, ob SAT(G) = 0 oder SAT(G) >
α für eine Konstante α gilt.
Die Erfüllbarkeitslücke ist das kombinatorische Analogon zum Begri der
Korrektheit eines Verizierers: Beide Gröÿen stellen die Wahrscheinlichkeit
dar, Inkonsistenzen bzw. Fehler in einem angeblichen Beweis zu entdecken.
Das Zufallsexperiment des
PCP-Verizierers sind dessen Münzwürfe, die sei-
ne Abfragen im Beweis bestimmen. Das kombinatorische Pendant dazu ist
die zufällige Wahl einer Kante in dem Bedingungsgraphen.
30
PCP-Konstruktion
Wir analysieren eine
in [Din05] und beweisen den
PCP-
Satz 1.7
NP = PCP[log n + O(log log n), O(1)].
α-Gap-CGS NP-schwer ist und
PCP-Konstruktion für die Verikation von α-Gap-CGS mit den
behaupteten Parameter r = log n+O(log log n) und q = O(1) an. Wir zeigen
also, dass α-Gap-CGS ∈ PCP[r, q] gilt. Um dieses Ziel zu erreichen werden
wir folgende polynomielle Reduktionen (∝) führen:
Für den Beweis von Satz 1.7 zeigen wir, dass
geben eine
3-Col
Beweis.
∝ CGS ∝ α-Gap-CGS.
Für die erste Reduktion betrachten wir eine Instanz
(3-fach-Färbbarkeit) und konstruieren folgende Instanz
G
von 3-Col
von CGS: Der
G. Wir identizieren
die drei Farben mit c1 , c2 und c3 und setzen als Alphabet Σ := {c1 , c2 , c3 }.
Jede Kante {v, w} trage eine Ungleichheitsbedingung f (v) 6= f (w), wobei
f : V → Σ die Knotenfärbungsfunktion des Graphen G ist.
Graph
H
H
habe die selbe Knoten-und Kantenmenge wie
Der Beweis der zweiten Reduktion
(CGS ∝ α-Gap-CGS)
ist der Haupt-
teil dieses Kapitels und wird ausführlich in Abschnitt 3.3 beschrieben. Hier
|C| = n ist äquivalent zu der Unterscheidung zwischen SAT(H) = 0 und SAT(H) ≥ 1/|C| = 1/n, da mindestens
eine Bedingung verletzt sein muss, falls SAT(H) 6= 0 gilt. Wir wenden eizunächst eine grobe Skizze: CGS mit
ne Prozedur an, die die Erfüllbarkeitslücke eines Graphen verdoppelt (gap
amplication). Durch eine geeignete Anzahl Iterationen kann die Erfüllbar-
α gebracht werden. Dies ist die Reduktion einer
α-Gap-CGS-Instanz.
keitslücke auf eine Konstante
CGS-Instanz auf eine
In Abschnitt 3.2 geben wir explizit die Prozedur zur Ausdehnung der Erfüllbarkeitslücke an. Wir werden einen Bedingungsgraphen
in einen Graphen
pow(G)
G = h(V, E), Σ, Ci
überführen, so dass
SAT(pow(G)) > min(2 · SAT(G), β)
für eine Konstante
β
zur Verikation von
gilt. In Abschnitt 3.3 stellen wir dann die Konstruktion
α-Gap-CGS
vor und beweisen Satz 1.7.
3.2 Ausdehnung der Erfüllbarkeitslücke
Die
PCP-Verikation
mittels eines Bedingungsgraphen entspricht der Wahl
einer Kante in diesem Graphen und dem Test der Bedingung, die von dieser
Kante getragen wird. Somit decken sich die Begrie der Erfüllbarkeitslücke
und der Korrektheit: Eine untere Schranke für die Erfüllbarkeitslücke kann
31
als untere Schranke für die Korrektheit eines Verizierers interpretiert werden. Im Folgenden werden wir von Korrektheit und Vollständigkeit sprechen,
wobei wir untere und obere Schranken für die Erfüllbarkeitslücke meinen.
Unser Ziel in diesem Abschnitt ist folgenden Satz zu beweisen:
Satz 3.2 (Ausdehnungssatz) Sei G = h(V, E), Σ, Ci ein Bedingungsgraph
mit |Σ| = O(1). Dann gibt es Konstanten C und β und einen polynomiellen
Algorithmus, der einen Bedingungsgraphen pow(G) := h(V ∗ , E ∗ ), Σ∗ , C ∗ i mit
folgenden Eigenschaften konstruiert:
• S(pow(G)) ≤ C · S(G) und |Σ∗ | = O(1),
• Vollständigkeit: SAT(G) = 0 =⇒ SAT(pow(G)) = 0,
• Korrektheit: SAT(pow(G)) ≥ min(2 · SAT(G), β).
Die Überführung von
G
in
pow(G)
wird in mehreren Schritten ausgeführt
und lässt sich in Algorithmus 1 beschreiben:
Algorithmus 1 : Die Überführung von G in pow(G)
Eingabe : Bedingungsgraph G
Ausgabe : pow(G) mit SAT(pow(G)) ≥ min(2 · SAT(G), β)
1
2
3
4
5
// Knoten-Duplizierung
// Expandisierung
// Powering
// Komposition
// Ausgabe des Algorithmus
G 7→ H1 ;
H1 7→ H2 ;
H2 7→ H3 ;
H3 7→ H4 ;
return pow(G) := H4 ;
Wir untersuchen nun die Graphen
Hl
für
l = 1, . . . , 4.
Wir erläutern die je-
weils erzielte Eigenschaft und die durchgeführte Operation auf den Graphen
und bestimmen für jeden Graphen das Alphabet, die Knoten-, Kanten- und
Bedingungsmenge. Die im Folgenden vorkommenden Gröÿen
und
λ1
d0 , d 1 , h0 , h1 , λ 0
sind universelle Konstanten. Insbesondere sind sie von der Gröÿe des
Graphen und dessen Beschaenheit unabhängig.
3.2.1 Knoten-Duplizierung
H1 mit konstantem Grad zu
v ∈ V dv Kopien erzeugt, wobei dv
der Grad von v in G ist. Sei [v] die Menge der Kopien von v . Diese Menge
wird mit einem (dv , d0 , λ0 )-Expandergraphen X(dv ) mit konstanter KantenExpansion h0 vernetzt. Zusätzlich wird für jede Kante e = {u, v} ∈ E eine
Kante e
b zwischen einem Knoten in [u] und einem Knoten in [v] angelegt,
Der erste Schritt besteht darin, einen Graphen
erhalten. Dafür werden für jeden Knoten
32
so dass jeder Knoten
d0
te (nicht-Expanderkante
Expandernachbarn und eine einzige
b)
eb ∈ E
besitzt. Falls
dv < d 0
externe Kand0 − dv
gilt, werden
{v, v} eingefügt. Abbildung 3.1 zeigt die Duplizierung eines
v vom Grad 6 und die Vernetzung von [v] durch einen ExpanderX(dv ) vom Grad 3.
Selbstschleifen
Knotens
graphen
e1
e2
eb2
eb1
X(dv )
v
Abbildung 3.1: Duplizierung von
Sei
b=S
E
b.
e∈E e
• V1 =
S
v
und Vernetzung von
Wir erhalten einen Graphen
v∈V [v],
[v]
durch
X(dv ).
H1 := h(V1 , E1 ), Σ1 , C1 i
mit
|V1 | = 2|E|,
• Σ1 = Σ,
• d := Grad(H1 ) = d0 + 1,
b∪S
• E1 = E
v∈V E(X(dv )), |E1 | = d · |V1 | = (d0 + 1) · 2|E| = O(|E|),
da d konstant ist.
b getragen wird und
• C1 = C ∪ C Id , wobei C nun von der Kantenmenge E
Id
C die Menge der Gleichheitsbedingungen zwischen den Knoten von
X(dv ) darstellt. Die Bedingungen in C Id gewährleisten, dass Kopien
des selben Knotens die selbe Belegung erhalten.
• S(H1 ) = |V1 | + |E1 | · |Σ|2 = O(|E|) = O(S(G)).
Für die Erfüllbarkeitslücke gilt:
β0 · SAT(G) ≤ SAT(H1 ) ≤ SAT(G)
Beweis.
Die Gröÿe von
V1
ist oensichtlich
(3.1)
2|E|, da eine Kopie von den zwei
|E1 | und
Endknoten jeder Kante jeweils erzeugt wird. Die Eigenschaften von
d = Grad(H1 )
ergeben sich direkt aus der Konstruktion.
Nun betrachten wir die Erfüllbarkeitslücke
zweite Ungleichung (SAT(H1 )
SAT(H1 ) des neuen Graphen. Die
≤ SAT(G)) drückt die Vollständigkeit aus: Aus
33
SAT(G) = 0 folgt nämlich SAT(H1 ) = 0. Für den Beweis betrachten wir eine
σ : V → Σ, d.h. SAT(G) = SATσ (G). Wir erweitern σ zu
0
einer Belegung σ : V1 → Σ wie folgt:
optimale Belegung
∀v ∈ V ∀x ∈ [v] : σ 0 (x) := σ(v).
Oensichtlich verletzen
σ
und
σ0
E
aus
entsprechen. Da
|E1 | > |E|
SAT(H1 ) ≤ SATσ0 (H1 ) =
Die erste Ungleichung (β0
k von Kanten: Die Beleb , die unerfüllbaren Kanten
E
die selbe Anzahl
0
gung σ verletzt diejenigen externen Kanten aus
gilt, erhalten wir:
k
k
≤
= SATσ (G) = SAT(G).
|E1 |
|E|
· SAT(G) ≤ SAT(H1 ))
drückt die Erhaltung der
Korrektheit bis auf einen multiplikativen konstanten Faktor aus. Nun betrachten wir eine optimale Belegung
σ 0 : V 1 → Σ,
für die gilt:
SAT(H1 ) = SATσ0 (H1 )
(3.2)
σ : V → Σ gemäÿ der Pluralität von σ 0 .
einen Knoten v ∈ V sei σ(v) der am meisten vertretene Wert unter
0
Belegungen σ (x) der Kopien x ∈ [v] von v . Formal:
Wir denieren die Belegung
∀v ∈ V : σ(v) := {a ∈ Σ | Pr [σ 0 (x) = a]
x∈[v]
F ⊆ E
Sei
die Kantenmenge, die von
Kantenmenge, die von
σ0
2
verletzt wird.
deren Belegung von der Pluralität von
S :=
[
σ
σ0
den
maximal}.
verletzt wird, und
Weiter sei
Für
S ⊆ V1
F1 ⊆ E 1
die
die Knotenmenge,
abweicht, d.h.
{x ∈ [v] | σ 0 (x) 6= σ(v)}.
v∈V
Im Folgenden bestimmen wir eine Konstante
β0 ,
so dass für
α := SATσ (G)
gilt:
def
β0 · SAT(G) ≤ β0 · α ≤
|F1 | def
= SAT(H1 )
|E1 |
(3.3)
Unser Ziel ist die Ungleichung
β0 · α ≤
für ein geeignetes
β0
|F1 |
|E1 |
zu beweisen. Dafür beachten wir Folgendes: Zu einer
f ∈ F gehört eine externe Kante f1 ∈ E1 , die entweder von σ 0 verletzt
0
(f1 ∈ F1 ) oder einen Endpunkt u in S hat (für u ∈ [v] gilt: σ (u) 6=
Kante
wird
σ(v)).
Daraus folgt
|F1 | + |S| ≥ |F | = α · |E|
(3.4)
Wir unterscheiden zwei Fälle und zeigen in beiden Fällen, dass es eine Konstante
2
C
gibt, so dass
SATσ0 (H1 ) =
C ·α≤
|F1 |
und
|E1 |
|F1 |
|E1 | gilt.
SATσ (G) =
|F |
.
|E|
34
•
Falls
|F1 | ≥
α
2
· |E|
gilt, erhalten wir
|F1 |
1 α
1
|F1 |
=
≥ · =
· α.
|E1 |
d · |E|
d 2
2d
Wir haben gezeigt:
|F1 |
|E1 |
C ·α≤
•
Falls
|F1 | < α2 |E|
für
C=
1
2d
(3.5)
gilt, dann folgt aus (3.4):
|S| ≥
α
|E|
2
(3.6)
S v := [v]∩S . Die Menge S v lässt
v
0
sich als disjunkte Vereinigung von Mengen Sa := {x ∈ S | σ (x) = a}
schreiben. Es gilt |Sa | ≤ |[v]|/2, da S von der Pluralität abweicht. Die
Expander-Eigenschaft von X(dv ) garantiert E(Sa , Sa ) ≥ h0 · |Sa |. Alle
3
Id
Kanten, die Sa verlassen, tragen Gleichheitsbedingungen aus C , die
0
von σ verletzt werden. Für diese Kanten gilt nämlich: s, t ∈ [v] und
0
σ (s) 6= σ 0 (t). Wir summieren über alle Sa und dann über alle S v auf
v∈V
Für einen beliebigen Knoten
sei
und erhalten:
|F1 | ≥ h0
XX
|Sa | = h0
v∈V a∈Σ
X
(3.6)
|S v | = h0 |S| ≥
v∈V
αh0
h0 α
|E| =
|E1 |.
2
2d
Daraus schlieÿen wir:
C ·α≤
Wir setzen
|F1 |
|E1 |
für
C=
h0
2d
(3.7)
1 h0
β0 := min( 2d
, 2d ). Dann folgt aus (3.5) und (3.7) die Behauptung
(3.3).
3.2.2 Expandisierung
H1 in einen Expandergraphen H2 zu
überführen. Wir betten V1 in einen (|V1 |, d1 , λ1 )-Expandergraphen Exp mit
konstanter Kanten-Expansion h1 ein und fügen für jeden Knoten aus V1 eine
Das Ziel der zweiten Umformung ist
Selbstschleife (self loop) ein. Wir bezeichnen die Menge dieser Selbstschlei-
Eloop (V1 ). Der
Eloop (V1 ) resultierende
fen mit
aus der Vereinigung der Kanten von
Graph
H2 := h(V2 , E2 ), Σ2 , C2 i
Expandergraph mit folgenden Eigenschaften:
3
Kanten
{s, t}
mit
s ∈ Sa
und
t∈
/ Sa
.
35
ist ein
H1 , Exp und
(|V1 |, D, λ)-
• V2 = V1
und
Σ2 = Σ,
• D := Grad(H2 ) = d + d1 + 1,
• λ := λ(H2 ) < D,
• E2 = E1 ∪ E(Exp) ∪ Eloop (V1 ), |E2 | = D/d · |E1 | = O(|E1 |),
• C2 = C1 ∪ C void , wobei C void eine Menge von trivialen (immer erfüllten)
Bedingungen, die von E(Exp) ∪ Eloop (V1 ) getragen werden.
Abbildung 3.2 zeigt einen Ausschnitt aus dem Graphen
und
d1 = 3.
H2
mit
d0 = 2
Um die Lesbarkeit zu erhöhen wurden nicht alle Kanten in
diesem Teilgraphen gezeichnet, sondern stellvertretend einige Kanten von
jeder Art, die jeweils durch verschiedene Stricharten dargestellt werden.
{v, v}
e ∈ Exp
b
eb ∈ E
X(du )
{w, w}
Abbildung 3.2: Ein Ausschnitt aus dem Expandergraphen
H2 .
Auch in diesem Schritt verschlechtert sich die Korrektheit nur um einen
konstanten Faktor:
β1 · SAT(H1 ) ≤ SAT(H2 ) ≤ SAT(H1 )
(3.8)
Beweis. Die Eigenschaften von D und |E2 | sind oensichtlich. Es gilt h(H2 ) ≥
h(Exp) ≥ h1 , da Exp ⊂ H2 . Die Anwendung von Lemma 1.11 auf H2 liefert:
h1 ≤ h(H2 ) ≤
p
2D(D − λ) =⇒ λ ≤ D −
h21
< D.
2D
Für die Erfüllbarkeitslücke beachten wir, dass die Bedingungen über alle
(d1 + 1)|E1 |
eingeführten Kanten immer erfüllt sind. Der Anteil unerfüll-
ter Bedingungen verkleinert sich also um den Faktor
O(1).
36
β1 :=
d
d+d1 +1
=
d
D
=
3.2.3 Powering
Der Preis für die Grad- und Expander-Eigenschaften war eine Verkleinerung
von
SAT(G)
um einen konstanten Faktor
β0 · β1 .
Der Powering-Schritt hebt
diese Verschlechterung auf und erzeugt die eigentliche Ausdehnung der Erfüllbarkeitslücke. Dieser Schritt basiert auf der Bildung von
t-Pfaden
in
E2 .
Denition 3.3 Ein t-Pfad Π in einem Graphen G = (V, E) ist eine t-
elementige Kantenmenge Π := ({u0 , u1 }, . . . {ut−1 , ut }) ⊂ E mit Kanten
{ui , ui+1 } ∈ E für i = 0, . . . , t − 1. Knoten ui und Kanten {ui , ui+1 } können
mehrfach in einem Pfad vorkommen.
t, die wir später spezizieren, konstruieren wir
H3 = h(V3 , E3 ), Σ3 , C3 i := (H2 )t mit folgender Vorschrift:
Für eine Konstante
phen
• H3
•
habe die selbe Knotenmenge wie
Knoten
u, v ∈ V3
Verschiedene
H2 .
sind genau dann durch
den, wenn die Anzahl der
t-Pfade
t-Pfade
den Gra-
von
u
k
Kanten von
nach
v
in
H2
E3
•
k
ist.
zwischen den selben zwei Knoten induzieren also
E3 . Die resultierende Kantenmenge E3
t-Pfade in E2 .
verschiedene Kanten in
somit alle möglichen
verbun-
genau
enthält
v ∈ V3 eine
t/2-Nachbarschaft Nt/2 (v) hat. Dabei bezeichnet
Nt/2 (v) die Menge der in t/2 Schritten erreichbaren Nachbarn von v in
H2 . Die Meinung von v ist die Menge der Belegungen, die v von seinen
Ddt/2e .
Nachbarn annimmt. Wir setzen also Σ3 := (Σ2 )
Das Alphabet
Σ2
wird so erweitert, dass jeder Knoten
Meinung über seine
•
Eine Bedingung
c3 ∈ C3 über eine Kante u3 , v3 ist die Konjunktion aller
t/2-Nachbarschaften von u3 und v3 in H2
Bedingungen, die durch die
induziert werden. Eine formelle Denition folgt im nächsten Absatz.
Wir wollen aber zuerst die Intuition, die den Powering-Schritt motiviert,
genauer erläutern. Das Ziel der gesamten Umformung
G → pow(G)
ist Ver-
bindungen zwischen Knoten (Variablen) herzustellen, die im ursprünglichen
Graphen
G
nicht korreliert waren. Diese Korrelation wird einerseits durch
den Expandisierungsschritt realisiert, der entfernte Knoten verbindet, und
andererseits durch die Verteilung der Informationen (Variablenbelegungen)
durch den Graphen. Ein unehrlicher Beweiser kann dann nicht mehr die Belegung einer einzelnen Variable einmalig ändern, sondern mindestens einen
groÿen (konstanten) Anteil der Spuren dieser Variable in den Graphen verfolgen und ändern. Diese Spuren nden sich in den Meinungen wieder, die die
Nachbarn eines Knotens über ihn haben (Siehe Abbildung 3.3). Die Verbrei-
37
u
σu (x)
v
σ(x)
σv (x)
w
σw (x)
Abbildung 3.3: Die Belegung
von
x
σ(x) ndet sich in den Meinungen der Nachbarn
wieder.
tung der Variablenbelegungen und ihr Eekt werden mit der Denition der
σ : V 3 → Σ3 .
Sei σu (w) die Meinung von u über w ∈ Nt/2 (u), d.h die Restriktion Σ3 → Σ2
e
der Belegung σ(u) auf den Knoten w . Eine Bedingung c (σ(u), σ(v)) ∈ C3
Bedingungen in
H3
ersichtlicher. Betrachten wir eine Belegung
ist genau dann erfüllt, wenn
1. ∀eu ∈ {w1 , w2 } ∈ E2 | w1 , w2 ∈ Nt/2 (u) : ceu (σu (w1 ), σu (w2 )) = T
2. ∀ev ∈ {w1 , w2 } ∈ E2 | w1 , w2 ∈ Nt/2 (v) : cev (σv (w1 ), σv (w2 )) = T
3. ∀e ∈ {w1 , w2 } ∈ E2 | w1 ∈ Nt/2 (u), w2 ∈ Nt/2 (v) : ce (σu (w1 ), σv (w2 )) = T
D = 3 und t = 2. Betrachten wir die Bedingung über
{u, v} ∈ E3 , die dem 2-Pfad {u, w}, {w, v} entspricht. Wir erhalten die Nachbarschaften N1 (u) = {u, u1 , w} und N1 (v) = {v, v1 , w} und
folgende Einteilung der Kanten in Sorten eu , ev und e gemäÿ der obigen
In Abbildung 3.4 ist
die Kante
Unterscheidung:
•
Die Kanten
{u, u}
und
{u, u1 }
•
Die Kanten
{v, v}
und
{v, v1 }
•
Die Kante
{w, w}
ist eine
Die Kante
{u, w}
tritt zweimal aber mit jeweils einer Interpretation
•
sind
sind
e-Kante
eu -Kanten
ev -Kanten
(punktierte Kanten).
(gestrichelte Kanten).
(fette durchgezogene Kante).
auf:
u wird durch {u, u} und w
eine
u
Für
{u, w}
erreicht:
{u, w}
ist
wird durch
{v, w}
erreicht:
{u, w}
ist
eu -Kante.
wird durch
eine
wird durch
{u, u}
und
w
e-Kante.
{v, w}
ergibt sich eine analoge Überlegung, deshalb sind beide
Kanten fett angezeichnet und jeweils punktiert bzw. gestrichelt.
38
v1
v
u1
w
u
Abbildung 3.4: Bedingungen im Powering-Schritt.
Nun ist klar, was die Erweiterung des Alphabets bewirkt, nämlich eine Bün-
C3 ist erfüllt, wenn ein Bündel
C2 erfüllt ist. Jede nicht erfüllte Bedingung in
C2 tritt in Dt−1 t-Pfaden in E2 vor und verursacht die Unerfüllbarkeit von
genau so vielen Bedingungen in C3 . Dies ist wie wir sehen werden der eidelung der Bedingungen: Eine Bedingung in
von
O(Dt )
Bedingungen in
gentliche Grund zur Ausdehnung der Erfüllbarkeitslücke. Wir erhalten einen
Bedingungsgraphen
H3 = h(V3 , E3 ), Σ3 , C3 i
mit folgenden Eigenschaften:
• |V3 | = |V2 |,
• Grad(H3 ) = Dt ,
• |Σ3 | = |Σ2 |D
dt/2e
,
• |E3 | = |C3 | = Dt−1 · |C2 |,
• S(H3 ) = Dt−1 · S(H2 ) = O(S(H2 )),
da
D
und
t
konstant sind.
Die Ausdehnung der Erfüllbarkeitslücke drückt sich in folgender Ungleichung
aus:
√
1
β2 t · min(SAT(H2 ), ) ≤ SAT(H3 ) ≤ SAT(H2 )
t
(3.9)
Beweis. Der Faktor Dt−1 in |E3 | ergibt sich aus der Anzahl der möglichen t-Pfade in E2 bei Festlegung der ersten Kante. Der Grad D stellt den
Verzweigungsfaktor für die Wahl der nächsten Kante in E2 dar. Der Grad
t
eines Knotens in V3 entspricht der Anzahl D der t-Pfade, die aus diesem
Knoten ausgehen. Die Vollständigkeit ist klar, da die Kombination bzw. Vervielfältigung von erfüllbaren Bedingungen eine erfüllbare Bedingungsmenge
liefert. Der Beweis der Korrektheitseigenschaft in Ungleichung (3.9) ist sehr
39
technisch und bedarf der Einführung mehrerer Hilfssätze aus der Wahrscheinlichkeitstheorie. Wir verzichten hier auf eine ausführliche Beweisführung und
skizzieren nur die Grundidee des Beweises.
4
σ : V3 → Σ3 die Information über die
Belegung eines Knotens auf seine t/2-Nachbarschaft verteilt. Durch die Korrelation der Erfüllbarkeit einer Bedingung in C3 mit der Erfüllbarkeit einer
Fülle von Bedingungen in C2 ist die Wahrscheinlichkeit Verletzungen von σ
Informell wird durch die Belegung
zu entdecken gröÿer als die Wahrscheinlichkeit auf Verletzungen von Belegungen
σ 0 : V 2 → Σ2
zu stoÿen. Die zweite entscheidende Beobachtung ist
die Ähnlichkeit zwischen Spaziergängen in Expandergraphen und in zufälligen Graphen wie Lemma 1.13 zeigt. Diese Eigenschaft stellt die Verbindung
zwischen
t-Pfaden
(Spaziergängen im Expandergraphen
H2 )
SAT(H3 )
und
(Wahrscheinlichkeit der Verletzung bei der zufälligen Wahl einer Kante in
H3 )
her.
3.2.4 Komposition
Die Ausdehnung der Erfüllbarkeitslücke im Powering-Schritt konnte nur mit
der Vergröÿerung des Alphabets um den Faktor
K = |Σ3 |/|Σ|
erreicht wer-
den. Da wir aber eine iterative Anwendung dieser Prozedur benötigen werden, müssen wir die resultierende exponentielle Vergröÿerung unterbinden.
Ansonsten ist die Gröÿe des Alphabets nach
O(log n)
bzw.
m = O(log log n)
m
Iterationen
K m.
Für
m=
ergibt sich eine polynomielle bzw. polyloga-
rithmische Alphabetgröÿe. Unser Ziel ist aber ein Alphabet mit konstanter
Gröÿe zu erhalten, da wir eine konstante Anfragekomplexität anstreben: Der
Verizierer wird die Belegung der Endknoten einer Kante lesen. Seine Anfragekomplexität ist also proportional zu der Gröÿe des alphabets.
Die Reduktion der Alphabetgröÿe erreichen wir im Kompositionsschritt: Je-
H3 , die über Variablen in Σ3 deniert ist, wird durch eine
Menge mittels einer PCPP-Anwendung P0 erzeugter Bedingungen ersetzt,
die über einem kleineren Alphabet Σ0 deniert sind. Wie wir in Abschnitt
1.1.2 gesehen haben, muss die Eingabe einer PCPP-Anwendung eine Robustde Bedingung aus
heitseigenschaft besitzen. Deswegen unterteilen wir den Kompositionsschritt
in zwei Schritte: die Robustization und die
PCPP-Anwendung.
Robustization
C3 in ein für die PCPPP0 ist nämlich eine BeBedingungen in C3 über Σ3
Im ersten Schritt überführen wir die Bedingungen aus
Anwendung
P0
geeignetes Format. Die Eingabe für
dingung über boolesche Variablen, während die
4
Der Beweis wird auf Seiten 13 bis 17 in [Din05, Kapitel 5] ausführlich beschrieben.
40
deniert sind. Wir brauchen also eine geeignete Kodierung der Variablen.
(l, log |Σ3 |, ρ)-Code ecc : Σ3 → {0, 1}l mit linearer
Codewortlänge l = O(log |Σ|) und linearer Distanz ρ = O(log |Σ3 |). Wir ersetzen jede Variable v ∈ V3 durch eine Menge [v] von l booleschen Variablen,
die eine Kodierung von v via ecc darstellen.
Betrachten wir einen
C3 bilden wir die Bedingungsmenge Ce3 folgendermaÿen: Für jede Bedine
e3 eine Bedingung über [u] ∪ [v], so dass
gung c ∈ C3 mit e = {u, v} sei c ∈ C
c genau dann erfüllt ist, wenn [u] ∪ [v] eine legale Kodierung via ecc für eine
e
Belegung σ von u und v ist, die c erfüllt. In anderen Worten:
c([u] ∪ [v]) = 1 ⇐⇒ ce ecc−1 ([u]), ecc−1 ([v]) = 1
(3.10)
Aus
PCPP-Anwendung
Betrachten wir einen
δ0
(Distanz) und
s0
PCPP-Verizierer P0
mit Parametern
Σ0
(Alphabet),
(Korrektheit) und folgenden Eigenschaften:
•
Eingabe: eine Bedingung
•
Ausgabe: Die Anwendung von
c
über eine Menge
P0
B
boolescher Variablen.
c mit einer zuP0 (c, τ0 ), die genau
auf die Bedingung
τ0 deniert eine Bedingung
P0 die Eingabe c akzeptiert. Die Vereinigung
dieser Bedingungen über alle τ ∈ Γ(P0 ) (die Menge der möglichen
Zufallszeichenketten von P0 ) liefert eine Bedingungsmenge Cc . Diese
Bedingungsmenge ist über der Variablenmenge B ∪ Xc deniert, wobei
Xc eine Menge von Hilfsvariablen über einem Alphabet Σ0 ist, die wir
fälligen Zeichenkette
dann erfüllt ist, wenn
bestimmen werden. Diese Bedingungsmenge kann auf natürlicher Weise in einen Bedingungsgraphen
werden. Diesen Graphen
•
eingebettet
setzen wir als Ausgabe des Algorithmus.
σ : B → {0, 1} die Bedingung c erfüllt, dann gibt
: Xc → {0, 1}, so dass σ ∪ σ 0 jede Bedingung in Cc erfüllt.
Vollständigkeit: Falls
0
es σ
•
Gc
Gc := h(B ∪ Xc , E), Σ0 , Cc i
Korrektheit: Für jedes
gung
σ
e
δ ≤ δ0
σ δ -entfernt5 von jeder Bele0
jede Belegung σ : Xc → {0, 1}
gilt: Falls
c erfüllt, dann sind für
s0 · δ Bedingungen in Cc verletzt.
ist, die
mindestens
Wir müssen noch die Menge
Xc
und das Alphabet
Σ0
denieren. Wir be-
PCPP-Konstruktion P0 mit konstanter Anfragekomq , konstanter Korrektheit s und polynomieller Beweislänge S . Weiter
sei Pc der Beweisorakel von P0 (c, ·) und wir bezeichnen mit Anf(P0 (c, τ0 )) die
trachten eine beliebige
plexität
5
Zwei Belegungen
σ
und
σ0
sind
δ -entfernt,
41
falls
Prx [σ(x) 6= σ 0 (x)] ≥ δ
ist.
Menge der angefragten Bits bei der Ausführung von
chenkette
τ0 .
Eine groÿe Variable
bc (τ0 )
P0
auf
stellt die Bitmenge
c mit der ZeiAnf(P0 (c, τ0 ))
dar. Sei
[
Γc (P0 ) :=
τ0 ∈Γ(P0 )
c
Für jede Bedingung
[
Anf(P0 (c, τ0 )) =
bc (τ0 ).
τ0 ∈Γ(P0 )
Γ(P0 ) und Γc (P0 ),
bc (τ0 ) abbildet.6
gibt es eine Bijektion zwischen
eine Zufallszeichenkette
τ0
auf eine groÿe Variable
die
P0 auf eine Bedingung c liefert Bedingungen c(bc (τ0 ))
über Γc (P0 ), so dass c(bc (τ0 )) = 1 genau dann gilt, wenn P0 (c, τ0 ) = 1.
q
Denieren wir Xc := Pc ∪Γc (P0 ) und Σ0 := {0, 1} . Hier wird das eigentliche
q
Alphabet {0, 1} von Pc zu {0, 1} kanonisch erweitert. Die Belegung σ :
Γc (P0 ) → Σ0 gibt die Belegung der groÿen Variable bc (τ0 ), die die q Bits von
Anf(P0 (c, τ0 )) darstellt.
Die Anwendung von
c(bc (τ0 ), i) ∈ Cc sind dann über Γc (P0 ) × (B ∪ Pc ) folc(bc (τ0 ), i) = 1 genau dann, wenn c(bc (τ0 )) = 1
gilt und die i-te Komponente von b(τ0 ) gleich wi ∈ Anf(P0 (c, τ0 )) für ein
i ∈ [1..q] ist (σ(b(τ0 )) ↓ i = σ(wi )). Wegen der Bijektion zwischen Γ(P0 )
und Γc (P0 ) (bei festgelegter Bedingung c) sprechen wir von Bedingungen
c(τ0 , i) := c(bc (τ0 ), i) ∈ Cc . Abbildung 3.5 zeigt die Struktur der Bedingungsmenge Cc für eine Bedingung c über [u] ∪ [v].
Die Bedingungen
gendermaÿen deniert:
Γc (P0 )
1
Xc
q
i
B
bc (τ1 )
...
c(τ1 , j)
...
c(τ0 , i)
wj
wi
c
[u]
q
j
1
bc (τ0 )
[v]
Pc
kanonische
Erweiterung
Abbildung 3.5: Anwendung von
Wir wenden den
P0
PCPP-Verizierer P0
auf eine Bedingung
auf jede Bedingung
c
über
c ∈ Ce3
[u] ∪ [v].
an, die im
Robustizationsschritt erzeugt wurde. Wir erhalten für jede Bedingung einen
Bedingungsgraphen
liefert den Graphen
Gc = h(Vc , Ec ), Σ0 , Cc i. Die Vereinigung dieser Graphen
H4 := h(V4 , E4 ), Σ4 , C4 i, den wir folgendermaÿen cha-
rakterisieren können:
6
Wenn die Bedingung
c
aus dem Kontext ersichtlich ist, lassen wir den Index bei
weg.
42
bc (τ )
S
• V4 =
S
[v]
∪
X
, |V4 | = O(|V3 |),
v∈V3
c∈Ce3 c
• Σ4 = Σ0 ,
S
• C4 = c∈Ce3 Cc , |C4 | = O(|Ce3 |) = O(|C3 |).
Für die Erfüllbarkeitslücke gilt:
β3 · SAT(H3 ) ≤ SAT(H4 ) ≤ SAT(H3 )
(3.11)
S
S
Beweis. Es gilt: |V4 | = | v∈V3 [v]| + | c∈C3 Xc | = (l + C) · |V3 | mit C = |Xc |.
Die Konstante C ist nur von P0 abhängig und l = O(log(|Σ3 |)) ist auch
7
e3 | = O(|Ce3 |), da
konstant. Daraus folgt: |V4 | = O(|V3 |). Es gilt: |C4 | = |Cc |·|C
die Bedingungen Cc die Ergebnisse einer PCPP-Anwendung auf Bedingungen
c konstanter Gröÿe sind und können daher nur eine konstante Gröÿe haben.
e3 Kodierungen via ecc von Bedingungen
Ferner sind die Bedingungen c ∈ C
e3 | = O(|C3 |)
aus C3 . Wegen der linearen Codewortlänge von ecc gilt also |C
und somit |C4 | = O(|C3 |).
Die Vollständigkeit von
H4
folgt unmittelbar aus der Vollständigkeit von
P.
Für den Beweis der Korrektheit betrachten wir wieder eine optimale Bele-
σ 0 : V4 → Σ0 (SAT(H4 ) = SATσ0 (H4 )).
Belegung σ : V3 → Σ3 , die wir folgendermaÿen
gung
σ0
Wir extrahieren aus
eine
denieren:
∀v ∈ V3 : σ(v) := {a ∈ Σ3 | dist σ 0 ([v]), ecc(a) = min dist σ 0 ([v]), ecc(b) }
b∈Σ3
(3.12)
In anderen Worten ist
σ(v)
der Wert von
Σ3 ,
dessen Kodierung via
ecc
am
0
nächsten zu σ ([v]) ist. Die Idee ist zu zeigen, dass wenn σ eine Bedingung
c verletzt, dann verletzt σ 0 einen konstanten Bruch β3 von Cc . Da die Bedingungen
c
gleich groÿ sind,
dass die Anwendung von
P0
8
können wir ohne Einschränkung annehmen,
gleich groÿe Bedingungsmengen
summieren über alle Bedingungen, die
σ
Cc
liefert. Wir
verletzen, und erhalten:
SAT(H4 ) = SATσ0 (H4 ) ≥ β3 · SATσ (H3 ) ≥ β3 · SAT(H3 ).
Sei also eine Bedingung
ce ∈ C3
über eine Kante
{u, v}
von
σ
verletzt und
[u] ∪ [v]. Mindestens eine der Koσ 0 ([v]) muss mindestens ρ/2-entfernt von einer
9
legalen Kodierung von u bzw. v sein. Somit ist die Eingabe [u] ∪ [v] von
c mindestens ρ/4-entfernt von einer Eingabe, die c erfüllen würde. Aus der
0
Korrektheit von P0 folgt, dass s0 · ρ/4 Bedingungen aus Cc von σ verletzt
werden. Mit β3 := s0 · ρ/4 = O(1) folgt die Behauptung in (3.11).
c
sei
die entsprechende Bedingung über
dierungen
7
8
9
Nur von
σ 0 ([u])
|Σ|, D, t
und/oder
und
ecc
abhängig.
Alle Bedingungen sind über
2l
boolesche Variablen deniert.
Anderenfalls könnten wir die Kodierung via dem fehlerkorrigierenden Code
gieren.
43
ecc
korri-
3.2.5 Verdopplung der Erfüllbarkeitslücke
Nun können wir den Ausdehnungssatz 3.2 beweisen. Wir fassen die Operatio-
G zusammen: Aus G erhalten wir den Graphen H1 mit
H2 mit konstanter Kanten-Expansion,
Graphen H3 mit erhöhter Erfüllbarkeitslücke aber vergröÿertem
und schlieÿlich den Graphen pow(G) = H4 mit einem Alphabet
nen auf den Graphen
konstantem Grad, dann den Graphen
dann den
Alphabet
konstanter Gröÿe. Tabelle 3.1 fasst die wichtigsten Eigenschaften dieser Graphen zusammen:
Alphabet
G
Σ
Grad
SAT(H)
a
H1
Σ
d = O(1)
a1 = β0 · a
H2
Σ
D = O(1)
a2 = β1 · a1
H3
t/2
Σ3 = ΣdD e
t
D√
a3 = β2 t · a2
Tabelle 3.1: Zusammenfassung von
H4 = pow(G)
Σ0
a4 = β3 · a3
G 7→ pow(G).
Die Gröÿe des Graphen wird bei jeder Operation mit einem konstanten Faktor multipliziert, d.h.
S(pow(G)) = C · S(G)
und
E(pow(G)) = C1 · E(G)
(3.13)
C1 , die von |Σ|, d0 , d1 , λ0 , λ1 , ecc und t aber nicht von
der Länge n der Eingabe abhängen. Das Alphabet von pow(G) ist Σ0 , dessen
Gröÿe in O(1) liegt.
für Konstanten
C
und
Die Vollständigkeit ist durch folgende Ungleichung gewährleistet:
SAT(pow(G)) = SAT(H4 ) ≤ SAT(H3 ) ≤ SAT(H2 ) ≤ SAT(H1 ) ≤ SAT(G).
Um die behauptete Korrektheit zu erhalten, wählen wir
t := d(
2
)2 e
β0 β1 β2 β3
und
β2 β3
β := √
t
(3.14)
Dann ergibt sich:
SAT(pow(G)) ≥
≥
≥
≥
≥
β3 · SAT(H
√ 3)
β3 · β2 √t · min(SAT(H2 ), 1t )
β3 · β2 √t · min(β1 · SAT(H1 ), 1t )
β3 · β2 t · min(β1 β0 · SAT(G), 1t )
min(2 · SAT(G), β).
44
(3.11)
(3.9)
(3.8)
(3.1)
(3.14)
3.3 PCP-Konstruktionen nach Dinur
Wir werden zwei Konstruktionen von [Din05] untersuchen. Die erste Konstruktion ist rein kombinatorisch und führt zu folgender Version des
PCP-
Satzes:
NP = PCP[O(log n), C]
(3.15)
Die zweite Konstruktion ist ein hybrider Ansatz, der algebraische und kombinatorische Elemente kombiniert. Das Ergebnis ist die bisher beste Variante
des
PCP-Satzes,
nämlich Satz 1.7:
NP = PCP[log n + O(log log n), O(1)].
Wir beweisen zuerst die Gleichung (3.15). Obwohl diese Variante des
PCP-
+
Satzes schon in [ALM 92] bewiesen wurde, ist diese Konstruktion aus zweierlei Gründen für uns relevant. Einerseits stellt sie die erste rein kombinatorische Alternative zu den algebraischen Ansätzen und anderseits veranschaulicht sie die Einsetzung der Prozedur zur Ausdehnung der Erfüllbarkeit und
ermöglicht einen besseren Verständnis der komplizierteren Konstruktion für
den Beweis von Satz 1.7.
Beweis. Wie in Abschnitt 3.1 erwähnt, müssen wir nur zeigen, dass α-GapCGS NP-schwer ist. Wir gehen aus einer CGS-Instanz G = h(V, E), Σ, Ci aus
10
mit |Σ| = 3 und |C| = n.
Wir haben festgestellt, dass CGS äquivalent zu der
Unterscheidung zwischen SAT(G) = 0 und SAT(G) ≥ 1/n ist. Wir wenden
den Ausdehnungssatz 3.2 k = O(log n) Mal auf G an. Der resultierende
0
0
k
Graph G hat eine Gröÿe S(G ) = C · S(G) = poly n · S(G) = poly n.
Falls
SAT(G) = 0
gilt, dann folgt
SAT(G0 ) = 0,
da die Ausdehnung der
Erfüllbarkeitslücke die Vollständigkeit erhält. Für den Beweis der Korrektheit sei
SAT(G) 6= 0,
also
SAT(G) ≥ 1/n.
Da
2k ≥ n
ist, folgt aus dem
Ausdehnungssatz:
SAT(G0 ) ≥ min(2k · SAT(G), β) = min(1, β) = β.
r := O(log |E(G0 )|) = O(log n)
0
Münzwürfen (zufälligen Bits) eine Kante e = {u, v} ∈ E(G ), liest die Bee
legungen σ(u) und σ(v) im Beweis und überprüft ob c von σ erfüllt oder
verletzt ist. Seine Anfragekomplexität ist q := 2 · |Σ0 |. Durch eine konstante
Anzahl Iterationen kann die Korrektheit auf jede beliebige Konstante α < 1
(z. B. α = 1/2) gebracht werden, wobei die Anfragekomplexität nur um
einen konstanten nur von α und β abhängigen Faktor erhöht wird. Somit
haben wir eine Instanz von CGS auf eine Instanz von α-Gap-CGS reduziert und einen entsprechenden Verizierer mit r = O(log n) und q = O(1)
Ein Verizierer für diesen Graphen wählt mit
konstruiert. Um eine rein kombinatorische Konstruktion zu erhalten, können
10
Durch Reduktion von 3-Col haben wir gezeigt, dass CGS mit
45
|Σ|
= 3
NP-schwer
ist.
wir den
PCPP-Verizierer P0
durch einen brute-force Algorithmus ersetzen,
wenn seine Existenz anderweitig sichergestellt wird. Dies ist möglich, da die
P0
Eingaben von
konstant groÿ sind und
P0
somit inezient (exponentiellen
Aufwands) sein kann.
An dieser Stelle wollen wir kurz den algebraischen und den kombinatorischen Ansatz vergleichen: Die
PCPP-Anwendung P0
entspricht den inneren
Verizierern von algebraischen Verizierern, die zur Reduktion der Anfragekomplexität auf Kosten der Korrektheit eingesetzt werden. Wir erhalten
eine Instantiierung des Kompositionssatzes 1.5 in Abschnitt 1.1.2. Dabei
ist der äuÿere Verizierer der Algorithmus, der die Erfüllbarkeit einer Bedingung in
C3
Σ3 × Σ3 )
(über
Σ0 von P0
PCP-Verizierers, da in ei-
testet. Die Gröÿe des Alphabets
ist proportional zu der Anfragekomplexität des
nem Bedingungsgraphen die Belegung der Endknoten einer Kante angefragt
werden. Der resultierende
q0 = O(|Σ0 |) = O(1).
PCP-Verizierer
hat also die Anfragekomplexität
Die Anzahl der notwendigen Iterationen, um eine
konstante Korrektheit zu erhalten, entspricht der Anzahl der Runden vom
Low-degree-Test, bis die Polynome einen konstanten Grad haben (siehe Abschnitt 2.3). In [BS05] ist diese Anzahl in
und schlieÿlich zum
sind
Ω(log n)
PCP-Satz
O(log log n) und führt zum Satz 2.6
2.1. In dem obigen kombinatorischen Ansatz
Iterationen notwendig. Das Ziel im nächsten hybriden Ansatz
von Dinur ist genau eine Iterationsanzahl von
O(log log n)
zu erreichen.
3.3.1 Hybrider Ansatz: kombinatorisch und algebraisch
Die Analyse der vorigen Konstruktion zeigt, dass wir mindestens
Ω(log n)
Iterationen des Ausdehnungssatzes 3.2 durchführen müssen, um eine konstante Korrektheit zu gewährleisten. Der Grund dafür ist die schwache
untere Grenze
1/n
für die anfängliche Erfüllbarkeitslücke
SAT(G).
Die Idee
von Dinur ist von einer Bedingungsmenge mit gröÿerer Erfüllbarkeitslücke
auszugehen, so dass wir weniger Iterationen brauchen, bis eine konstante
Korrektheit
SAT(G0 )
Der hybride
PCP-Beweiser von [Din05] führt die in Algorithmus 2 angegebe-
SAT(G) ≥ 1/(poly log n)
0
anfangen, erreichen wir nach k := O(log log n) Iterationen SAT(G ) ≥ β . Ein
Bedingungsgraph G0 mit SAT(G0 ) ≥ 1/(poly log n) kann aus der Anwendung
+
des algebraischen PCPs von [BS05] bzw. [BGH 05] hergeleitet werden.
erreicht wird. Wenn wir mit
nen Transformationen durch:
Wir werden diese Schritte einzeln analysieren und den
PCP-Satz
1.7 bewei-
sen. In ihrer Arbeit geht Dinur von der Konstruktion von [BS05] aus. Wir
+
entscheiden uns für die Konstruktion von [BGH 05], die der vorigen Konstruktion gleicht, aber in polylogarithmischer Zeit verizierbar ist.
46
Algorithmus 2 : Ablauf des PCP-Beweises von [Din05]
Eingabe : 3-SAT-Instanz Φ der Länge n
Ausgabe : Bedingungsgraph G0 mit SAT(G0 ) > β
// PCP-Anwendung von [BGH+ 05]
// Ausdehnung der Variablen
// Reduktion des Alphabets
// Iterationstiefe
1 Φ 7→ Ψ;
2 Ψ→
7 Ψ0 ;
0
3 Ψ →
7 G0 ;
4 für i = 1 bis k
5 tue
6
Gi := pow(Gi−1 );
7
// Ausdehnung der Erfüllbarkeitslücke
return G0 := Gk
3.3.2 Algebraische PCP-Anwendung
Φ mit n Bedingungen. Der
PCP-Satz 2.2 von [BGH+ 05] kann angewandt werden, um eine Bedingungsmenge C0 mit SAT(C0 ) ≥ 1/poly log n zu erzeugen.
Unser Ausgangspunkt ist eine 3-SAT-Instanz
R = log n + O(log log n) die Zufälligkeit, S = 1/2 die Korrektheit und
Q = poly log n die Anfragekomplexität des Verizierers von [BGH+ 05]. Die
Menge der möglichen Zufallszeichenketten τ für den Ablauf einer Verikation
R
ist Γ(P) mit |Γ(P)| = 2 . Ferner ist Γ der Ramanujan-Expandergraphen aus
Abschnitt 2.5, in den Γ(P) eingebettet wird.
Sei
τ ∈ Γ(P) sei P(τ ) die Ausgabe des PCP-Verizierers
P(τ ) = 1, falls
der Verizierer akzeptiert und 0 sonst. Sei Anf(P(τ )) := {x1 , . . . , xQ } die
Menge der von P angefragten Bits bei der Wahl von τ . Jedes Bit xj stammt
eigentlich aus Anf(VRS (τr )) für ein τr ∈ NΓ (τ ) (siehe Abschnitt 2.5).
Für jede Zufallszeichenkette
P,
wenn
τ
die Münzwürfe des Verizierers darstellt. Es gilt
Dann können wir für jede Zeichenkette
τ ∈ Γ(P)
eine Bedingung
c(τ )
de-
nieren:
P(τ ) = 1 =⇒ c(τ )(x1 , . . . , xQ ) :=
^
VRS (τr ) = 1
τr ∈NΓ (τ )
P(τ ) = 0 =⇒ c(τ )(x1 , . . . , xQ ) :=
^
VRS (τr ) = 0
τr ∈NΓ (τ )
a1 und a2 aus Satz 2.2 bilden die Bedingungen c(τ ) eine
Ψ aus m := 2R = n · (log n)a1 Bedingungen, die jeweils
Für die Konstanten
Bedingungsmenge
über
Q := (log n)a2
boolesche Variablen (Bits) deniert sind.
Die Bedingungsmenge
Ψ
entspricht nicht einem Bedingungsgraphen, da die
Q Variablen deniert sind. Wir
V , ein Alphabet Σ, eine Bedingungsmenge
SAT(Ψ) denieren:
Bedingungen nicht über jeweils zwei sondern
können aber eine Variablenmenge
C
und eine Erfüllbarkeitslücke
47
• V
besteht aus
und
• C
Γ(P)
m · (q(VRS ) + 1)
Knoten, die
{Anf(P(τr )) | τr ∈ Γ(P)}
darstellen,
besteht aus
m
c(τ ), die jeweils ein τ ∈ Γ(P) mit Q
{xj ∈ Anf(VRS (τr )) | τr ∈ NΓ (τ )} verbinden,
Bedingungen
booleschen Variablen
• Σ = {0, 1},
• SAT(Ψ) = 1/2 folgt aus der Korrektheit S = 1/2 der PCP-Konstruktion
+
von [BGH 05].
Der nächste Schritt um einen Bedingungsgraphen zu erhalten, besteht darin,
Ψ in zwei-Variablen-Bedingungen umzuwandeln. Dafür
wird das Alphabet Σ zunächst aufgebläht: Für jede PCP-Anwendung werden
die Bedingungen aus
die angefragten Bits in einer groÿen Variable zusammengefasst.
3.3.3 Aufblähung der Variablen
Pro Bedingung
c(τ ) ∈ Ψ
wird eine neue Variable
b(τ )
über dem Alphabet
{0, 1}Q eingeführt, die die Belegungen der in
c(τ ) vorkommenden Variablen
S
Γ(P) = τ ∈Γ(P) b(τ ) die Menge dieser
groÿen Variablen. Für jede Variable b(τ ) ∈ Γ(P) werden Q Bedingungen
c(τ, j) eingeführt, die jeweils b(τ ) mit einer Variable xj ∈ var(τ ) verbinden.
Die Bedingung c(τ, j) ist genau dann erfüllt, wenn c(τ ) erfüllt ist und die
Projektion b(τ )↓j mit der Belegung von xj übereinstimmt.
var(τ ) := {x1 , . . . , xQ }
darstellt. Sei
Ψ0
Wir erhalten die Bedingungsmenge
mit
V 0 = V ∪ Γ(P), |V 0 | = |V | + |C| = m + m = 2m.
•
der Knotenmenge
•
der Bedingungsmenge

C0 =
[

[

c(τ )∈Ψ
c(τ, j) ,
j∈[1..Q]
• |C 0 | = m · Q = n · (log n)a1 +a2 ,
• Σ0 = {0, 1}Q ,
• SAT(Ψ0 ) ≥
1
.
(log n)a2 +1
Um ein einheitliches Alphabet
Σ0
zu erhalten, betten wir die kleinen Va-
0
0
riablen xj kanonisch in Σ ein. Die Bedingungsmenge Ψ lässt sich nun in
0
0
0
0 0
natürlicher Weise in einen Bedingungsgraphen H = h(V , E ), Σ , C i einbetten, da
C0
aus zwei-Variablen-Bedingungen besteht, jeweils zwischen einer
48
groÿen Variable
b(τ ) ∈ Γ(P)
und einer kleinen Variable
dung 3.6 zeigt die Struktur der Bedingungsmenge
τ ∈ Γ(P)
Knotenmenge kommt daher, dass jedes
T (τ )
und eine kleine Variable
Ψ0 .
T (τ )
mit
Anf(VRS (τ ))
Abbil-
b(τ )
τ1 gezeigt. In
q(VRS ) = 1 gilt, und
eine groÿe Variable
induziert, wie am Beispiel von
diesen einfachen Beispiel haben wir angenommen, dass
haben
xj ∈ var(τ ).
Die Verdopplung der
gleichgesetzt.
b(τ4 )
T (τ1 )
τ1
b(τ1 )
τ4
b(τ3 )
τ3
T (τ4 )
τ2
T (τ3 )
T (τ2 )
b(τ2 )
Γ(P)
Ψ0
Abbildung 3.6: Die Struktur von
Γ(P)
und
Ψ0 .
Ψ nicht erfüllbar,
so verletzt jede Belegung σ : V → Σ mindestens m/2 Bedingungen in Ψ.
Eine verfälschte Belegung einer Variable b(τ ), die die Bedingung c(τ ) erfüllen
würde, weist mindestens eine Inkonsistenz mit einem der xj auf. Für jede
verletzte Bedingung in Ψ gibt es also mindestens eine verletzte Bedingung
0
in Ψ . Daraus folgt:
Die Korrektheit ergibt sich aus folgender Beobachtung: Ist
SAT(Ψ0 ) ≥
m/2
m/2
1
=
=
.
0
a
|C |
m · (log n) 2
(log n)a2 +1
Diese Umformung verursacht einerseits die Aufblähung der Alphabets auf
ΣQ
1
und anderseits die Verschlechterung der Korrektheit auf
. Die näch(log n)a2 +1
ste Operation reduziert das Alphabet auf eine konstante Gröÿe. Sie liefert
G0 , dessen Erfüllbarkeitslücke wir durch iteratives
Ausdehnungssatzes 3.2 auf 1/2 bringen werden.
einen Bedingungsgraphen
Anwenden des
3.3.4 Reduktion des Alphabets
Wir führen dazu den Kompositionsschritt wie im Abschnitt 3.2.4. Sei also
P0
ein
PCPP-Verizierer
dass alle Parameter von
mit Alphabet
n
Σ0 ,
Distanz
δ0
und Korrektheit
s,
so
unabhängige Konstanten sind. Die Laufzeit und
49
die Länge des Beweises sollen polynomiell in der Länge der Eingabe sein. Im
Robustizationsschritt wird hier auch ein fehlerkorrigierender Code
ecc
mit
linearer Codewortlänge und linearer Distanz eingesetzt.
P0 ist eine Bedingung c ∈ Ψ0 und die Ausgabe ist ein
11
Bedingungsgraph Gc := h(Vc , Ec ), Σ0 , Cc i.
Sei Yc die Menge der Hilfsvariablen von P0 . Für Konstanten a und C erhalten wir den Bedingungsgraphen
G0 = h(V0 , E0 ), Σ0 , C0 i mit
Die Eingabe von
•
der Knotenmenge
[
V0 =
c∈C 0
v∈V
[v] ∪
0
[
Yc ,
c∈C 0
e0 = S 0 Ec ,
E
c∈C
S
Bedingungsmenge C0 =
c∈C 0 Cc ,
•
der Kantenmenge
•
der
•
dem Alphabet
•
der Erfüllbarkeitslücke
•
der Gröÿe
Beweis.
[
Vc =
Σ0 ,
SAT(G0 ) ≥
1
(log n)a und
S(G0 ) = n · (log n)C .
Wir beweisen die Erfüllbarkeitslücke und die Gröÿe des Graphen.
Die konstante Korrektheit
s
von
P0
induziert
SAT(G0 ) ≥ s · SAT(Ψ0 ) = s ·
für eine Konstante
1
1
=
a
+1
(log n) 2
(log n)a
(3.16)
a.
Für die Gröÿe des Graphen gilt:
S(G) = |V0 | + |Σ0 |2 · |E0 |.
Die Länge der
0
Variablen in Ψ ist
Q = poly log n. Nach der Robustization ist die Länge der
|[u] ∪ [v]| = 2 · r(ecc) · Q = poly log n (wegen der
konstanten Coderate r(ecc) von ecc). Da P eine polynomielle Beweislänge
hat, ist |Yc | und damit |Vc | in poly (poly log n) = poly log n. Das Gleiche gilt
0
0
für |Ec | = |Cc |. Das Aufsummieren über alle v ∈ V und c ∈ C ergibt:
resultierenden Bedingungen
S(G0 ) = |V0 | + |Σ0 |2 · |E0 |
= (|Vc | · |C 0 |) + (|Σ0 |2 · |Ec | · |C 0 |)
= (poly log n · n · poly log n) + (O(1) · poly log n · n · poly log n)
= n · poly log n = n · (log n)C
11
u
Eigentlich ist die Eingabe eine Bedingung
und
v.
c̃
für eine Konstante
über die Kodierung
C.
[u] ∪ [v]
via
ecc
von
An dieser Stelle vereinfachen wir die Notation, da die Komposition in Abschnitt
3.2.4 ausführlich behandelt wurde.
50
3.3.5 Ausdehnung der Erfüllbarkeitslücke
G0 hat nun das gewünschte Format: Er ist ein Bedingungsgraph12
mit einem Alphabet Σ0 konstanter Gröÿe. Wir können also die Prozedur
G → pow(G) aus Abschnitt 3.2 iterativ k := O(log log n) Mal anwenden.
Dies ist möglich, da die Ausgabe der i-ten Anwendung der Prozedur ein
Bedingungsgraph Gi mit konstantem Alphabet ist und kann als Eingabe für
die (i + 1)-te Anwendung benutzt werden. Aus dem Ausdehnungssatz 3.2
schlieÿen wir, dass der resultierende Graph Gk := h(Vk , Ek ), Σk , Ck i folgende
Der Graph
Eigenschaften hat:
• S(Gk ) = C k · S(G0 ) = poly log n · n · poly log n = n · poly log n,
• SAT(Gk ) ≥ min(2k · SAT(G0 ), β) = β .
Beweis. Die Gröÿe von Gk folgt aus S(pow(G)) = C · S(G) und k =
O(log log n). Um die behauptete Erfüllbarkeitslücke zu erhalten, wählen wir
k ≥ a · log log n, wobei a die Konstante in (3.16) ist. Daraus folgt: 2k ·
SAT(G0 ) ≥ 1 und somit min(2k · SAT(G0 ), β) = β . Die Ausdehnung der Erk
füllbarkeitslücke um den Faktor 2 lässt sich durch einfache Induktion über
k beweisen, da eine Iteration mindestens eine Verdopplung der Lücke bewirkt.
3.3.6 PCP-Protokoll nach Dinur
{uk , vk } ∈ Ek auszuwählen, braucht der Verizierer r :=
log |Ek | = log n + O(log log n) Münzwürfe. Der Verizierer liest die Belegungen σ(uk ) und σ(vk ) im Beweis. Die Anfragekomplexität in diesem Schritt ist
also 2·|Σ0 | = O(1). Der Verizierer wertet dann seinen Schaltkreis D mit der
Eingabe I := σ(uk ) ∪ σ(vk ) und akzeptiert, falls D(I) = 1, und lehnt sonst
ab. Der Schaltkreis D entspricht dem Test der Bedingung, die von {uk , vk }
getragen wird. Um eine Korrektheit α zu erhalten, wird diese Prozedur O(1)
(in Abhängigkeit von α und β ) Mal wiederholt und die Teilergebnisse Di (I)
Um eine Kante
konjugiert (UND-verknüpft). Durch Recycling der zufälligen Zeichenketten
kann der Test mit der selben Zufälligkeit und mit einer Anfragekomplexität
q := O(1)
realisiert werden.
Φ auf eine α-Gap-CGSα-Gap-CGS NP-schwer
ist und einen Verizierer mit r = log n+O(log log n) und q = O(1) entworfen.
Somit ist der PCP-Satz 1.7 bewiesen.
Der Algorithmus 2 reduziert also eine 3-SAT-Instanz
Instanz. Mit dieser Reduktion hat Dinur gezeigt, dass
12
Alle Bedingungen sind über zwei Variablen deniert und können somit von Kanten
getragen werden.
51
be des Beweisers ist eine Instanz
dingungsmenge
C)
über eine
x : V → {0, 1},
die
auf die Eingabe
x
Φ
B
Φ
PCP-Konstruktion. Die Eingan Klauseln (die BeVariablenmenge V und eine Variablenbelegung
Nun betrachten wir den Beweiser
dieser
von 3-SAT mit
erfüllen soll. Der Beweiser liefert einen Orakelzugri
Gk . Um eiB Folgendes
und auf die Variablenbelegung des Graphen
ne gültige Variablenbelegung von
Gk
liefern zu können, muss
berechnen:
1. die Auswertungstabellen für die
PCP-Verikation
+
von [BGH 05],
2. die Variablenbelegung für die Knotenmengen aller Graphen
Gi (i =
0, . . . , k ),
3. die Variablenbelegung für die Knotenmengen aller Zwischengraphen
Hi,j (i = 0, . . . , k
und
j = 1, . . . , 4).13
Der implizit beschriebene Verizierer für die
PCP-Konstruktion
in [Din05]
führt folgendes Protokoll aus:
•
Bilde den Bedingungsgraphen
•
wähle eine zufällige Bedingung
Gk ,
c ∈ Ck ,
die von einer Kante
{uk , vk }
getragen wird,
•
stelle den Schaltkreis
D
•
frage die Belegungen
σ(uk )
•
werte den Schaltkreis
•
akzeptiere, falls
auf, der die Erfüllbarkeit von
und
σ(vk )
D(σ(uk ), σ(vk ))
D(σ(uk ), σ(vk )) = 1
c
testet,
im Beweis ab,
für die Bedingung
c
aus,
ist, und lehne sonst ab.
n · poly log n, da S(Gk ) =
Gk auszuwerten, baut der Verizierer
den ganzen Graphen Gk und S(Gk ) = poly log n. Im nächsten Kapitel modi-
Die Laufzeit dieses Verizierers ist mindestens
n · poly log n.
Um eine Bedingung in
zieren wir diese Konstruktion, um einen Verizierer mit polylogarithmischer
Laufzeit zu erhalten. Ein solcher Verizierer kann nicht den ganzen Graphen
Gk bauen. Stattdessen konstruiert er den Schaltkreis D einer Bedingung
c ∈ Ck mit Informationen (involvierten Knoten) aus einem polylogarithmisch
groÿen Teilgraphen von Gk .
13
Diese Graphen stammen aus der iterativen Anwendung der Prozedur zur Ausdehnung
der Erfüllbarkeitslücke und werden im nächsten Kapitel formal deniert.
52
Kapitel 4
Hybrider PCP-Verizierer mit
polylogarithmischer Laufzeit
Unser Ziel in diesem Abschnitt ist der Entwurf eines Verizierers mit der selben Anfragekomplexität und Zufälligkeit wie [Din05], der aber eine polylogarithmische anstatt polynomielle Laufzeit hat. Wir optimieren also die drei
wichtigsten Parameter
r = log n + O(log log n), q = O(1)
und
T = poly log n
des Verizierers in einer durch vorhergehende Arbeiten unerreichten Weise.
Wir beweisen den folgenden Hauptsatz:
Satz 1.8 Für jedes NP-vollständige Problem gibt es einen PCP-Verizierer
mit Zufälligkeit r = log n + O(log log n), Anfragekomplexität q = O(1), Beweislänge S = n · poly log n, Korrektheit s = 1/2, Vollständigkeit c = 1 und
Laufzeit T = poly log n.
Dazu gehen wir von der in Abschnitt 3.3.1 vorgestellten hybriden Konstruktion [Din05] aus. Die Grundidee ist die Bedingungsgraphen derart zu strukturieren, dass der Verizierer einen Teilgraphen bilden kann, der einerseits
genügend Informationen enthält (um die Korrektheit zu gewährleisten) und
anderseits klein genug ist, so dass der Schaltkreis für eine Bedingung in polylogarithmischer Zeit aufzustellen und auszuwerten ist.
In Abschnitt 4.1 stellen wir den Verizierer und sein Protokoll vor. In Abschnitt 4.2 untersuchen wir die Strukturierung des Beweises, die eine polylogarithmische Laufzeit ermöglicht. In Abschnitt 4.3 entwerfen wir eine
Knotenadressierung, die auf der eben genannten Struktur basiert und eine
implizite Kodierung der Bedingungen induziert. Ferner zeigen wir, wie sich
die Verikationsaufgabe auf die Berechnung von Knotenadressen reduzieren
lässt. In Abschnitt 4.4 analysieren wir die Parameter des resultierenden Verizierers, insbesondere seine Laufzeit.
53
4.1 Aufbau des Verizierers
Bevor wir mit dem Entwurf unseres Verizierers beginnen, vereinbaren wir
einige Notationen, die den Entwurf und die Analyse erleichtern werden. In
Abschnitt 4.1.2 präsentieren wir dann das Protokoll zur Verikation von 3SAT und stellen den Schaltkreis des Verizierers in Abschnitt 4.1.3 auf.
4.1.1 Notationen
Die Prozedur zur Verdopplung der Erfüllbarkeitslücke wenden wir iterativ
k := O(log log n)
Mal an, bis wir den Graphen
Gk
erhalten. Wir brauchen
eine einheitliche Notation für die Zwischengraphen, die gebildet werden. In
Algorithmus 1 (G
7→ pow(G))
gehen wir von einem Bedingungsgraphen G
H1 bis H4 . Jeder Graph entspricht einer Operation auf Bedingungsgraphen: H1 entsteht durch Knoten-Duplizierung, H2
durch Expandisierung, H3 durch Powering und H4 := pow(G) durch Komaus und konstruieren Graphen
position.
In Algorithmus 2 (PCP-Beweis nach [Din05]) gehen wir von einer 3-SAT Instanz
Φ aus, die wir in eine Bedingungsmenge Ψ überführen (PCP-Anwendung
+
nach [BGH 05]). Durch Aufblähung der Variablen erhalten wir die Bedin-
Ψ0 und durch anschlieÿende Komposition mittels P0 den Bedingungsgraphen G0 . Von G0 ausgehend überführen wir in der i-ten Iteration
den Graphen Gi−1 in Gi := pow(Gi−1 ) für i = 1 bis k . Wir bezeichnen mit
Hi,0 den Graphen Gi−1 , mit Hi,1 , Hi,2 , Hi,3 und Hi,4 = Hi+1,0 = Gi die entsprechenden Zwischengraphen. Es bezeichne Vi,j , Ei,j bzw. Ci,j die Knoten-,
Kanten- bzw. Bedingungsmengen der Graphen Hi,j für i = 1, . . . , k − 1 und
j = 0, . . . , 4. Für die in der i-ten Iteration eingeführten BedingungsmenId und C void führen wir auch entsprechende Indizes i. Für den letzgen C
ten Graphen Gk = Hk,4 brauchen wir keine doppelte Indizierung, da keine
Operationen weiter ausgeführt werden. Wir setzen Gk := h(Vk , Ek ), Σk , Ck i.
gungsmenge
Abbildung 4.1 skizziert die Konstruktionsvorschrift dieser Graphen. Wie in
der Einleitung angedeutet, bildet der Verizierer nur einen Teilgraphen von
Gk .
Dieser Teilgraph wird mit einer zu
aufgestellt. Es bezeichne
e i,j
H
Gk
analogen Konstruktionsvorschrift
die entsprechenden Teilgraphen von
Hi,j ,
die
vom Verizierer gebildet werden.
PCP-Anwendung P von
R = log n + O(log log n), eine Anfragekomplexität Q = poly log n und eine Laufzeit T = poly log n hat. Sei Γ(P) die Menge
R
a
der möglichen Zufallszeichenketten für P . Es gilt: |Γ(P)| = 2 := n·(log n) 1
a
2
und Q := (log n)
für Konstanten a1 und a2 . Die PCPP-Anwendung P0 aus
Q
Abschnitt 3.3.4 (Reduktion des Alphabets von {0, 1} auf Σ0 ) und die PCPPDdt/2 e auf Σ ) können einAnwendungen (Reduktion des Alphabets von Σ0
0
heitlich betrachtet werden: Für i = 0, . . . , k setzen wir PCPP-Konstruktionen
Aus Satz 2.2 in Abschnitt 2.6 wissen, wir dass die
+
[BGH 05] eine Zufälligkeit
54
Φ
PCP-Anwendung P
Ψ
Aufblähung der Variablen
Ψ0
PCPP-Anwendung P0
G 7→ pow(G)
Gi = Hi,0
G0
Gi+1 = Hi,4
Gk
Komposition (Pi )
Knoten-Duplizierung
Hi,1
Hi,2
Expandisierung
Hi,3
Powering
Abbildung 4.1: Visualisierung des Ablaufs von Algorithmus 2.
Pi
voraus, die für eine Eingabe der Länge
m
folgende Eigenschaften aufwei-
sen:
•
Länge
•
Zufälligkeit
ri = O(log m) =⇒ |Γ(Pi )| = 2ri = poly m,
•
Korrektheit
si = O(1),
•
Anfragekomplexität
•
Laufzeit
Si = poly m,
qi = O(1)
und
Ti = poly m.
PCPP-Konstruktion, die diese Anforderungen erfüllt, wird in [BGH+ 04]
1
explizit beschrieben. Vor den PCPP-Anwendungen wird jeweils die Robustization mittels ecc durchgeführt, wobei ecc ein fehlerkorrigierender Code
mit linearer Distanz δ(ecc) und konstanter Rate r(ecc) ist. Für P0 ergibt
sich r0 = O(log Q), da P0 Eingaben der Länge 2 · r(ecc) · Q = O(Q) hat. Für
Pi (i > 0) ist m = O(1) und somit 2ri · qi = O(1). Eigentlich können wir die
selbe Anfragekomplexität qi und Korrektheit si := 1/2 voraussetzen. Wir
Eine
1
+
Einfachere Konstruktionen werden in [PS94] und [ALM 92] implizit beschrieben
55
unterscheiden die
qi
nur um zu zeigen, welche
PCPP-Anwendung Pi
gemeint
ist.
In diesem Kapitel ist die Schreibweise
Γ(Pi )
mit
l ∈ [1..|Γ(Pi )|].
τi ∈ Γ(Pi )
eine Abkürzung von
τi,l ∈
Damit ersparen wir uns weitere doppelte Indi-
zierungen und betonen die Zugehörigkeit einer Zufallszeichenkette zu der
PCPP-Anwendung,
in der sie eingesetzt wird. Falls Zweideutigkeiten auftre-
PCPP-Anwendung
τi ∈ Γ(Pi ) charakte0
risiert und wird mit Pi (c, τi ) bezeichnet. Die Bedingung c ist in Ψ für P0
und in Ci,3 für Pi (i > 0). Zu jeder Zufallszeichenkette τi gehören eine groÿe
2
Variable bc (τi ) ∈ Γc (Pi ), die Anf(Pi (c, τi )) darstellt, und qi kleine Variablen
xj , die jeweils ein Bit aus Anf(Pi (c, τi )) darstellen.
ten können, werden wir die Notation
Pi
c
ist durch eine Bedingung
Die
τi,l
(|V (Hi,2 )|, d1 , λ1 )-Expandergraphen,
i-ten
benutzen. Jede
und eine Zeichenkette
die im Expandisierungsschritt der
Iteration angewandt werden, bezeichnen wir mit
und die Schranke
λ1
Expi .
Der Grad
d1
für den zweiten Eigenwert sind die universellen Kon-
stanten, die in Abschnitt 3.2.2 deniert wurden. Die Expandergraphen, die
bei der Knoten-Duplizierung erzeugt werden, bezeichnen wir weiterhin mit
X(dv )
für Knoten
v ∈ Vi,0
mit Grad
Nachbarschaft eines Knotens
{w ∈ V | {v, w} ∈ E}.
v
dv
in
Hi,0 .
NG (v) die
G = (V, E), d.h NG (v) :=
Ferner bezeichne
in einem Graphen
Um die Indizierung zu vereinfachen, werden wir an
manchen Stellen den Index
i, j
eines Knotens in
Hi,j
weglassen. Aus dem
Kontext wird ersichtlich sein, um welche Graphen es sich handelt.
4.1.2 Das Protokoll des Verizierers
Um einen polylog-Verizierer zu erhalten, werden wir den Schaltkreis für
eine Bedingung
Teilgraphen von
•
c ∈ Ck bilden und auswerten, aber wir werden nur einen
Gk betrachten. Dabei müssen wir Folgendes beachten:
Der Verizierer muss für die Bedingung
c den selben Schaltkreis bilden,
c bilden
den ein uneingeschränkter Verizierer bzw. der Beweiser für
würde.
•
Die Korrektheit muss erhalten bleiben: Ein unehrlicher Beweiser darf
durch die Einschränkung des Verizierers keinen Vorteil erhalten, um
die Erfüllbarkeit unerfüllbarer Bedingungen vorzutäuschen.
Wir gliedern die Eingabe des
PCP-Verizierers
in zwei Teile: einen explizi-
ten und einen impliziten Teil. Die explizite Eingabe speziziert die Länge
der zu verizierenden 3-SAT-Instanz
Φ.
n
Die implizite Eingabe besteht aus
dem Beweis und dem Theoremkandidaten, welcher eine angeblich
Φ
erfül-
lende Variablenbelegung ist. Auf diesen Teil der Eingabe hat der Verizierer
2
Anf(Pi (c, τi ))
ist die Menge der
qi
angefragten Bits bei der Anwendung
56
Pi (c, τi )
nur einen Orakel-Zugri: Die Belegung von jedem Bit kann im Beweis gelesen werden, wird aber in der Anfragekomplexität des Verizierers gerechnet.
Diese Einteilung der Eingaben entspricht eigentlich der Einteilung für einen
PCPP-Verizierer.
Der Theoremkandidat wird aber mit einem fehlerkorri-
x∈L
und x ∈
/ L ist dann äquivalent zu der Unterscheidung zwischen x ∈ L und
x mindestens δ -weit von L. Somit stimmen die Begrie PCP und PCPP in
gierenden Code mit Distanz
δ
kodiert. Die Unterscheidung zwischen
unserem Kontext überein.
x, die Φ erfüllen soll. Der Beweis
x erfüllt wird, und besteht aus einer Variablenbelegung
x) für die Knotenmenge Vk , die alle Bedingungen in Ck
Der Kandidat ist eine Variablenbelegung
bezeugt, dass
σ
Φ
von
(Erweiterung von
erfüllen soll. Eigentlich sollte der Beweis Auswertungstabellen für die Bedingungen in
Ck
enthalten, da aber der Beweiser in jedem Fall behaupten
würde, dass alle Bedingungen erfüllt sind, können wir ihm und uns (als Verizierer) diese Tabellen ersparen. Der Beweis enthält auch Hilfstabellen für
die Belegungen der Knotenmengen
Vi,j (i = 1, . . . , k
und
j = 0, . . . , 4),
die
im Algorithmus 2 gebildet werden.
Ck zu konstruieren, die eine gewisse
c ∈ Ck soll durch einen Schaltkreis mo-
Unser Ziel ist eine Bedingungsmenge
Lokalität aufweist: Jede Bedingung
delliert werden, der von einer polylogarithmischen Anzahl von Variablen abhängt, und durch die Abfrage von konstant vielen Bits in polylogarithmischer
Zeit verizierbar sein. Hier ist es wichtig, zwischen der Variablenanzahl des
Schaltkreises, und der Anfragekomplexität zu unterscheiden. Die Variablenanzahl bestimmt die Gröÿe des Schaltkreises und beeinusst seine Laufzeit.
Es wird aber nicht die Belegung aller Variablen angefragt, sondern nur die
uk und vk . Dabei sind uk und vk die Endknoten
c vom Verizierer berechnet wurde. Wir könpoly log n → ΣO(1) vergleichen:
einer Projektion Σ
Belegung von zwei Variablen
der Kante, deren Bedingung
nen diesen Sachverhalt mir
Der Schaltkreis für diese Projektion hat eine polylogarithmische Eingabe,
braucht aber nur
O(1)
Werte zu berechnen.
An dieser Stelle müssen wir die Entstehungsgeschichte einer Bedingung in
Ck
untersuchen. Bis jetzt haben wir nämlich nur die Überführung von Bedin-
gungsgraphen in andere Bedingungsgraphen betrachtet. Wir haben also ganze Bedingungsmengen auf andere abgebildet. Nun müssen wir untersuchen,
wie der Schaltkreis einer einzigen Bedingung aus
rithmischer Verizierer
V
Ck
in Algorithmus 2. Aber statt den ganzen Graphen
V
einen Teilgraphen
fk
G
aussieht. Unser polyloga-
hat ein ähnliches Protokoll wie Dinurs Verizierer
Gk
zu konstruieren, bildet
und konstruiert aus diesem Teilgraphen den Schalt-
kreis einer einzigen Bedingung aus
Ck .
Im folgenden Protokoll interessieren
wir uns zunächst nur für die Variablen (Knoten) der zu bestimmenden Bedingungen und für den Ablauf des Verizierers. Die Schaltkreise für diese
Bedingungen werden im nächsten Abschnitt 4.1.3 erläutert.
57
1. Der erste Schritt ist die
PCP-Anwendung, die der Beweiser B ausführt,
≥ 1/poly log n zu
um eine Bedingungsmenge mit Erfüllbarkeitslücke
erhalten. Dinur geht von der Konstruktion [BS05] aus, welche einen
Verizierer mit polynomieller Laufzeit erzeugt. Wegen der angestrebten polylogarithmischen Laufzeit des Verizierers betrachten wir eine
ähnliche
PCP-Konstruktion
+
[BGH 05], die jedoch die Laufzeit des Ve-
rizierers polylogarithmisch beschränkt (siehe Satz 2.2 in Abschnitt
2.6).
Durch die Wahl einer Zufallszeichenkette
τ ∈ Γ(P)
V eine BeAnf(P(τ )) :=
wählt
dingung c(τ ) ∈ Ψ aus, die über die Variablenmenge
{x1 , . . . , xQ } deniert ist, wobei Q = poly log n die Anfragekomplexität von P ist. Der Schaltkreis für c(τ ) kann in polylogarithmischer Zeit
aufgestellt werden.
2. Der nächste Schritt ist die Aufblähung der Variablen. Der Verizierer bildet eine neue Variable
b(τ )
über dem Alphabet
{0, 1}Q ,
die die
Anf(P(τ )) darstellt. Durch die Wahl einer Variable
xj ∈ Anf(P(τ )) erhält V eine Bedingung c(τ, j) ∈ Ψ0 , die über der
Kante {b(τ ), xj } deniert ist. Die Belegung der kleinen Variable xj
Q
wird kanonisch in das groÿe Alphabet {0, 1} eingebettet.
Variablenmenge
c(τ, j) wird mittels eines fehlerkorrigierenden Codes ecc
PCPP-Verizierer P0
verwendet (Komposition). Statt den ganzen Teilgraphen Gc zu bilden,
der durch die Anwendung von P0 auf c(τ, j) mit allen möglichen Zufallszeichenketten aus Γ(P0 ) entsteht, wählt V eine zufällige Zeichenkette τ0 ∈ Γ(P0 ). Das Ergebnis ist eine Bedingung c(τ, j, τ0 ), die eine
groÿe Variable b(τ0 ) mit der Variablenmenge Anf(P0 (c(τ, j), τ0 )) ver3
bindet. Um eine zwei-Variablen-Bedingung zu erhalten, wählt V zufällig einen Index l ∈ [1..q0 ], der eine Variable xl ∈ Anf(P0 (c(τ, j), τ0 ))
3. Die Bedingung
kodiert (Robustization) und als Eingabe für den
speziziert.
:= c(τ, j, τ0 , l) ∈
{b(τ0 ), xl } deniert ist. Auf diese Bedingung wer(G 7→ pow(G)) iterativ anwenden.
Wir erhalten am Ende dieses Schrittes eine Bedingung c0,0
G0 = H0,0 ,
die über
den wir den Schritt
Der Einfachheit halber identizieren wir Teilgraphen im Folgenden mit ihren
Kantenmengen. Die Wahl einer Kante
Bedingung
cj ,
ej
induziert gleichzeitig die Wahl einer
{u, v} die Kante, die c0,0 trägt. Nun wiederholt der
k (Iterationstiefe in Algorithmus 2) Folgendes:4
3
4
e0,0 :=
i = 1 bis
die über die Endknoten dieser Kante deniert ist. Sei
Da die Bedingung
c(τ, j)
Verizierer für
festgelegt ist, entfällt der Index in
b(τ0 ) = bc(τ,j) (τ0 ).
Um die Lesbarkeit zu erhöhen, verzichten wir teilweise in der folgenden Aufzählung
auf die doppelte Indizierung der Kanten und Knoten.
58
•
Knoten-Duplizierung: Wähle eine Kante
e1 := {u1 , v1 } im Teilgraphen
e i,1 := ei,0 ∪ X(du ) ∪ X(dv ).
H
•
Expandisierung: Wähle eine Kante
e i,2 :=
e2 = {u2 , v2 } im Teilgraphen H
e1 ∪ NExpi (u1 ) ∪ NExpi (v1 ) ∪ {u1 , u1 } ∪ {v1 , v1 }.
•
Powering: Wähle eine Kante
Ei,2
Pfaden in
besteht, die
e3
e2
im Teilgraphen
enthalten. Um
e i,3 ,
H
e3
tV
der aus allen
zu erhalten, geht
folgendermaÿen vor:
1. Wähle
s ∈ [0..t − 1].5
2. Führe in
s
und sei
Ei,2 ab u2 einen zufälligen Spaziergang Π(u2 ) der Länge
u3 der Endknoten von Π(u2 ).
3. Führe in
Ei,2
t−s−1
und
4. Setze
Ei,2
v2 einen zufälligen Spaziergang Π(v2 )
sei v3 der Endknoten von Π(v2 ).
ab
e3 := {u3 , v3 },
wobei
e3
dem
der Länge
t-Pfad (Π(u2 ), e2 , Π(u3 ))
in
entspricht. (Siehe Abbildung 4.2)
u3
v3
Π(u2 )
Π(v2 )
e3
u2
v2
Abbildung 4.2: Bestimmung von
•
Komposition: Wähle eine Kante
•
Setze
ei+1,0 := e4 , u := u4 und v := v4
e
Hi+1,1 := ei+1 ∪ X(du ) ∪ X(dv ) fort.
Hk,4 = Gk ,
d.h.
durch zufällige Spaziergänge in
k
und fahre mit dem Graphen
e k,4 ⊂
V also eine Kante ek = {uk , vk } ∈ H
σ(uk ) und σ(vk ) im Beweis ab und wertet
Iterationen wählt
fragt die Werte von
√ e2 in ihrem
√ mittleren Segment enthalten,
t, t/2 + t] vor. Diese Einschränkung wird
In [Din05] werden nur Pfade betrachtet, die
e2
Ei,2 .
e i,4 . Diee4 = {u4 , v4 } im Teilgraphen H
ser Teilgraph resultiert aus der PCPP-Anwendung Pi auf die mittels
eines fehlerkorrigierenden Codes kodierte Bedingung c3 , welche von
e3 getragen wird. Für die Wahl von e4 wählt V ein zufälliges τi ∈ Γ(Pi )
und einen Index li ∈ [1..qi ] eines Bits in Anf(Pi (c3 , τi )), wobei qi die
Anfragekomplexität von Pi ist.
Am Ende der
5
e3
kommt an einer Stelle
s + 1 ∈ [t/2 −
aber in [Rad05] aufgehoben.
59
dann den Schaltkreis
D(σ(uk ), σ(vk )) aus. Im nächsten Abschnitt untersuD, der die Erfüllbarkeit von c := cek ∈ Ck testet. Die
chen wir den Schaltkreis
Knotenadressierung und die Berechnung der Kanten, die im obigen Protokoll
bestimmt wurden, werden in Abschnitt 4.3 erläutert.
4.1.3 Bausteine des Schaltkreises
Zuerst entwerfen wir die Bausteine, aus denen der Schaltkreis
D
des Veri-
zierers besteht. Der Verizierer bestimmt eine Reihe von Schaltkreisen, deren
Kombination
D
liefert. An dieser Stelle gehen wir davon aus, dass
V
die Ein-
gabe jeder Bedingung bestimmen kann und untersuchen den Aufwand der
einzelnen Berechnungen.
Die Aufgabe des Verizierers besteht darin, einen Schaltkreis zu entwerfen,
c ∈ Ck testet. Der Schaltkreis D entPCPP-Anwendung Pk . Dafür muss die
Eingabe von Pk , nämlich eine Bedingung ck,3 ∈ Ck,3 , bekannt sein. Die Bedingung ck,3 ist wiederum eine Konjunktion von den Bedingungen aus Ck,2 ,
die durch die t/2-Nachbarschaften von uk,3 und vk,3 in Vk,2 induziert werden,
wobei ck,3 von der Kante {uk,3 , vk,3 } getragen wird. Diese Bedingungen aus
Ck,2 lassen sich in zwei Sorten gliedern:
der die Erfüllbarkeit einer Bedingung
spricht der Ausführung der letzten
•
Triviale, immer erfüllte Bedingungen aus
Kanten Expanderkanten aus
•
Bedingungen aus
oder Selbstschleifen sind.
die sich auch in zwei Klassen einteilen lassen:
Gleichheitsbedingungen aus
für
Ck,1 ,
Expk
Ckvoid , falls die entsprechenden
CkId für die Expanderkanten aus X(dv )
v ∈ Vk,0 .
bi,0 ,
Ck,0 = Ck−1,4 für die externen Kanten ebi,0 ∈ E
Kanten ei,0 ∈ Ei,0 = Ei−1,4 sind.
Bedingungen aus
die Kopien von
G0 erreic0 ∈ C0 resultiert von der PCPP-Anwendung P0 auf
0
=
einer Bedingung c(τ, j) ∈ Ψ . Diese Bedingung ist die Konjunktion c(τ ) ∧ c
einer Bedingung c(τ ) ∈ Ψ, die der PCP-Anwendung P auf der 3-SAT-Formel
Φ entspricht, und einer Gleichheitsbedingung c= (b(τ )↓j, xj ) ∈ Ψ= zwischen
der Projektion b(τ )↓j der groÿen Variable auf die j -te Komponente und der
=
kleinen Variable xj . Dabei bezeichne Ψ die Menge dieser Gleichheitsbedingungen für alle τ ∈ Γ(P) und j ∈ [1..Q].
Nun fahren wir mit dieser Reduktion fort, bis wir die Ebene von
chen. Eine Bedingung
c ∈ Ck auf eine Menge von Be=
Bedingungsmengen Ci,j ∪ Ψ ∪ Ψ zurückführen.
Auf diese Art können wir die Bedingung
dingungen aus den früheren
Unser Ziel ist diese Bedingungsmenge ezient zu ermitteln und daraus den
Schaltkreis für
c
aufzustellen.
60
Zunächst werden wir die Arten der Bedingungen festlegen und den Aufwand
für ihre Berechnung untersuchen:
1.
Ψ: Die PCP-Anwendungen aus [BGH+ 05] auf Φ ergeben Bedingungen
c(τ ), deren Schaltkreise P(τ ) in polylogarithmischer Zeit konstruierbar
sind (siehe Abschnitt 2.6).
2.
Ψ= : Die Projektion der groÿen Variable b(τ ) auf das j -te Bit kann in
poly log n Zeit veriziert werden: Da |b(τ )| = poly log n gilt, braucht
der Verizierer O(log log n) Zeit, um den Index j zu berechnen und in
b(τ ) das j -te Bit zu bestimmen. Die kleine Variable xj wird bei der
Anwendung VRS (τr ) des Basis-Verizierers VRS angefragt (τr ∈ NΓ (τ ))
und kann auch in polylogarithmischer Zeit berechnet werden (siehe
Abschnitt 2.6). Der Vergleich von
b(τ ) ↓ j
mit
xj
kann in konstanter
Zeit ausgeführt werden.
3.
PCPP-Anwendung P0 :
Der Schaltkreis für eine Bedingung
c0 ∈ C0
ist
eine Konjunktion
P0 (c(τ, j0 ), τ0 , l) := P0 (c(τ, j0 ), τ0 ) ∧ c= (b(τ0 )↓l, xl )).
• P0 (c(τ, j0 ), τ0 )
ist das Ergebnis einer
PCPP-Verikation,
deren
Schaltkreis polynomiell in der Länge der Eingabe ist. Wie wir
in Abschnitt 3.3.4 gesehen haben, ist die Länge der Eingaben von
P0
polylogarithmisch und somit der Aufwand für
P0
auch poly-
logarithmisch.
• c= (b(τ0 )↓l, xl ) ist eine Gleichheitsbedingung mit xl ∈ Anf(P0 (c(τ, j0 ), τ0 )).
=
Die Bedingung c kann in konstanter Zeit ausgeführt werden, da
|Σ0 | = q0 = O(1), wobei q0 = |Anf(P0 (c, τ0 ))| die Anfragekomplexität von P0 ist.
4.
CiId :
Die Gleichheitsbedingungen überprüfen, ob die Endknoten einer
Kante die selbe Belegung haben und können ebenfalls in konstanter
Zeit ausgeführt werden, da wir Knotenmengen über konstante Alphabete betrachten.
5.
Civoid :
Diese Bedingungen sind immer erfüllt und verursachen daher
einen konstanten Aufwand. Sie werden mit einem Schaltkreis
D1
mo-
delliert, dessen Ausgang immer 1 ist.
6.
PCPP-Anwendungen Pi : Diese Schaltkreise sind analog zu den
kreisen P0 (c(τ, j0 ), τ0 , l) konstruiert. Wir erhalten Schaltkreise
Schalt-
Pi (ci,3 , τi , l) := Pi (ci,3 , τi ) ∧ c= (b(τi )↓l, xl )
mit
ci,3 ∈ Ci,3 , τi ∈ Γ(Pi ), l ∈ [1..qi ]
und
xl ∈ Anf(Pi (ci,3 , τi )).
Der
Aufwand für die Auswertung eines Schaltkreises ist polynomiell in der
61
Länge der Eingabe. Da
für die Auswertung von
Wir haben gesehen, wie
V
|Σi,3 | = Ddt/2e = O(1) gilt,
Pi gleich poly Dt = O(1).
eine Bedingung
c ∈ Ck
ist der Aufwand
in eine Menge
Bed(c)
von
Bedingungen aus den vorigen Bedingungsgraphen zerlegen kann. Der Schalt-
D ergibt sich also aus der Kombination von mehreren Schaltkreisen: Die
0
Schaltkreise von Ψ sind die Eingaben für P0 und die Schaltkreise für Ci,3
sind die Konjunktion von Schaltkreisen für Ci,2 und sind selber die Eingaben
von Schaltkreisen für Pi , usw. Der Schaltkreis für die Bedingung c besteht
also aus der Verschachtelung der Schaltkreis für Bed(c).
kreis
Wichtig an dieser Stelle ist nochmal den Unterschied zwischen der Variablenanzahl des Schaltkreises und der Anfragekomplexität des Verizierers: Der
poly log n Variablen deniert werden. Für seine Auswertung werden aber nur O(1) Anfragen benötigt. Dieser Sachverhalt ist
wie vorher erläutert mit einer Extraktion von O(1) Werten aus polylogarithmisch groÿen Menge. Nun müssen wir untersuchen, wir V die Bedingungsmenge Bed(c) für ein zufälliges c ∈ Ck gemäÿ dem Protokoll in Abschnitt
Schaltkreis soll über
4.1.3 ezient bestimmen kann. Dafür bestimmen wir zuerst die Anforderungen an die Struktur des Beweises, die eine eziente (polylogarithmische)
Verikation ermöglichen.
4.2 Strukturierung des Beweises
Um einen polylog-Verizierer zu erhalten muss eine Fülle von Teilaufgaben
V zufällige Kanten in den
e i,j . Die Wahl einer Kante ist äquivalent zu der zufälligen FestH
ezient gelöst werden. In seinem Protokoll wählt
Teilgraphen
legung eines Knotens und der zufälligen Bestimmung eines seiner Nachbarn.
Die Bestimmung eines Knotens besprechen wir in Abschnitt 4.3, in dem wir
die Knotenadressierung festlegen. An dieser Stelle lösen wir folgende Aufgaben:
•
Wie kann die Nachbarschaft
G
•
NG (v)
eines Knotens in einem Graphen
ermittelt werden?
NG (v) so geordnet werden, dass
v (l ∈ [1..|NG (v)|]) bestimmen können?
Wie kann
wir den l -ten Nachbarn von
4.2.1 Nachbarschaft eines Knoten
Die Bestimmung der Nachbarschaft eines Knotens hängt von den Teilgraphen
ab, die in einem Graphen auftreten. In unserem Kontext gibt es verschiedene
Arten von Teilgraphen, die wir jetzt im Einzelnen betrachten werden:
62
Ψ: Wie in Abschnitt 2.5 erläutert, ist die AnfragekomP von [BGH+ 05] gleich Q = q(VRS ) · dRam :=
(log n)a2 für eine Konstante a2 , wobei dRam = poly log n der Grad des
Ramanujan-Expandergraphen Γ = G(Γ(P)) und q(VRS ) = O(1) die
Anfragekomplexität des Basis-Verizierers VRS ist.
1. Nachbarschaft in
plexität des Verizierers
Γ hat 2R = n · (log n)a1 Knoten, die Γ(P) darstellen, und
· dRam )/2 Kanten. Die Konstanten a1 und a2 kann der Verizierer aus n gemäÿ einer Vereinbarung mit dem Beweiser errechnen. Die
Kanten verbinden Zufallszeichenketten von Γ unter einander. An dieser
Der Graph
(2R
Stelle treten die angefragten Bits noch nicht auf. Sie sind implizit in-
Anf(VRS (τr ))
duziert, als Elemente von
diese Bits erst in
Da
Γ
Ψ0
für
τr ∈ NΓ (τ ).
Explizit treten
auf.
als Cayley-Graphen implementiert werden kann, ist die Nach-
barschaft eines Knotens in
Generatormenge
Gen(Γ)
Ψ
durch die Angabe der
Q-elementigen
festgelegt. Wie wir in Abschnitt 1.2.2 gese-
hen haben, kann die Nachbarschaft in einem Cayley-Graphen in polylogarithmischer Zeit ermittelt werden. Der Verizierer verfüge dafür
über eine Abbildungsvorschrift (d, n) 7→ {h1 , . . . , hd }, die für einen
d-regulären Cayley-Graphen G über n Knoten die Generatormenge
Gen(G) = {h1 , . . . , hd } ermittelt. Die Abbildungsvorschrift kann mit
dem Beweiser vereinbart werden und als Teil der expliziten Eingabe
gegeben werden.
2. Nachbarschaft in
Ψ0 :
neue groÿe Variable
Für jede Zufallszeichenkette
b(τ )
τ ∈ Γ(P)
wird eine
eingeführt. In diesem Abschnitt setzen wir
Anf(VRS (τr )) über τr adressierbar sind. Diese Annahme ist berechtigt, da |Anf(VRS (τr ))| = q(VRS ) = O(1) gilt.
Dadurch können diese Bits einfach bestimmt werden, wenn τr gegeben ist. Deswegen führen wir hier eine neue Notation ein: T (τr ) :=
Anf(VRS (τr )). Die Nachbarschaft in Ψ0 eines Knotens xj ∈ T (τr ) ist
durch die Nachbarschaft von τr in Γ bestimmt.
voraus, dass die Bits von
b(τ ) ist ihre hitter-Menge, die durch die Ramanujanτ induziert wird, d.h.
[
NΨ0 (b(τ )) =
T (τr )
(4.1)
Die Nachbarschaft von
Nachbarschaft
NΓ (τ )
von
τr ∈NΓ (τ )
xj ∈ T (τr ) können wiederum nur in den hitter-Mengen
der Knoten auftreten, die in NΓ (τr ) liegen. Sie sind mit dRam groÿen
Variablen verbunden, die b(τs ) für τs ∈ NΓ (τr ) darstellen. An die-
Kleine Variablen
ser Stelle erinnern wir an die Bijektion zwischen den groÿen Variablen
b(τ ) ∈ V (Ψ0 ) = Γ(P) und den Zufallszeichenketten τ ∈ Γ(P). Wir kön0
nen also die Nachbarschaften in Ψ mit den Nachbarschaften in Γ iden0
tizieren, obwohl V (Ψ ) aus kleinen Variablen xj ∈ T (τr ) und groÿen
63
Variablen
b(τ )
besteht und
Γ(P)
aus Zufallszeichenketten. Abbildung
4.3 zeigt anhand eines einfachen Ramanujan-Graphen vom Grad
3
die
Γ und den Nachbarschaften
Ψ0 . Die Knotenanzahl und die Kantenanzahl haben sich verdoppelt:
Zum Beispiel nden wir die Verbindung zwischen τ3 und τ4 (dick an0
gezeichnet in Γ) in den Kanten {b(τ3 ), T (τ4 )} und {b(τ4 ), T (τ3 )} in Ψ
wieder. Wieder ist q(VRS ) = 1 und T (τr ) eine 1-elementige KnotenBijektion zwischen den Nachbarschaften in
in
menge.
b(τ4 )
T (τ1 )
τ1
b(τ1 )
τ4
b(τ3 )
τ3
T (τ4 )
τ2
T (τ3 )
T (τ2 )
b(τ2 )
Ψ0
Γ
Abbildung 4.3: Bijektion zwischen den Nachbarschaften in
Γ
und in
Ψ0 .
G0 : wird zusammen mit der Nachbarschaft in Vi,4 =
Vi+1,0 untersucht, da beide Graphen das Ergebnis einer PCPP-Anwendung
3. Nachbarschaft in
sind.
Vi,1 : Die Kanten in Ei,1 sind entweder externe Kanten,
Ei,0 sind, oder Kanten aus den (dv , d0 , λ0 )Expandergraphen X(dv ) für Knoten v ∈ Vi,0 . Jeder Knoten in Vi,1 hat
genau einen externen Nachbarn und d0 Expandernachbarn. Letztere
lassen sich mittels der Generatormenge von X(dv ) berechnen. Dafür
muss der Verizierer den Grad dv von v berechnen. Externe Nachbarn
werden wie in Vi,0 = Vi−1,4 ermittelt, wie wir in Kürze sehen werden.
4. Nachbarschaft in
die Kopien von Kanten aus
5. Nachbarschaft in
Vi,2 :
An dieser Stelle werden zu den Knoten von
Vi,1
Selbstschleifen und die Kanten eines (|Vi,1 |, d1 , λ1 )-Expandergraphen
Expi
Expi
eingefügt.
muss
V
6
Für die Ermittlung der Nachbarn eines Knotens in
die Kardinalität
|Vi,1 |
berechnen können. Aus Abschnitt
3.2 wissen wir:
(3.13)
|Vi,1 | = 2|Ei,0 | = 2C1 · |Ei−1,0 | = 2C1i · |E0 |.
6
Abbildung 3.2 in Abschnitt 3.2.2 zeigt die Struktur des Graphen
64
V2 .
2r0 groÿen Variablen b(τ0 ) mit q0
7
kleinen Variablen verbunden ist. Da r0 = O(r(ecc) · Q) gilt, kann
der Verizierer |E0 | aus Q, r(ecc) und q0 berechnen. Somit kann V mit
Gen(Expi ) die Nachbarschaft in Expi und mit den Vorschriften für Vi,0
und Vi,1 die Nachbarschaft in Vi,2 ermitteln.
Es gilt
|E0 | = 2r0 · q0 ,
Vi,3 :
6. Nachbarschaft in
v ∈ Vi,3
da jede der
Die Bestimmung der Nachbarn eines Knotens
entspricht der Berechnung aller
ausgehen. Die Nachbarn von
7. Nachbarschaft in
Vi,4 :
in
Ei,2 ,
die aus
v
sind dann die Endknoten dieser Pfade.
Wie wir in Abschnitt 3.2.4 gesehen haben, wen-
[u] ∪ [v] deniert sind, wobei u
und v Knoten in Vi,3 sind und [u] bzw. [v] die Kodierung via ecc von u
8
bzw. v bezeichnet. Für jede Bedingung c ∈ Ci,3 erzeugt der Beweiser
einen Graphen Gc = h(Vc , Ec ), Σ0 , Cc i, der alle Anwendungen Pi (e
c, τi )
für τi ∈ Γ(Pi ) darstellt. Da e
c eigentlich nur die Kodierung von c ist,
setzen wir der Einfachheit halber e
c := c.
den wir
Pi
v
t-Pfade
auf Bedingungen
B die Menge
O(1)). Diese Bits
Sei
Hilfsvariablen ist
e
c,
die über
[u] ∪ [v] (m = r(ecc) · log |Σ3 | =
Pi (c, ·) dar. Die Menge der
Xc := Γc (Pi ) ∪ Pc , wobei die Menge Pc die Bits des
der
2m
Bits von
stellen die Eingabe von
Beweises bezeichnet und
[
Γc (Pi ) =
Anf(Pi (c, τi )) =
τi ∈Γ(Pi )
Die Knotenmenge
B :=
[
Vi,4
[
bc (τi ).
τi ∈Γ(Pi )
B ∪ P ∪ Γ(Pi ),
[
Γ(Pi ) :=
Γc (Pi ).
besteht aus den Mengen
[v], P :=
v∈Vi,3
[
Pc
c∈Ci,3
und
wobei
c∈Ci,3
Cc , die Bedingungsmenge des Graphen Gc , der aus der
Pi auf c resultiert. Eine Bedingung c4 ∈ Cc ⊂ Ci,4
verbindet einen Knoten bc (τi ) ∈ Γc (Pi ) mit einem Knoten xl ∈ B ∪ Pc .
Da die Anfragekomplexität von Pi gleich qi ist, liefert jede Wahl von
τi ∈ Γ(Pi ) qi Bedingungen P(c, τi , xl ) mit xl ∈ Anf(P(c, τi )) und l ∈
[1..qi ].
Betrachten wir
Anwendung von
Wir wollen bestimmen, wie die Nachbarschaft eines Knotens
w ∈ Vi,4
ermittelt werden kann. Wir unterscheiden drei Fälle:
(a)
w ∈ Γc (Pi ):
Anf(Pi (c, τi ))
darstellt. Die
w ist eine groÿe Variable bc (τi ), die
τi ∈ Γ(Pi ) und eine Bedingung c ∈ Ci,3
Nachbarn von w sind die qi Bits aus B ∪ Pc in
Der Knoten
für ein
Anf(Pi (c, τi )).
7
8
Siehe Abschnitt 4.1.1.
Dabei ist
Rate
ecc ein fehlerkorrigierender Code mit linearer Distanz δ(ecc) und konstanter
r(ecc).
65
(b)
w ∈ Pc : Der Verizierer simuliert alle PCPP-Anwendungen Pi (c, τi,r )
τi,r ∈ Γ(Pi ) und vermerkt, bei welchen Anwendungen w
gelesen wurde. Die Simulation einer PCPP-Anwendung beinhaltet
für alle
nicht das Lesen der Bits, sondern nur die Bestimmung der anzufragenden Bits. Diese Unterscheidung ist entscheidend für die angestrebte konstante Anfragekomplexität des resultierenden Verizierers. Somit erhält
V
Diese groÿen Variablen sind die
(c)
b(τi,r ) mit w ∈ Anf(Pi (c, τi,r )).
Nachbarn von w in Vi,4 .
eine Liste der
w ∈ B : Die Überlegung ist analog zum Fall w ∈ P , aber hier müsPCPP-Anwendungen betrachtet werden. Die Menge B
ist die Kodierung der Endknoten u und v einer Kante {u, v}, über
die eine Bedingung c deniert ist. Ohne Einschränkung sei w ∈
[u]. Der Verizierer simuliert alle möglichen PCPP-Anwendungen
Pi (cm , τi,r ), in denen [u] als Eingabe auftritt. Dabei werden die
Bedingungen cm über Bitmengen [u] ∪ [um ] deniert, wobei um ∈
NVi,3 (u) gilt. Der Index r durchläuft alle möglichen Zufallszeichenketten τi,r ∈ Γ(Pi ). Hier müssen wir beachten, dass jede Kante
{u, um }, die eine Bedingung cm trägt, eine Menge Γcm (Pi ) groÿer
Variablen und eine Menge Pcm von Beweisbits induziert.
sen mehr
In Abbildung 4.4 zeigen wir die Struktur eines Teilgraphen von
Hi,0 , in dem der Knoten u involviert ist. Die Menge B enthält die
Kodierungen von u und seinen Nachbarn u1 und u2 . Die Bedingung c1 über {u, u1 } (gestrichelte Linie) induziert einen Beweis
Pc1 und eine Menge Γc1 (Pi ) groÿer Variablen bc1 (τi,r ) (analog für
c2 ). Der Knoten w ist einerseits das l-te Bit in Anf(Pi (c1 , τi,r )) und
0
andererseits das l -te Bit in Anf(Pi (c2 , τi,r 0 )) (fett angezeichnete
Kanten).
|Γ(Pi )| = 2ri = poly log |Σ3 | =
poly Dt . Insgesamt gibt es also poly Dt = O(1) PCPP-Anwendungen,
in denen u involviert ist. Ein Bit aus [u] kann also von höchstens
so vielen PCPP-Anwendungen gelesen werden. Nach der Simulation dieser Anwendungen kann V die Nachbarschaft von jedem
Knoten in Vi,4 bestimmen. Tabelle 4.1 zeigt die zu durchlaufenden
Mengen NVi,3 (u), Γ(Pi ) und [1..qi ]. Ein Kreuz in der Spalte von
w bedeutet, dass w von der entsprechenden PCPP-Anwendung
Der Grad von
u
in
Vi,3
ist
Dt
und
gelesen wurde.
Für die
PCPP-Anwendung P0
ergibt sich eine analoge Analyse:
(a)
w ∈ Γ(P0 ): Groÿe Variablen b(τ0 ) haben q0 Nachbarn, die Anf(P0 (c, τ0 ))
0
für eine Bedingung c ∈ Ψ darstellen.
(b)
w ∈ B ∪P : Die Nachbarschaft dieser kleinen Variablen wird durch
die Simulation aller PCPP-Anwendungen, die diesen Knoten enthalten können, und anschlieÿendes Vermerken der Anfragen be-
66
Γc1 (Pi )
1
q
l
bc1 (τi,r )
c(τi,r , l)
c1
B
[u1 ]
w
[u]
c2
P
Pc1
c(τi,r0 , l0 )
[u2 ]
Pc2
1
l0
bc2 (τi,r0 )
q
Γc2 (Pi )
Abbildung 4.4: Struktur des Bedingungsgraphen
Hi,4
NVi,3 (u)
Γ(Pi )
[1..qi ]
w ∈ [u]
u0
τ0
l0
×
u00
τ 00
l00
×
...
...
...
...
um den Knoten
u.
Tabelle 4.1: Simulation der
PCPP-Anwendungen
um den Knoten
u.
stimmt. Der Aufwand der Berechnung ist aber nicht mehr kon-
P0 polylogarithmisch groÿ ist: Die Länge
L der Eingabe ist linear in der Gröÿe des Alphabets {0, 1}Q von
Ψ0 , wobei Q = poly log n die Anfragekomplexität von P ist. Es erstant, da die Eingabe für
gibt sich aber nur ein polylogarithmischer Aufwand: Jeder Knoten
v ∈ V (Ψ0 ) hat Q Nachbarn (NΓ (v)). Ein Knoten w ∈ [v] kann also
nur in Q PCPP-Anwendungen auftreten und der Aufwand jeder
Anwendung ist polynomiell in der Länge der Eingabe, also auch
polylogarithmisch groÿ. Insgesamt lässt sich die Nachbarschaft in
G0
in
Q · poly L = poly log n
Zusammengefasst kann
V
Zeit berechnen.
die Nachbarschaft von jedem Knoten bestimmen,
wenn er mit dem Beweiser vereinbart, wie die Graphen gebildet werden. Für
PCPP-Anwendungen muss V
PCPP-Verikationen) und die-
die Bestimmung der Nachbarschaften nach den
eine Nebenrechnung führen (Simulation der
67
jenigen Anwendungen vermerken, die ein bestimmtes Bit lesen würden. Für
die Expandergraphen
X(dv )
muss
V
die Kardinalität des Teilgraphen ken-
nen: Bei der Knoten-Duplizierung wird der Grad eines Knotens in der eben
genannten Nebenrechnung ermittelt. Für die
nung machen, die für jeden
i ∈ [0..k]
Expi s kann V eine globale Rech|Vi,1 | liefert. Nun be-
die Kardinalität
schäftigen wir uns mit der zweiten Frage: Welche Ordnungen sind notwendig,
um die Nachbarschaften ezient zu indizieren?
4.2.2 Kanonische Ordnungen
Der Verizierer muss bei der Ausführung des Protokolls aus Abschnitt 4.1.2
eine Menge von neuen Knoten bestimmen. Die Wahl einer Kante in einem
Bedingungsgraphen reduzieren wir im nächsten Abschnitt 4.3 auf die Berechnung der Adresse beider Endknoten. Die Grundidee ist eine Strukturierung
der Knotenmengen, die eine partielle Ordnung der Knoten ergibt: die Nach-
NG (v)
v in einem Graphen G ist so geordnet, dass
l ∈ [1..|NG (v)|] eineindeutig einen Nachbarn w von v
sowie die über die Kante {v, w} denierte Bedingung festlegt. Dafür fordern
wir vom Beweiser B folgende Ordnungen zu beachten:
barschaft
jedes Knotens
die Angabe des Indexes
•
Γ(P): Wir identizieren die Elemente τ von Γ(P) mit
h(τ ) ∈ H des Cayley-Ramanujan-Graphen G(Γ(P)) :=
C(H, S), der in Abschnitt 2.5 eingesetzt wird. Dabei ist H eine |Γ(P)|elementige Gruppe und S eine d-elementige Generatormenge, wobei
d := dRam der Grad von Γ ist. Diese Gruppenelemente können bijektiv
auf N abgebildet werden, so dass sich eine kanonische Ordnung auf H
Ordnung von
den Elementen
ergibt.
•
Anf(P(τ )): Die Wahl einer Kante in Ψ ist äquivalent
τ ∈ Γ(P) (groÿe Variable b(τ )) und eines der Q
Nachbarn von τ (kleine Variable xj ). Wir müssen aus τ und j die kleine
Variable xj ∈ Anf(P(τ )) berechnen. Wie wir in Abschnitt 2.5 gesehen
haben, ist xj ∈ T (τr ) = Anf(VRS (τr )) für τr ∈ NΓ (τ ). Wir müssen also
τr berechnen und dann xj in T (τr ) adressieren. Die zweite Aufgabe ist
trivial, da |T (τr )| = O(1) gilt, und T (τr ) kanonisch geordnet werden
kann. Wir behandeln also die erste Aufgabe: die Bestimmung von τr
Ordnung von
zu der Wahl eines
Bei der Berechnung von
P(τ )
bestimmen wir die
hitter-Menge NΓ (τ ).
r das r-
Diese Menge muss kanonisch geordnet werden, so dass wir aus
te Element in
NΓ (τ )
bestimmen können. Dies ist mit einem ezienten
Cayley-Graphen wie in Abschnitt 1.2.2 möglich: Die Generatormenge
S = {h1 , . . . hd } sei also so geordnet, dass r eindeutig ein Element
h(r) ∈ S festlegt. Aus h(τ ) + h(r) erhalten wir ein Element h ∈ H , das
wir eindeutig auf ein Element τr ∈ Γ(P) abbilden können.
68
•
Ordnung von
Γ(Pi ):
zu der Ordnung von
•
Die Ordnung von
Γ(Pi ) (i = 0, . . . , k )
ist analog
Γ(P).
P0 um einen Knoten w ∈ V0 , die
v ∈ Ψ0 ist entweder eine groÿe Variable
Variable xj ∈ T (τ ) für ein τ ∈ Γ. In beiden
Ordnung der Anwendungen von
simuliert werden: Ein Knoten
b(τ )
oder eine kleine
v
Fällen ist
Γ
mit Knoten verbunden, die durch seine Nachbarschaft in
bestimmt sind:
Im ersten Fall induziert
fragten
Q
NΓ (τ )
die
hitter-Menge,
die Menge der ange-
Bits, wie sie in Gleichung (4.1) deniert wurde. Im zweiten
Fall wird ein Knoten
angefragt, wenn
P
xj ∈ T (τ ) genau dann vom PCP-Verizierer P
τ 0 ∈ NΓ (τ ) ausgeführt wird, d.h
mit einem
xj ∈ Anf(P(τ 0 ) ↔ xj ∈ T (τ )
und
τ ∈ NΓ (τ 0 )).
NΓ (τ ) entspricht dann einer Menge von groÿen Variablen
0
b(τ ). Wir können also die kanonische Ordnung von NΓ (τ ) für alle τ ∈ Γ
Die Menge
übernehmen und erhalten daraus eine Ordnung der Anwendungen von
P0 :
•
Betrachte den
Vater v ∈ Ψ0
Ordne die Nachbarn
von
w ∈ V0 .
u ∈ NΓ (v).
{u, v} entspricht einer Bedingung c ∈ Ψ0 . Für jede Ber
dingung c gibt es 2 0 PCPP- Anwendungen P0 (c, τ0 ) (τ0 ∈ Γ(P0 )),
die wir nach der Ordnung von Γ(P0 ) ordnen können. auf den kleinen Variablen entsprechen (m0 ∈ [1..q0 ]).
Jede Kante
Anf(Pi (c, τi )):
Ordnung von
Konstante
qi .
Die Anfragekomplexität von
Wir ordnen die Bits von
Anf(Pi (c, τi ))
Pi
ist eine
nach der Reihen-
folge, in der sie vom Verizierer gelesen werden.
•
[v] für alle v ∈ G0 : Jeder Knoten v ∈ G0 wird dv Mal dupliziert und ergibt die Knotenmenge [v]. Die Knoten von [v] werden mit
einem (dv , d0 , λ0 )-Cayley-Expandergraphen X(dv ) mit Generatormen9
ge Gen(X(dv )) vernetzt. Aus vl ∈ [v] gehen d0 Expanderkanten und
eine einzige externe Kante {vl , wm } aus, die einer Kante {v, w} ∈ E0
entspricht und deren Bedingung trägt. Die Kopien müssen von 1 bis
dv so geordnet werden, dass ein bestimmter Wert l ∈ [1..dv ] eindeutig
die externe Kante {vl , wm } festlegt (siehe Abbildung 4.5).
Ordnung von
bc (τ0 ) (c ∈ Ψ0 ) übernehmen wir die Ordnung
Anf(P0 (c, τ0 )). Die l-te Kopie von bc (τ0 ) ist dann mit der
Für groÿe Variablen
von
Kopie einer kleinen Variable verbunden. Diese Kopie entspricht
dem l -ten angefragten Bit in
9
dv
ist der Grad von
v
in
G0 .
69
Anf(P0 (c, τ0 )).
[w]
[v]
?? wm
vl
Abbildung 4.5: Ziel der Ordnung von
[v]
für Knoten
Für kleine Variablen aus einem Beweis
Ordnung von
Γc (P0 )
Pc
v ∈ V0 .
übernehmen wir die
und erhalten nach der oben genannten
Simulation eine geordnete Liste der groÿen Variablen
bc (τ0,r ),
die mit dieser Variable verbunden sind.
B übernehmen wir die
PCPP-Anwendungen P0 und die Ordnung von
Für kleine Variablen aus der Eingabe
Ordnungen der
Anf(P0 (c, τ0 )),
die wir oben deniert haben und erhalten eine
Ordnung der Nachbarschaft eines Knotens in
Die Ordnungen auf
V0 .
NΓ (τ ), Γ(P0 ) und Anf(P0 (c(τ, j), τ0 ))
[v] (siehe Tabelle4.2).
ergeben also
eine kanonische Ordnung auf
Γ(P)
|NΓ (P)|
Γ(P0 )
[1..q0 ]
u ∈ [v]
...
...
...
...
...
τ0
j0
τ00
l00
×
1
...
...
...
...
...
τ 00
j 00
τ000
l000
×
2
...
...
...
...
...
...
Tabelle 4.2: Ordnung von
•
Ordnung von
[v]
für Knoten
v
l ∈ [1..du ]
aus der Eingabe.
NVi,1 (v): An erster Stelle kommt der externe Nachbar von
v und dann die Expandernachbarn, geordnet nach der Generatormenge
Gen(X(du )), wobei v ∈ [u] für einen Knoten u ∈ Vi,0 .
•
Ordnung von
NExpi (v): Die Graphen Expi sind (|V (Hi,1 )|, d1 , λ1 )-Expander-
graphen, die auch als Cayley-Graphen implementiert werden. Die Ord-
Gen(Expi ) ergibt eine Ordnung auf der Nachi = 1 bis k .
nung der Generatormenge
barschaft in
•
Expi
für
Vi,2 : Aus v ∈ Vi,2 gehen d0 Kanten aus
X(dv ), d1 Kanten aus dem Expandergraphen
Ordnung der Nachbarschaft in
dem Expandergraphen
Expi ,
eine Selbstschleife und eine externe Kante, die eine Bedingung
70
von
Ci,0
trägt. Wir ordnen die Nachbarschaften in
Vi,2
folgendermaÿen:
zuerst der Knoten selbst (Selbstschleife), dann die Nachbarn in
Vi,1
Expi , wobei wir die eben vorgestellten
Vi,1 und in Expi übernehmen.
und schlieÿlich die Nachbarn in
Ordnungen für die Nachbarschaft in
•
Pfadbildung: Im Powering-Schritt werden
Kanten in
Ei,3
t-Pfade
in
Ei,2
gebildet, um
zu erhalten. Hier brauchen wir eine Ordnung der Nach-
v ∈ Vi,3 . Wir werden diese Ordnung brauchen,
PCPP-Anwendung Pi in einer kanonischen Reihenfolge simulieren zu können (analog zu der Ordnung der Anwendungen von P0 ). Ein
t−1 Nachbarn. Jeder Knoten deniert mit v einen
Knoten v ∈ Vi,3 hat D
eindeutigen t-Pfad in Ei,2 . Wir brauchen also eine kanonische Ordnung
barschaft eines Knotens
um die
für die Bildung dieser Pfade. Dafür wählen wir eine Durchlaufstrategie
der Kanten von
Ei,2
Die Pfade, die aus
v,
v
ab
v,
nämliche die Tiefensuche.
ausgehen, bilden einen Baum
Verzweigungsfaktor
D
und Tiefe
t.
Tree(v)
mit Wurzel
Die Blätter des Baumes sind die
Endknoten der t-Pfade. Die Tiefensuche wird durch folgende Rekursion
realisiert:
v1
1. Markiere der ersten Sohn
2. Bilde den Teilbaum
von
v,
Tree(v1 ),
3. Weiter mit dem nächsten Sohn von
Tree(v1 )
Bei dem Bilden des Teilbaumes
v.
betrachten wir zuerst seinen
ersten Sohn und den Teilbaum, der aus ihm ausgeht, usw. Für die
Ordnung der Söhne eines Knotens beachten wir, dass die Söhne eines Knotens seine Nachbarn in
Vi,2
sind. Wir können also die Ord-
nung übernehmen, die wir im letzten Absatz deniert haben. Diese
Durchlaufstrategie ergibt eine Nummerierung der Knoten (nach der
Reihenfolge, in der sie besucht werden). Insbesondere ergibt sich eine
Nummerierung der Blätter des Baumes. Letztere induziert eine parti-
Vi,3 . Dabei
verschiedene t-Pfade
elle Ordnung auf die Nachbarschaften in
kann ein Knoten
mehrfach vorkommen. Da aber
verschiedene Be-
Ci,3
dingungen in
induzieren, hat ein Knoten auf verschiedenen Pfaden
unterschiedliche semantische Bedeutungen. Äquivalent können wir eine
D-adische
Darstellung der Knoten mit
t-elementigen
Tupeln benutzen
und die Ordnung dieser Tupel übernehmen.
•
Ordnung von
[x]
für alle
x ∈ Vi+1,0 = Vi,4 :
Falls
x
eine groÿe Variable
oder ein Beweisbit ist, lösen wir das Problem analog zum Fall
Ansonsten ist
für
10
w ∈ Vi,3 .
x
ein Bit aus der Kodierung der Eingabe, d.h
v ∈ G0 .
x ∈ [w]
10
Hier liegt eine Polymorphie vor: Aus dem Kontext müssen wir unterscheiden zwischen
71
PCPP-Anwendungen Pi ordnen, in denen
In diesem Fall müssen wir die
der Vater
w
von
x
enthalten ist. Dafür übernehmen wir die Ordnung
PCPP-Anwendungen
{w, w0 } (w0 sei der ji -te Nachbar von w)
nach den Zufallszeichenketten τi ∈ Γ(Pi ). Schlieÿlich wenden wir die
Ordnung von Anf(Pi (c, τi )) an, um den Index li des angefragten Bits
x zu bestimmen. Wir erhalten eine Bijektion zwischen dx Tupeln der
Form (ji , τi , li ) und [1..dx ] (Siehe Tabelle 4.3). Für Bits aus dem Beweis
der Nachbarschaft in
Vi,3 .
Dann ordnen wir die
über eine bestimmte Kante
bzw. für groÿe Variablen ergibt sich die Ordnung aus den Ordnungen
für
Γ(Pi )
bzw.
Anf(Pi (c, τi )).
NVi,3 (x)
Γ(Pi )
[1..qi ]
u ∈ [x]
...
...
...
...
ji0
τi0
li0
×
1
...
...
...
...
ji00
τi00
li00
×
2
...
...
...
...
...
Tabelle 4.3: Ordnung von
[x] ⊂ Vi,1
l ∈ [1..du ]
für Knoten
x ∈ Vi,0 .
Diese Ordnungen werden wir einsetzen, um eine Knotenadressierung zu entwerfen, die eine eziente Bestimmung der Nachbarn eines Knotens ermöglicht, obwohl der Verizierer nur einen polylogarithmisch groÿen Teilgraphen
bilden darf.
4.3 Adressierung der Knoten
Das Ziel in diesem Abschnitt ist der Entwurf einer vollständigen und korrekten Knotenadressierung: Jeder Knoten soll erreichbar (adressierbar) sein
und jeder erreichte Knoten soll semantisch korrekt sein. Wir wollen aber
zuerst dieses Vorhaben motivieren.
Das Ziel der Einführung der Expandergraphen
Expi
ist die Verteilung der
Informationen (Knotenbelegungen) durch den Graphen, so dass eine globale
Verstreuung resultiert. Es werden Knoten verbunden, die nicht lokal korreliert sind. Zum Beispiel sind Knoten
korreliert, dass sie aus der selben
u
und
v
τ (u) = τ (v) dadurch
P(τ ) stammen. Ein un-
mit
PCP-Anwendung
ehrlicher Beweiser kann durch eine geringfügige Fälschung des Beweises von
P(τ )
beide Informationen über
schiedenen
τ
u
und
v
verfälschen. Für Knoten mit ver-
0
und τ muss der Beweiser beide Beweise
P(τ )
und
P(τ 0 )
ver-
fälschen. Umso mehr Korrelationen zwischen entfernten Knoten entstehen,
[x] als Knotenmenge, die aus der Duplizierung
ecc eines Knotens w (Robustization).
72
von
x
resultiert, und
[w]
als Kodierung via
um so schwieriger ist eine Fälschung seitens des Beweisers. Durch Bündelung
der Bedingungen im Powering-Schritt erhöht sich somit die Wahrscheinlichkeit, dass der Verizierer auf Inkonsistenzen im Beweis stöÿt. Dies ist der
Grund für die Ausdehnung der Erfüllbarkeitslücke, wir wir in Abschnitt 3.2
gesehen haben.
Eine vollständige und korrekte Knotenadressierung und die Cayley-Eigenschaft
der Expandergraphen ermöglichen einerseits die freie und andererseits eine blinde Bewegung in dem ganzen Graphen
Gi :
Es reichen die Adresse
eines Knotens und ein Element aus der Generatormenge, um einen Nachbarn zu bestimmen und gleichzeitig seine ganze Entstehungsgeschichte zu
erhalten. Der Verizierer kann ab diesem Knoten weiterlaufen (im Rahmen
der zufälligen Spaziergänge im Powering-Schritt) und hat alle nötigen Informationen, um die Nachbarschaft dieses erreichten Knotens und die mit ihm
verbundenen Bedingungen zu bestimmen.
v ∈ Hi,j
Wir können uns die Adresse eines Knotens
als eine Zeichenkette vor-
stellen, die in Abschnitte unterteilt werden kann. Wir vereinbaren folgende
Notationen:
•
v ∈ Hi+1,j (i = 0, . . . , k − 1, j = 1, . . . , 3) sei
Adr(vi ) = (p0 , . . . , pi , 000), wobei die Abschnitte pm für m = 0, . . . , i
Die Adresse eines Knotens
zu spezizieren sind.
11
Wir entscheiden uns für diese Notation, weil die
Vi+1 das Ergebnis von Operationen ist, die in der i-ten
Iteration stattnden und von dem Abschnitt pi charakterisiert werden.
Knotenmenge in
Das Feld hat eine später zu bestimmende polylogarithmische Länge
und wird für
i<k
mit Nullen aufgefüllt.
•
Ein Abschnitt einer Adresse wird auch in der Form
•
Es bezeichne
a(v)
den Abschnitt
(a)
in
(a1 , a2 , . . . ) notiert.
Adr(v) = (. . . , a, . . . ).
4.3.1 Struktur der Knotenadressen
Wir wollen die Adresse eines Knotens in Abschnitte teilen, die Auskunft über
seine Herkunft geben. Dabei müssen wir die Vorgänger dieses Knoten in den
vorigen Bedingungsmengen kennen. Die Vorgänger eines Knotens können
Knoten (wie bei der Knoten-Duplizierung) oder Bedingungen (wie bei den
PCPP-Anwendungen Pi )
sein. Im letzten Fall können die Endknoten der
Kante, die eine Bedingung trägt, als Vorgänger eines Knotens betrachtet
werden. Die Adressenabschnitte eines Knotens werden wir stückweise gemäÿ
dem Algorithmus 2 festlegen, in dem die Graphen
Hi,j
gebildet werden. Die
Adressierung basiert auf den Ordnungen aus dem vorigen Abschnitt: Die
11
Die Adressierung der Knoten von
Hi,0
und
Begründung folgt später in diesem Abschnitt.
73
Hi,4
wird beabsichtigt ausgelassen. Die
Bezeichner (τi , ji , usw.) können mit ihren Indizes identiziert werden, die
sich aus den obigen Ordnungen ergeben. Wir verfolgen nochmal dem Ablauf
dieses Algorithmus und denieren in jedem Schritt eine Knotenadressierung:
1.
2.
3.
Ψ: Eine Bedingung
τ ∈ Γ(P) bestimmt.
in
Ψ
wird eindeutig durch die Festlegung eines
Knoten müssen nicht explizit adressierbar sein.
Ψ0 : Eine Bedingung
τ ∈ Γ(P) mit einer
Ψ0
b(τ ) für ein
j ∈ [1..Q], wobei Q
0
die Anfragekomplexität von P ist. Die Variablen von Ψ werden nicht
0
explizit betrachtet, sondern nur die Bedingungen von Ψ als Eingabe
für die PCPP-Anwendung P0 . Eine Bedingung ist durch die Angabe
von τ und j eindeutig festgelegt.
in
verbindet eine groÿe Variable
kleinen Variable
xj
für ein
G0 : Die Bedingungen in G0 entstehen durch die Anwendungen von
P0 auf die Bedingungen aus Ψ0 . Da ein Knoten in Ψ0 mit Q Knoten
verbunden ist, kann ein Knoten in G0 bis zu |Γ(P0 )| · Q Nachbarn
haben. Hier können wir nicht mehr von einer eindeutigen Herkunft
eines Knotens sprechen: Der selbe Knoten kann in verschiedenen
Anwendungen auf verschiedenen Bedingungen aus
Ψ0
PCPP-
auftreten. Wie
wir bei der Bestimmung der Nachbarschaft gesehen haben, muss der
Verizierer alle
V
PCPP-Anwendung simulieren, in denen ein Knoten v 0 ∈
(Ψ0 ) beteiligt ist. Wir müssen also Folgendes spezizieren können:
•
Zuerst die Bedingungen in
Ψ0 , die v 0
enthalten. Diese Bedingungs-
0
menge C(v ) wird von folgender Kantenmenge getragen
E(v 0 ) := {u0 , v 0 } | u0 ∈ NΓ (v 0 ) .
Eine Bedingung in
E(v 0 )
ist also eindeutig durch ein Paar (τ, j0 )
festgelegt.
•
dem
C(v 0 )
•
τ0 ∈ Γ(P0 ), mit denen wir P0 nach
0
Robustizationsschritt mittels ecc auf jede Bedingung c ∈
Alle Zufallszeichenketten
anwenden.
B0
Ob Knoten in
kleine oder groÿe Variablen sind und welche
Nachbarn sie haben.
Ein Tripel
(τ, j0 , τ0 ) charakterisiert eine PCPP-Anwendung P0 (c(τ, j0 , τ0 )).
Hier unterscheiden wir zwischen groÿen Variablen mit dem Eintrag
l0 = 0
und kleinen Variablen mit einem Eintrag
Variablen stellen die
q0
l0 = 1.
Die Groÿen
Bits, die bei einer Anwendung angefragt wer-
den. Die kleinen Variablen stellen die Bits aus der Eingabe und aus
dem Beweis für
P0 .
Wegen des mehrfachen Vorkommens von Bits aus
der Eingabe in verschiedenen
PCPP-Anwendungen
74
können wir keine
einheitliche Adressierung der Knoten von
V0
vornehmen. Dieses Pro-
blem wird aber auf natürlicher Weise in dem nächsten Schritt gelöst,
nämlich bei der Duplizierung der Knoten, die zum Graphen
4.
•
τ, j0
{b(τ ), xj0 }.
Das Paar
Der Wert
c0
•
•
τ0
speziziert eine Bedingung
c0 ∈ Ψ0
über die Kante
speziziert eine Zufallszeichenkette, mit der
P0
auf
angewandt wird.
Der Wert l0 ist gleich
1
Wert
0
für groÿe Variablen und nimmt sonst den
an.
Der Wert m0 legt die externe Kante fest, die aus w ausgeht: Falls
w eine groÿe Variable b(τ0 ) darstellt, dann speziziert der Wert
m0 ∈ [1..q0 ] das m0 -te angefragte Bit bei der zugrunde liegenden PCPP-Anwendung P0 (c(τ, j0 ), τ0 ). Falls w eine kleine Variable darstellt, dann ist er mit der Kopie der groÿen Variable bc (τ0 )
verbunden, die durch c := c(τ, j0 ) und τ0 festgelegt ist. Der Wert
m0 ∈ [1..q0 ] besagt dann, dass w die m0 -te kleine Variable in
Anf(P0 (c, τ0 )) ist.
Hi,2 , Hi,3 :
Die Knotenmengen dieser Graphen sind gleich der Knoten-
menge von
6.
führt.
H1,1 : An dieser Stelle müssen die Kopien w ∈ [v0 ] eines Knotens
v0 ∈ G0 adressiert werden. Wir vergeben jedem Knoten w ∈ [v0 ] einen
Eintrag p0 := (τ, j0 , τ0 , l0 , m0 ), der folgende Werte festlegt:
•
5.
H1,1
Hi,1 ,
die wir im Folgenden betrachten werden.
Hi,4 = Hi+1,0 : Die Graphen Hi+1,0 für i = 1, . . . , k − 1 entstehen durch
die PCPP-Anwendungen Pi auf die Bedingungsmengen Ci,3 . Jede Anwendung Pi (ci , τi ) ist durch eine Bedingung ci ∈ Ci,3 und eine Zeichenkette τi ∈ Γ(Pi ) charakterisiert. Die Knoten von Hi,4 unterteilen sich
in groÿe Variablen mit einem Eintrag li = 0 und in kleine Variablen
mit einem Eintrag li = 1. Hier entsteht das selbe Adressierungsproblem
wie bei G0 : Bits können mehrfach in PCPP-Anwendungen vorkommen.
Dieses Problem lösen wir analog im Duplizierungsschritt.
7.
i = 1, . . . , k − 1: Wir betrachten die Kopie v ∈ Vi+1,1 eiw ∈ Vi+1,0 = Vi,4 , d.h. v ∈ [w]. Sei {v, v 0 } die externe
Kante in Ei+1,1 , die aus v ausgeht. Diese Kante entspricht einer Kante
{w, w0 } ∈ Ei,4 . Wir müssen die Knoten in Vi+1,1 so adressieren, dass
diese Kante aus der Adresse von v eindeutig festzulegen sei. Wir vergeben v einen Eintrag (p0 , . . . , pi−1 , pi ) mit pi := (ji , τi , li , mi ), so dass
Hi+1,1
für
nes Knotens
folgende Bedingungen erfüllt werden:
•
Die Werte
Ci,3 .
(p0 , . . . , pi−1 )
und
ji
spezizieren eine Bedingung
Diese Bedingung ist über die Kante
75
{u, u0 }
ci ∈
deniert mit
Adr(u) = (p0 , . . . , pi−1 ) und u0 ist der ji -te Nachbar von u in
Vi,3 . Da der Grad von Vi−1,3 gleich Dt ist, nimmt ji einen Wert
t
in [1..D ] an.
•
Der Wert
τi
speziziert eine Zufallszeichenkette, mit der
Pi
auf
ci
angewandt wird.
•
Der Wert li ist gleich
•
Der Wert
log zu
mi
m0
0
bzw.
1
für groÿe bzw. kleine Variablen.
legt die externe Kante, die aus
ist
mi
ein Wert in
[1..qi ],
ausgeht fest: Ana-
der den Index der kleinen
bc (τi ) darstellt, dann
Anf(Pi (c, τi )) verbunden. Falls v
0
eine kleine Variable darstellt, dann ist er mit der Kopie v einer
groÿen Variable bc (τi ) verbunden und v ist die mi -te Variable in
Anf(Pi (c, τi )) für die Bedingung c, die durch pi−1 und ji charakterisiert ist. Die Abschnitte li (v) und mi (v) charakterisieren also
Variable festlegt. Falls
ist
v
mit der
mi -ten
v
v
eine groÿe Variable
Variable in
die Art (groÿe oder kleine Variable) eines Knotens und seinen
externen Nachbar.
Abbildung 4.6 zeigt ein Muster der Adressierung eines Knoten. Der Vorteil
dieser Adressierung liegt darin, dass die Adresse eines Knotens sowohl Aufschluss über seine Vergangenheit als auch seine Zukunft gibt.
pi
p0
τ
j0
τ0
Bevor wir in
l0
m0
......
ji
τi
li
mi
000
Abbildung 4.6: Musteradresse eines Knoten.
Abschnitt 4.3.3 die eigentliche Berechnung der Knotenadressen behandeln,
analysieren wir die Komplexität dieser Adressierung und ihre Kompatibilität
mit unserer angestrebten polylog-Verikationszeit.
4.3.2 Komplexität der Knotenadressierung
p0 = (τ, j0 , τ0 , l0 , m0 ) und k = O(log log n) Abschnitte pi = (ji , τi , li , mi ) (i = 1, . . . , k ). Der letzte Abschnitt pk speziziert
eigentlich Knoten in dem nicht konstruierten Graphen Hk+1,1 . Wir können
aber die Knoten in Gk = Hk,4 nicht explizit adressieren. Deswegen führen
wir gedanklich die Knoten-Duplizierung aus, die den Graphen Gk+1,1 erEin Adressenfeld umfasst
zeugt, und wählen in ihm eine Kante aus. Für diesen Schritt büÿen wir nur
einen Faktor
0 < β0 < 1
in der Erfüllbarkeitslücke (siehe Gleichung (3.1)).
76
Der Einfachheit halber sprechen wir aber weiter von der Wahl einer Kante in
Ck . Als Datenstruktur können wir uns ein Array vorstellen, in dem auf einen
Eintrag über seinem Index zugegrien wird. Wir untersuchen jetzt die Länge
der Teilarrays, die wir für jeden Abschnitt reservieren werden. Es bezeichne
Arr(a)
die Länge des Teilarrays für einen Adressenabschnitt
die Länge des Arrays für die Adresse eines Knotens
• Arr(τ ) = R = log n + O(log log n),
Verizierer P ist.
wobei
R
(a)
und
Arr(v)
v:
die Zufälligkeit vom
PCP-
• Arr(j0 ) = dlog Qe = O(log log n), da |NΓ (τ )| = Q, wobei Q = poly log n
die Anfragekomplexität von P ist.
• Arr(τ0 ) = r0 = O(log log n),
r(ecc) = O(1).
• Arr(ji ) = dlog Dt e,
denn
da ein Knoten in
• Arr(τi ) = ri = O(log(|Σ0 |D
dt/2e
r0 = O(log(2 · r(ecc) · Q))
Vi,3
genau
Dt
Nachbarn hat.
)) für i = 1, . . . , k . Da |Σ0 |, D
t uniArr(τi ) =
und
verselle Konstanten sind, können wir eine einheitliche Länge
O(1)
und
vereinbaren.
• Arr(li ) = 1
für
i = 0, . . . , k :
Dieses Bit speziziert nur, ob ein Knoten
einer groÿen oder einer kleinen Variable entspricht.
• Arr(mi ) = dlog qi e = O(1)
für
i = 0, . . . , k .
Arr(v) des Arrays für eine Knotenadresse. Da
i < k = O(log log n) mit Nullen ausgefüllt
einheitliche Länge und gleicht Arr(vk ) für vk ∈ Hk,j . Es
Analysieren wir jetzt die Länge
das Feld für Knoten in
wird, ist
Arr(v)
eine
Hi,j
mit
gilt:
Arr(v) = Arr(p0 ) + k · Arr(pi )
= Arr(τ ) + Arr(j0 ) + Arr(τ0 ) + Arr(l0 ) + Arr(m0 ) +
k · (Arr(ji ) + Arr(τi ) + Arr(li ) + Arr(mi ))
= log n + O(log log n) + k · O(1)
= log n + O(log log n).
Nun müssen wir untersuchen, wie der Verizierer die Adressen der Knoten
berechnen kann, die er im Laufe seines Protokolls betrachtet.
4.3.3 Berechnung der Knotenadressen
Wir zeigen in diesem Abschnitt, wie der Verizierer die Adressen der von
ihm besuchten Knoten berechnen kann, ohne die ganzen Bedingungsgraphen
77
bilden zu müssen. Wir setzen die Ordnungen aus dem Abschnitt 4.2.2 voraus.
Ferner verfügt der Verizierer über eine Prozedur, die in
poly log n
Zeit das
i-te Element der Generatormenge eines (n, d, λ)-Expandergraphen bestimmt
(siehe Abschnitt 1.2.2). Wir betrachten nochmal die möglichen Nachbarschaften eines Knoten, die wir in Abschnitt 4.2.1 deniert haben:
1. Nachbarschaft in
Ψ
bzw.
Ψ0 :
In beiden Bedingungsmengen sind die
Nachbarn eines Knotens durch seine Ramanujan-Nachbarschaft in dem
Γ := G(Γ(P)) bestimmt. Der Graph Γ ist ein Cayley-Graph
C(H, S) mit H eine Gruppe der Gröÿe |H| = |Γ(P)| und S := Gen(Γ)
eine Generatormenge von H mit |S| = dRam .
Graphen
jr ∈ [1..dRam ]
0
und jq ∈ [1..q(VRS )] und speziziert damit eine Bedingung in Ψ : Der
Wert jr speziziert ein τr ∈ NΓ (τ ) und jq speziziert ein Bit x in
Anf(VRS (τr )). Wir fassen diese zwei Schritte zusammen und sagen, dass
V einen Wert j0 ∈ [1..Q] auswählt und damit eine Bedingung c(τ, j0 ) ∈
Ψ0 bestimmt. Zur Erinnerung: Q = dRam · q(VRS ) = |Anf(P)|.
Der Verizierer wählt ein
Die groÿe Variable
P(τ )
b(τ )
τ ∈ Γ(P)
und zwei Werte
wird bei der Simulation der
deniert. Die kleine Variable
die Ramanujan-Nachbarschaft in
zwischen den Elementen von
S
Γ
xj0
PCP-Anwendung
ergibt sich folgendermaÿen: Da
geordnet ist, gibt es eine Bijektion
und den Indizes der Nachbarn, d.h
jr ∈ [1..dRam ] entspricht eindeutig einem Element s ∈ S . Die Ordnung
von H induziert eine Ordnung von Γ(P), so dass es auch eine Bijektion
zwischen H und Γ(P) gibt. Es bezeichne h(τ ) das eindeutige Element
in H , das τ entspricht. Die Summe h(τ ) + s ergibt einen Wert hr ∈ H ,
das einem Element τr ∈ Γ(P) entspricht. Die kleine Variable xj ist
dann das jq -te Element in Anf(VRS (τr )).
Vi+1,1 : Der Verizierer verfüge über die Adresse Adr(u) =
(p0 , . . . , pi = (ji , τi , li , mi )) eines Knotens u ∈ Vi+1,1 . Der Knoten
u hat d0 Expandernachbarn vj (j = 1, . . . , du ) in dem (du , d0 , λ0 )Expandergraphen X(du ) und einen externen Nachbarn v0 . Der Graph
X(du ) ist ein Cayley-Graph mit Gruppe H (|H| = du ) und Generatormenge S (|S| = d0 ). Wir unterscheiden zwei Fälle:
2. Nachbarschaft in
(a)
li = 0 (u
•
ist die Kopie einer groÿen Variable
bc (τi )):
Der externe Nachbar ist die kleine Variable mit dem Index
mi in Anf(Pi (c, τi )), wobei die
ji deniert ist. Wir erhalten:
Bedingung
c
durch
pi−1
und
Adr(v0 ) = Adr(u) ⊕ li = (p0 , . . . , pi−1 , pi (v0 ) = (ji , τi , 1, mi )) .
•
vj sind Kopien von b(τi ), die mit anderen Variablen aus Anf(Pi (c, τi )) verbunden sind. Der Index
Die Expandernachbarn
78
j ∈ [1..d0 ] und mi (u) ∈ [1..qi ] (du = qi ) liefern eindeutige
Elemente sj ∈ S und h(u) ∈ H . Die Summe h(u) + sj deniert ein Element h(vj ) ∈ H , das bijektiv auf einen Wert
m ∈ [1..qi ] abgebildet werden kann. Die Adresse von vj ist
dann
Adr(vj ) = (p0 , . . . , pi−1 , pi (vj ) = (ji , τi , 0, m)) .
(b)
li = 1 (u
•
ist eine kleine Variable
vl ):
Der externe Nachbar ist die groÿe Variable
Index
und
ji
mi
in
Anf(Pi (c, τi )),
b(τi ) mit dem
c durch pi−1
wobei die Bedingung
deniert ist. Wir erhalten:
Adr(v0 ) = Adr(u) ⊕ li = (p0 , . . . , pi−1 , pi (v0 ) = (ji , τi , 0, mi )) .
•
deren
vj sind Kopien von u, die von anPCPP-Anwendungen Pi gelesen wurden. Der Grad du
u
wurde in Abschnitt 4.2.2 berechnet, in dem auch eine
Die Expandernachbarn
von
(e
j, τe, m)
e und s ∈ [1..du ] deniert
wurde.
Der Index j ∈ [1..d0 ] und der Tripel (ji , τi , mi ) liefern eindeutige Elemente sj ∈ S und h(u) ∈ H . Die Summe
h(u) + sj deniert ein Element h(vj ) ∈ H , das bijektiv auf
einen Wert e
j ∈ [1..du ] abgebildet werden kann. Dieser Wert
charakterisiert eindeutig eine PCPP-Anwendung Pi (e
c, τe, m)
e ,
e
wobei e
c durch pi−1 und j deniert ist. Die Adresse von vj ist
Bijektion zwischen Tupeln
12
dann
Adr(vj ) = p0 , . . . , pi−1 , pi (vj ) = (e
j, τe, 1, m)
e .
Expi : Wir betrachten einen Knoten u ∈ Vi,1 und den
Cayley-(|Vi,1 |, d1 , λ1 )-Expandergraphen Expi := C(H, S) mit |H| =
|Vi,1 | und |S| = d1 . Der Verizierer wählt ein Element s ∈ S und
interpretiert Adr(u) als Element von H . Die Summen Adr(u) + s ergibt einen Wert h(v). Dieser Wert wird als Adresse Adr(v) gemäÿ den
Abschnitten (p0 , . . . , pi ) interpretiert. An dieser Stelle müssen wir uns
3. Nachbarschaft in
fragen, ob die erhaltene Adresse immer semantisch sinnvoll ist, d.h,
ob diese Adresse einem tatsächlichen Knoten in
Vi,1
entspricht. Dafür
müssen wir die Knotenadressierung auf Korrektheit untersuchen: Ist
jede binäre Zeichenkette der Länge
Arr(v)
die Adresse eines Knoten?
Das Feld einer Adresse ist in Abschnitte fester Länge unterteilt. Wir
zeigen, dass jede Belegung eines Feldes eine semantisch korrekte Interpretation hat. Davor müssen wir ein kleines technisches Problem lösen:
12
In Abschnitt 4.2.2 heiÿen die Tupel
(ji , τi , li )
zu verwechseln).
79
(nicht mit dem
li
in diesem Abschnitt
|Γ(P)|, |Γ(Pi )|
Die Werte
und
|li | (i = 0, . . . , k)
sind Zweierpotenzen.
Ihre Teilarrays sind also vollständig belegt: Jede binäre Zeichenkette
entspricht einem Wert in den jeweiligen Domänen. Dagegen sind die
Kardinalitäten der Wertebereiche
[1..qi ]
für
mi
(für
j0 ), [1..Dt ]
(für
ji )
und
keine Zweierpotenzen. Daher wird die Länge der entspre-
chenden Teilarrays aufgerundet:
und
[1..Q]
Arr(mi ) = dlog qi e.
Arr(j0 ) = dlog Qe, Arr(ji ) = dlog Dt e
Diese Teilarrays sind also nicht vollständig
belegt. Für dieses Problem gibt es zwei Lösungen:
Dt
•
Wir fordern, dass
•
Wir kodieren diese Werte mit einem fehlerkorrigierenden Code
Q, qi
und
Zweierpotenzen seien.
ecc
mit linearer Rate und Codewortlänge, so dass die Kardinalität des
Coderaums eine Zweierpotenz sei (ecc
: Σ → {0, 1}l ).
Wir können also voraussetzen, dass jedes Teilarray vollständig belegt
ist. Die Adresse
Adr(w) = (p0 , . . . , pi−1 , pi = (ji , τi , li , mi ))
kann fol-
gendermaÿen rekursiv interpretiert werden:
• (p0 , . . . , pi−1 )
•
v
Sei
Ci,3
•
Sei
in
Vi−1,3 .
ji -te Nachbar von u in Vi−1,3
von {u, v} getragen wird.
die Bedingung
tion auf die
•
u
der
die
e
sei ein Knoten
Der Wert
li
mi -te
Pi (c, τi , mi )
und
c
(entspricht
die Bedingung aus
Pi (c, τi )
mit Projek-
Variable.)
legt fest, ob
w
die kleine oder die groÿe Variable in
dieser Bedingung ist.
Wegen der vollständigen Belegung existieren alle behaupteten Werte
und jede binäre Zeichenkette der Länge
Knotens in
Vi+1,1 .
Arr(w) ist
die Kodierung eines
Somit hat der Verizierer eine globale Adressierung
der Knoten und kann die Adressen der Expandernachbarn durch eine
einfache Gruppenaddition berechnen, obwohl er keine Informationen
über die Entstehungsgeschichte dieser Nachbarn hat.
4. Powering: In diesem Schritt geht der Verizierer von einer Kante
{u2 , v2 } ∈
Ei,2 aus und bildet einen zufälligen t-Pfad in Ei,2 , der einer Kante
{u3 , v3 } ∈ Ei,3 entspricht. Die Adressen von u3 und v3 lassen sich mit
der Vorschrift für die Adressbestimmung in den zwei vorigen Absät-
V einen Knoten w erreicht, wählt er zufällig ein
M (w) := Gen(Expi ) ∪ Gen(X(dv )) ∪ self ∪ ext, wobei die
Elemente self bzw. ext für die Wahl einer Selbstschleife bzw. einer externen Kante (entspricht einer Kante in Ei,0 ) stehen. Bei jeder Wahl
0
kann V aus Adr(w) die Adresse Adr(w ) des nächsten Knotens auf dem
t-Pfad berechnen.
zen berechnen: Wenn
Element aus
Adr(u3 ) und Adr(v3 ) muss V
über {u3 , v3 } deniert ist. Zur
Nach der Berechnung von
aus
Ci,3
berechnen, die
80
die Bedingung
Erinnerung ist
eine Bedingung
u3
und
v3
ce (σ(u), σ(v)) ∈ Ci,3
durch die
t/2-Nachbarschaft
von
induziert und ist genau dann erfüllt, wenn
1. ∀eu ∈ {w1 , w2 } ∈ Ei,2 | w1 , w2 ∈ Nt/2 (u) : ceu (σu (w1 ), σu (w2 )) = T
2. ∀ev ∈ {w1 , w2 } ∈ Ei,2 | w1 , w2 ∈ Nt/2 (v) : cev (σv
(w1 ), σv (w2 )) = T
3. ∀e ∈ {w1 , w2 } ∈ Ei,2 | w1 ∈ Nt/2 (u), w2 ∈ Nt/2 (v) : ce (σu (w1 ), σv (w2 )) = T
Der Verizierer berechnet zu erst die Adresse aller Knoten in
Nt/2 (u3 ) ∪ Nt/2 (v3 ).
Die Adressbestimmung der Knoten in
N
N :=
N0
und
Adr(w0 ). Bei jedem Schritt
wählen wir aber nicht ein zufälliges Element aus M (w), sondern wir
berechnen die Adresse aller Nachbarn von w in Ei,2 , d.h wir führen die
Berechnung für alle Elemente in M (w) durch.
ist analog zu der obigen Berechnung von
Danach bestimmt
knoten in
N
V
die Kantenmenge, die aus allen Kanten mit End-
besteht. Nun kann
V
die obige Fallunterscheidung durch-
führen und die Eingaben der Bedingungen festlegen, die durch
ziert werden. Eigentlich entscheidet
u3
den Knoten
bzw.
V
N
indu-
für die Endknoten jeder Kante
v3 , dessen Meinung σu3
bzw.
σ v3
zu beachten ist.
Die Schaltkreise dieser Bedingungen werden in den Adressen der Endknoten implizit kodiert: Bedingungen über Selbstschleifen und Expanderkanten
Expi sind trivial. Die Bedingungen über Expanderkanten aus
der Knoten-Duplizierung (X(dv )) sind Gleichheitsbedingungen. Externe Kanten tragen Bedingungen, die durch
PCPP-Anwendungen der vo-
rigen Iteration deniert sind.
5.
PCPP-Anwendung Pi
: Die Variablen, die aus einer
PCPP-Anwendung
resultieren, lassen sich durch einen Tupel (ji , τi , li , mi ) vollständig charakterisieren, wie wir in dem Absatz Nachbarschaft in
Expi gesehen
haben. Gleichzeitig wird die Bedingung bestimmt, die diesen Knoten
mit seinem externen Nachbarn verbindet:
c= (b
c (τi )↓mi , xmi ), wobei
Wir haben gesehen, wie
V
c
durch
pi−1
und
Pi (c, τi , mi ) := Pi (c, τi ) ∧
ji deniert wird.
die Adressen der von ihm erreichten Knoten be-
rechnen kann und wie er aus diesen Adressen die induzierten Bedingungen
berechnen kann. Auf diese Art kann der Verizierer den Schaltkreis für eine
Bedingung in
Ck
aufstellen. Im nächsten Abschnitt analysieren wir die Ei-
genschaften des resultierenden Verizierers, insbesondere seine Laufzeit und
seine Korrektheit.
4.4 Analyse des Verizierers
V : Der Verizierer
e
wählt sukzessiv eine Kante e im Teilgraphen Hi,j (i ∈ [0..k], j ∈ [1..4]) bis
e k,4 wählt. In jedem Schritt kann V den Schaltkreis für
er eine Kante ek ∈ H
Zunächst erinnern wir erst kurz an das Protokoll von
81
die Auswertung dieser Kante berechnen: Er reduziert jede Bedingung auf die
Kombination von Bedingungen, die sich in drei Klassen einteilen lassen:
•
Triviale Bedingungen: auf Selbstschleifen und Expanderkanten aus
•
Gleichheitsbedingungen: auf den Expanderkanten aus
Expi .
X(du ) (Knoten-
Duplizierung) und bei den Projektionen der groÿen Variablen auf kleine
Variablen (σ(b(τi ))↓l
• PCP-
!
= σ(xl )).
PCPP-Anwendungen:
Ausführung von P bzw. Pi .
bzw.
auf den externen Kanten nach der
Wir haben in Abschnitt 4.1.3 den Aufwand für jede Art Bedingungen bestimmt. Nun müssen wir den Gesamtaufwand für eine Verikation berechnen.
In Abschnitt 4.4.2 analysieren wir anschlieÿend die übrigen Parameter des
PCP-Verizierers.
4.4.1 Analyse der Laufzeit
In diesem Abschnitt beweisen wir die Hauptaussage der vorliegenden Arbeit:
Wir zeigen, dass die Laufzeit des entworfenen Verizierers polylogarithmisch
ist. Sei
T (c)
der Zeitaufwand für die Berechnung einer Bedingung
Ziel ist eine worst-case Abschätzung für
T (c)
für
c ∈ Ck
c.
Unser
zu berechnen.
k = O(log log n) Iterationen des Ausdehnungssatzes 3.2
durch. In der i-ten Iteration ist die Bedingung ci,4 das Ergebnis einer PCPPAnwendung Pi (ci,3 , τi , mi ) mit einem Aufwand T (ci,4 ) = T (Pi ) + T (ci,3 ) =
poly |ci,3 | + T (ci,3 ) = K + T (ci,3 ) für eine Konstante K = poly Dt , da D und
t Konstanten sind.
Der Verizierer führt
Die Eingabe
ci,3
für
Pi
Der Aufwand für die Berechnung von
Eine Bedingung in
Ci,2
ci,3
ist
hat entweder einen konstanten Aufwand (Expander-
kante oder Selbstschleife) oder sie stammt aus
C · T (ci,1 )
O(Dt ) Bedingungen aus Ci,2 .
t
also T (ci,3 ) = O(D ) · T (ci,2 ).
ist die Konjunktion von
für eine Konstante
C = O(Dt ).
Ci,1 . Also bisher gilt: T (ci,3 ) =
ci,1 ist wiederum
Eine Bedingung
entweder eine Gleichheitsbedingung mit konstantem Aufwand oder stammt
aus
Ci,0 = Ci−1,4 .
Wir haben eine Rekursionsvorschrift erhalten um
T (ci,4 ) zu berechnen, näm-
lich
T (ci,4 ) = K + C · T (ci−1,4 ).
Daraus schlieÿen wir:
T (c) = T (ck,4 ) = K ·
Ck − 1
+ C k · T (c0,0 )
C −1
82
(4.2)
Da
P0
PCPP-Anwendung
eine polynomielle
ist und
P
eine polylogarithmi-
sche Laufzeit hat (siehe Abschnitt 2.6), ist der Aufwand für eine Bedingung in
C0,0 gleich T (c0,0 ) = T (P0 )+T (c= )+T (P) = poly log n. Für k = O(log log n)
k
ist C = poly log n. Für c ∈ Ck ergibt sich also ein Gesamtaufwand von:
T (c) = O(1) · poly log n + poly log n · poly log n = poly log n
Der Verizierer braucht also
poly log n
Zeit, um eine Bedingung
(4.3)
c ∈ Ck
zu
berechnen. Im nächsten Abschnitt geben wir die restlichen Parameter an:
Zufälligkeit, Anfragekomplexität, Beweislänge, Korrektheit und Vollständigkeit.
4.4.2 Analyse der übrigen Parameter
Die Analyse der Zufälligkeit, Anfragekomplexität, Korrektheit und Vollständigkeit des Verizierers verläuft ganz analog zu der Analyse von Dinurs Verizierer, den wir in Abschnitt 3.3 vorgestellt haben.
•
r:
log n + O(log log n) Bits
O(log log n) Bits wählt V
0
einen j0 ∈ [1..Q], um eine Kante in Ψ festzulegen. Die Wahl von τ0 ∈
Γ(P0 ) benötigt auch r0 = O(log log n) Bits. Für m0 ∈ [1..q0 ] reichen
O(1) Münzwürfe. In dem iterativen Schritt Gi 7→ Gi+1 braucht V in
t
jeder Iteration O(1) Bits, um ji ∈ [1..D ], τi ∈ Γ(Pi ) und mi ∈ [1..qi ]
auszuwählen. Bei k = O(log log n) Iterationen ergeben sich O(log log n)
Bits. Die Zufälligkeit von V ist also r := log n + O(log log n).
Die Zufälligkeit
eine Zeichenkette
•
Der Verizierer wählt mit
τ ∈ Γ(P).
Mit weiteren
q : Der Verizierer liest die Belegung von zwei
uk und vk , die über einem Alphabet Σ0 deniert sind. Er liest
also 2 · |Σ0 | = 2 · qk = O(1), wobei qk die konstante Anfragekomplexität von Pk ist. Der Beweiser würde behaupten, dass alle Bedingungen erfüllt sind, insbesondere c(σ(uk ), σ(vk )) = 1. Deswegen erübrigt
sich eine weitere Abfrage im Beweis. Um eine Korrektheit s = 1/2
zu erhalten kann die Prozedur O(1) Mal wiederholt werden und die
Die Anfragekomplexität
Variablen
Anfragekomplexität vergröÿert sich um einen konstanten Faktor. Die
Anfragekomplexität von
•
•
Die Beweislänge
S
Die Vollständigkeit
der Abbildung
pow
V
ist also
ist gleich
q := O(1).
2r · q = n · poly log n.
c: ergibt sich aus der Vollständigkeit von P, P0
und
aus Abschnitt 3.2. Wir haben nämlich
P
P
pow
0
SAT(Φ) = 0 =⇒ SAT(Ψ) = 0 =⇒
SAT(G0 ) = 0 =⇒ SAT(Gk ) = 0.
Falls der Theoremkandidat
x
die 3-SAT-Formel
kann der Beweiser einen Bedingungsgraphen
83
Gk
Φ
erfüllt (x
∈ L),
aufstellen, so dass alle
Bedingungen in
Ck
erfüllt sind, insbesondere die Bedingung
auswählt und auswertet. Sei
von
V
c,
die
V
die Menge der Zufallszeichenketten
(seiner privaten Münzwürfe). Es gilt:
x ∈ L =⇒
•
Γ(V)
die Korrektheit
s:
Pr [D(σ(uk ), σ(vk )) = 1] = 1
(4.4)
τ ∈Γ(V)
Die Analyse der Korrektheit dieses Verizierers ver-
läuft analog zu der Analyse in Abschnitt 3.3 von Dinurs Verizierer.
Wir müssen nur gewährleisten, dass
D
auswählt und einen Schaltkreis
V
eine zufällige Bedingung
entwirft, der
c
korrekt auswertet.
Das Protokoll in Abschnitt 4.1.2 liefert eine zufällige Kante
Jede Kante in
Ek
c ∈ Ck
ek ∈ Ek :
hat die selbe Wahrscheinlichkeit, ausgewählt zu wer-
den. Die Zufälligkeit von
ek
ergibt sich aus der Zufälligkeit der Wahl
in jedem Schritt des Protokolls: Wahl von
Ψ0 zu bestimmen, Wahl von
τ0 , m 0
τ, j0
um eine Bedingung in
für eine Bedingung in
C0 ,
usw.
Die Zufälligkeit wird auch durch die Struktur der Knotenadressen er-
Arr(v) entspricht einem
uk ∈ Vk . Der Nachbar vk dieses Knoten ist eindeutig durch (pi )
Adr(uk ) bestimmt: groÿe Variablen sind mit kleinen Variablen ver-
sichtlich: jede binäre Zeichenkette der Länge
Knoten
in
bunden und umgekehrt. Da die Felder für Knotenadressen vollständig
belegt sind, kann der Verizierer folgendes Protokoll ausführen:
Wähle eine zufällige Zeichenkette
Interpretiere
Setze
a
als Adresse
Adr(uk )
Adr(vk ) := Adr(uk ) ⊕ lk
Berechne den Schaltkreis
Akzeptiere, falls
D = 1,
a
D
der Länge
Arr(v),
eines Knoten
uk ,
(invertiere das Bit lk ),
für die Bedingung
c
über
{uk , vk }.
und lehne sonst ab.
Die Berechnung des Schaltkreises folgt dann der Vorgehensweise in Abschnitt 4.1.3, aber in umgekehrter Richtung: statt eine Bedingung aus
Ck
in kleine Schaltkreise zu zerlegen, wird der Schaltkreis aus kleinen
Bausteinen zusammengestellt, die der Verizierer ezient aufstellen
kann. Das Protokoll in Abschnitt 4.1.2 veranschaulicht lediglich die
Logik hinter der Wahlen des Verizierers.
Wir haben mit den obigen Analysen den Beweis von unserem Hauptsatz
1.8 beendet. Im nächsten Abschnitt fassen wir die wichtigsten Ergebnisse
zusammen und sprechen einige oene Probleme an.
84
Kapitel 5
Fazit und Ausblick
Nach der formalen Denition von
PCPs und einiger Hilfsmittel aus der Graphen-
und Kodierungstheorie haben wir den bisher ezientesten algebraischen mit
dem ersten kombinatorischen Ansatz zur
PCP-Verikation von NP-Sprachen
PCP-
untersucht, um die Vorzüge jedes Ansatzes in einer best-of-both
Konstruktion zu kombinieren.
•
Aus [Din05] übernehmen wir die informationstheoretische Ezienz von
Expandergraphen: Mittels Expandisierung bzw. Powering werden die
Informationen (Variablenbelegungen) global bzw. hinreichend über den
Bedingungsgraphen verteilt. Diese Zerstreuung erschwert die Aufgabe eines unehrlichen Beweisers und erhöht somit die Korrektheit des
Verizierers, die sich als Erfüllbarkeitslücke von Bedingungsgraphen
ausdrücken lässt.
•
+
Aus [BGH 05] übernehmen wir die schnelle Auswertung und den efzienten Low-degree-Test von Polynomen, die über gut strukturierten Körpern deniert sind (Eigenschaften von
Fn
und
hωn i
in Kapitel
2). Diese algebraische Eigenschaften liefern polylogarithmische BasisVerizierer
VRS ,
die als Grundbausteine unserer Konstruktion dienen.
Ferner haben wir durch geeignete Strukturierung den Beweiser stark eingeschränkt: Die Platzierung von Kanten und Knoten, die durch Operationen
auf Graphen entstehen, soll einer vorgegebenen kanonischen Ordnung unterliegen. Wir erreichen dadurch zwei wichtige Ziele: Einerseits haben wir die
Möglichkeiten für Täuschungsmanöver eines unehrlichen Beweisers reduziert,
und andererseits kann der Verizierer blind aber frei in den Bedingungsgraphen spazieren. Es genügt ihm also die Bildung eines Teilgraphen anstelle
des ganzen Bedingungsgraphen
Gk , um seinen Schaltkreis aufzustellen. Diese
Strukturierung kommt hauptsächlich an folgenden Stellen zum Vorschein:
85
•
Implementierung der Expandergraphen
Γ, Expi
und
X(du )
als Cayley-
Graphen, die eine lokale Berechnung der Nachbarschaft eines Knotens
und somit eine eziente Erzeugung von Teilgraphen ermöglichen.
•
Ordnung der Nachbarschaft eines Knoten und der
t-Pfade,
die aus ei-
nem Knoten ausgehen.
•
Ordnung der Ausführungen von
PCPP-Anwendungen
und der jeweils
angefragten Bits.
Das Ergebnis dieser Arbeit ist der Entwurf des theoretisch bisherigen besten
PCP-Verizierers mit Anfragekomplexität q = O(1), Zufälligkeit r = log n +
O(log log n), Beweislänge S = n · poly log n und Laufzeit T = poly log n.
Dieser PCP-Verizierer erreicht die theoretischen unteren Grenzen der Pa1
rameter q, S und T : Jeder Verizierer muss mindestens O(1) Bits lesen,
braucht mindestens poly log n-Zeit um in dem Beweis und in der Eingabe die
anfragten Bits zu indizieren und den Schaltkreis D auszuwerten. Betreend
der Beweislänge gibt es keinen informationstheoretischen Beweis für die Optimalität von
S = n · poly log n.
Wir zitieren aber folgende Vermutung aus
+
[BGH 05]:
In terms of the length of the proof, a polylogarithmic factor is
perhaps the best one can hope, given our current inability to get
tighter completeness results for non-deterministic computation:
E.g., even in a classical reduction to SAT, one looses a polylogarithmic factor in the length of the proof.
Abschlieÿend wollen wir noch kurz einige weiterführende Fragestellungen ansprechen, die als Leitfaden für zukünftigen Forschungsarbeiten dienen könnten.
1. Gibt es eine rein kombinatorische
PCP-Konstruktion
mit den selben
Parametern wie unsere? Die astronomischen Konstanten aus den al-
PCPP-Anwendungen Pi und
PCP-Anwendung P enthalten (S(VRS ) = n · (log n)C mit C =
7.007·1010 ) und führen nach wie vor zu praktisch nicht einsetzbaren
gebraischen Konstruktionen sind in den
in der
hybriden Konstruktionen wie unsere und Dinurs. Eine rein kombinatorische Konstruktion könnte kleinere Konstanten induzieren.
2. Warum nehmen wir den Umweg
iterativen Schritt
1
Gi−1 → Gi
P
bevor wir den
ausführen? In der vorliegenden Arbeit
PCP-Konstruktionen werden die Exponenten der polylogarithO-Kalkül betrachtet: Alle Funktionen mit
poly log n (inklusiv log n) gehören zu der selben Klasse.
In der Literatur über
mischen Funktionen, wie die Konstanten im
Laufzeit
P
Φ → Ψ → Ψ0 →0 G0 ,
86
ist unser Ziel einen
PCP-Verizierer
mit polylogarithmischer Laufzeit
zu entwerfen. Dafür ist die Cayley-Struktur des Ramanujan-Graphen
Γ,
in den
Γ(P)
eingebettet wurde, unentbehrlich. Dieser Graph tritt
P(τ )
VRS (hit(τ )) :=
aber erst bei dem
hitter-Algorithmus
Q
deniert. Daher haben wir den genannten Umweg
τi ∈NΓ (τ ) VRS (τi )
auf, der
als
genommen.
Wenn wir uns aber mit einer polynomiellen Laufzeit begnügen, könnten
wir direkt
Φ
in
G0
überführen: Der algebraische Basis-Verizierer
VRS
hat nämlich eine konstante Anfragekomplexität und eine Korrektheit
1/poly log n. Seine Anwendung mit allen τ ∈ Γ(VRS ) und eine anschlieÿende Variablenaufblähung auf einem konstantem Alphabet der Gröÿe
|Σ0 | = q(VRS ) = O(1) erzeugt einen Bedingungsgraphen G0 mit den
Parametern |Σ0 | = O(1) und SAT(G0 ) ≥ 1poly log n. Diese sind die Parameter von G0 , wenn der oben genannte Umweg genommen wird. Für
VRS
einen polynomiellen Verizierer wäre die Konstruktion mit Φ → G0
also einfacher und ezienter.
PCP-Konstruktion mit den selben Parametern wie VRS
(q = O(1), s = 1/poly log n und T = poly log n), die aber strukturier-
3. Gibt es eine
ter wäre? In anderen Worten soll jedes Bit aus der Eingabe und aus
dem Beweis eine lokal berechenbare Nachbarschaft haben. Eine solche
Konstruktion würde uns den Umweg
P
die polylogarithmische Laufzeit einzubüÿen.
87
P
Φ → Ψ → Ψ0 →0 G0
sparen, ohne
Literaturverzeichnis
[AC88]
Noga Alon and Fan R. K. Chung. Explicit construction of linear
sized tolerant networks.
+
[ALM 92]
Discrete Math., 72(1-3):1519, 1988.
11
Sanjeev Arora, Carsten Lund, Rajeev Motwani, Madhu Sudan,
and Mario Szegedy. Proof verication and hardness of approximation problems. In
puter Science,
IEEE Symposium on Foundations of Com-
pages 1423, 1992.
1, 3, 4, 5, 6, 8, 9, 21, 45,
55
[Alo86]
Noga Alon. Eigenvalues and expanders.
Combinatorica, 6:8396,
1986. 12
[AM84]
Noga Alon and Vitali D. Milman. Eigenvalues, expanders and
superconcentrators.
Computer Science,
[AS92]
25th Annual Symposium on Foundations of
pages 320322, 1984. 11
Noga Alon and Joel Spencer.
The Probabilistic Method.
John
Wiley, 1992. 12
[Ber68]
Elwyn R. Berlekamp.
Algebraic coding theory.
McGraw-Hill,
New York, 1968. 16
[BFLS91]
László Babai, Lance Fortnow, Leonid A. Levin, and Mario Sze-
STOC
'91: Proceedings of the twenty-third annual ACM symposium on
Theory of computing, pages 2132. ACM Press, 1991. 7, 8, 21,
gedy. Checking computations in polylogarithmic time. In
27
+
[BGH 04]
Eli Ben-Sasson, Oded Goldreich, Prahladh Harsha, Madhu Sudan, and Salil Vadhan. Robust PCPs of proximity, shorter PCPs
STOC '04: Proceedings of the
thirty-sixth annual ACM symposium on Theory of computing,
and applications to coding.
In
pages 110, New York, NY, USA, 2004. ACM Press. 5, 6, 8, 55
+
[BGH 05]
Eli Ben-Sasson, Oded Goldreich, Prahladh Harsha, Madhu Sudan, and Salil Vadhan. Short PCPs veriable in polylogarithmic
88
time. In
plexity,
Proc. 20th IEEE Conference on Computational Com-
pages 120134, San Jose, California, 1215 June 2005.
8, 16, 17, 18, 27, 28, 46, 47, 48, 52, 54, 58, 61, 63, 85, 86
[BS05]
Eli Ben-Sasson and Madhu Sudan.
Simple PCPs with poly-
STOC '05: Proceedings of the
thirty-seventh annual ACM symposium on Theory of computing,
log rate and query complexity. In
pages 266275, New York, NY, USA, 2005. ACM Press.
5, 8,
16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 46, 58
[Coo71]
Stephen A. Cook. The complexity of theorem-proving procedu-
STOC '71: Proceedings of the third annual ACM symposium on Theory of computing, pages 151158, New York, NY,
res. In
USA, 1971. ACM Press. 2
[Din05]
Irit Dinur.
The PCP theorem by gap amplication.
Techni-
cal Report TR05-046, Electronic Colloquium on Computational
Complexity (ECCC), 2005. 8, 9, 12, 16, 17, 23, 29, 31, 40, 45,
46, 47, 52, 53, 54, 59, 85
+
[FGL 91]
U. Feige, S. Goldwasser, L. Lovász, S. Safra, and M. Szegedy. Approximating clique is almost np-complete (preliminary version).
Proceedings of the 32nd annual symposium on Foundations
of computer science, pages 212, Los Alamitos, CA, USA, 1991.
In
IEEE Computer Society Press. 7
[Fri03]
Joel Friedman. A proof of Alon's second eigenvalue conjecture.
STOC '03: Proceedings of the thirty-fth annual ACM symposium on Theory of computing, pages 720724, New York, NY,
In
USA, 2003. ACM Press. 12
[Gol97]
Oded Goldreich. A sample of samplers: A computational perspective on sampling.
Technical Report TR97-020, Electronic
Colloquium on Computational Complexity, May 1997. 12, 25,
26
[Gur04]
Venkatesan Guruswami.
and expander graphs.
[Kol68]
Guest column: error-correcting codes
SIGACT News,
Andrei Nikolaevich Kolmogorov. Three approaches to the quantitative denition of information.
on 1,
[Lin44]
35(3):2541, 2004. 13
Problems Inform. Transmissi-
pages 662664, 1968. 1
U. V. Linnik. On the least prime in an arithmetic progression.
I. the basic theorem.
Mat. Sbornik,
89
15(57):139178, 1944. 19
[LR04]
Zeph Landau and Alexander Russell. Random cayley graphs are
expanders: a simple proof of the alon-roichman theorem.
J. Comb.,
[PS94]
Electr.
11(1), 2004. 13
Alexander Polishchuk and Daniel A. Spielman. Nearly-linear size
In STOC '94: Proceedings of the twentysixth annual ACM symposium on Theory of computing, pages
holographic proofs.
194203, New York, NY, USA, 1994. ACM Press. 8, 22, 55
[Rad05]
Jaikumar Radhakrishnan.
Comment: Gap amplication using
lazy random walks. Technical report, Electronic Colloquium on
Computational Complexity (ECCC), 2005. 59
[Sch80]
Jacob T. Schwartz. Fast probabilistic algorithms for verication
of polynomial identities.
[Sud97]
Madhu Sudan.
J. ACM,
27(4):701717, 1980. 8, 22
Decoding of Reed Solomon codes beyond the
error-correction bound.
Journal of Complexity,
13(1):180193,
1997. 15
[Sud99]
Madhu Sudan.
Vorlesung 16 im kurs 6.893: Approximabili-
ty of optimization problems.
http://theory.lcs.mit.edu/ ma-
dhu/FT99/course.html, 1999. 19
90
Herunterladen