Computational Complexity

Werbung
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Wir stellen fest:
I
Die Wahrscheinlichkeit, dass wir eine bestimmte Kante {vi , vj }
wählen, wenn wir uns auf dem Knoten vi befinden, ist gleich d(v1 i ) .
I
Die Wahrscheinlichkeit, dass wir diese Kante bei unserem t-en
Besuch von vi zum ersten Mal überschreiten ist geometrisch verteilt,
d.h. die Wahrscheinlichkeit, hierfür ist (1 − d(v1 i ) )t−1 · d(v1 i ) .
I
Erwartungsgemäß wählen wir diese Kante bei jedem d(vi )-ten
Besuch von vi .
173
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Für die nun folgenden Untersuchungen über einen randomisierten Lauf
durch einen ungerichteten Graphen benötigen wir noch ein paar
Eigenschaften des Erwartungswerts:
Satz 17 Seien X1 , X2 zwei Zufallsvariablen deren Erwartungswerte
existieren, dann gilt:
1. Für alle c ∈ R existiert der Erwartungswert von c · X1 , und es gilt
E[c · X1 ] = c · E[X1 ].
2. Der Erwartungswert von X1 + X2 existiert, und es gilt
E[X1 + X2 ] = E[X1 ] + E[X2 ].
3. Sind X1 , X2 unabhängig, so existiert der Erwartungswert E[X1 · X2 ],
und es gilt E[X1 · X2 ] = E[X1 ] · E[X2 ].
4. Linearität des Erwartungswerts: Seien X1 , . . . , Xk Zufallsvariablen
und h : Rk → R eine lineare Funktion, dann gilt
E[h(X1 , . . . , Xk )] = h(E[X1 ], . . . , E[Xk ]).
5. Seien X1 , X2 zwei unabhängige Zufallsvariablen und g , h zwei
beliebige Funktionen, dann gilt
E[g (X1 )f (X2 )] = E[g (X1 )] · E[f (X2 )] .
174
Andreas Jakoby
Universität zu Lübeck
I
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Wir wählen g (X1 ) = Ti,i und f (X2 ) = t · (1 −
erhalten
E[g (X1 )f (X2 )] = E[g (X1 )]·E[f (X2 )] =
1
t−1
d(vi ) )
·
1
d(vi ) ,
und
2 · |E |
·d(vi ) = 2·|E | .
d(vi )
I
Zusammenfassend gilt, dass die Kante {vi , vj } im Erwartungswert
nach 2 · |E | Schritten benutzt wird, bzw., dass wir diese Kante bei
einem langen Lauf alle 2 · |E | Schritte von vi nach vj überschreiten.
I
Die Frequenz des Übergangs von vi nach vj ist somit auf einem
1
langen Lauf auf diesem Graphen 2·|E
|.
175
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Lemma 10 Für eine Kante {vi , vj } in G gilt:
E[Ti,j ] + E[Tj,i ] ≤ 2 · |E | .
Beweis von Lemma 10
I
Die erwartete Wartezeit zwischen zwei Überschreitungen der Kante
{vi , vj } von vi nach vj ist durch 2 · |E | beschränkt.
I
Hierfür muss es jedoch auch einen Lauf von vj zurück nach vi
zwischen zwei solchen Überschreitungen geben, d.h. innerhalb dieser
zwei Überschreitungen von {vi , vj }.
I
Die obere Schranke folgt unmittelbar.
176
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Sei Ti,· eine Zufallsvariable, welche einen zufälligen Rundweg durch G
von i nach i angibt, welcher alle Knoten von G besucht. Dann gilt:
Satz 18 E[Ti,· ] ≤ 2 · |E | · (n − 1) .
Beweis von Satz 18
I
Sei H ein spannender Baum von G und
vi0 = vi , vi1 , . . . , vi2n−3 , vi2n−2 = vi ein Pfad in H, welcher alle Knoten
von H besucht (vi0 , vi1 , . . . , vi2n−3 , vi2n−2 traversiert H).
I
Dann ist E[Ti,· ] maximal gleich der erwarteten Zeit eines Laufs, bei
dem wir von vi0 nach vi1 , von vi1 nach vi2 , usw. laufen.
I
Es gilt also:
E[Ti,· ]
I
≤
E[Ti0 ,i1 + Ti1 ,i2 + . . . + Ti2n−3 ,i2n−2 ]
=
E[Ti0 ,i1 ] + E[Ti1 ,i2 ] + . . . + E[Ti2n−3 ,i2n−2 ] .
Bei dieser Rundreise kommt jedes Paar u, v , welches in H durch eine
Kante verbunden ist, einmal in der Reihenfolge u, v und einmal in
der Reihenfolge v , u vor.
177
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beweis von Satz 18 (Teil 2)
I
Wir können mit Hilfe von Lemma 10 den Wert von
E[Tik ,ik+1 ] + E[Tik 0 ,ik 0 +1 ] aus dieser Summe wie folgt begrenzen:
E[Tik ,ik+1 ] + E[Tik 0 ,ik 0 +1 ] = E[Tik ,ik+1 ] + E[Tik+1 ,ik ] ≤ 2 · |E | .
I
Da die Summe in der obigen Abschätzung für E[Ti,· ] genau aus
n − 1 Paaren dieser Form besteht, gilt:
E[Ti,· ] ≤ 2 · |E | · (n − 1) .
178
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Die oben gemachte Beobachtung, dass ein randomisierter Lauf durch
einen Graphen in erwarteter polynomieller Zeit ans Ziel führt, hat
Auswirkungen auf die Komplexität dieses Problems. Eine randomisierte
Turing-Maschine, welche einen solchen Lauf simuliert benötigt nur
logarithmischen Platz:
Satz 19 UGAP ist in RL.
179
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Wir werden jetzt zeigen, dass für jedes Graphgröße n und für jeden Grad
d eine universelle Wegbeschreibung existiert:
Es existiert eine Wegbeschreibung wn,d die für jeden
ungerichteten Graphen G = (V , E ) mit |V | = n und d(v ) = d
für alle Knoten v einen Weg von jedem Start- zu jedem
Zielkonten beschreibt.
180
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Definition 30
I Einen ungerichteten Graphen G nennen wir d-regulär falls alle
Knoten v in G den Grad d haben.
I Mit Γ(v ) := { u | {u, v } ∈ E } bezeichnen wir die Nachbarschaft
von v .
I Sei V 0 ⊆ V eine Teilmenge der Knoten von G , dann definieren wir
[
Γ(V 0 ) :=
Γ(v )
0
0
Γ (V )
I
I
I
v ∈V 0
0
:= V ∪ Γ(V 0 ) .
Mit nv : [0, d − 1] → Γ(v ) bezeichnen wir eine Aufzählung der
Nachbarn von v .
Eine Sequenz π = π1 . . . πm ∈ {0, . . . , d − 1}∗ interpretieren über die
Knotenfolge v0 , . . . , vm mit vi+1 = nvi (πi+1 ) als Pfad in einem
solchen Graphen G .
Eine Sequenz π nennen wir n-universell, wenn für jeden Graphen G
mit n Knoten und festem Grad d, für jede Wahl der Funktionen nv ,
und für jeden Startknoten s der Pfad π alle Knoten von G besucht.
181
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Satz 20 Es existiert ein n-universeller Pfad der Länge
2dn(n − 1)(2dn + 2)dlog2 ne für Graphen mit Grad d.
Beweis von Satz 20:
I Sei Π eine zufällige gleichverteilte Sequenz aus {0, . . . , d − 1}∗ der
Länge 2dn(n − 1)(2dn + 2)dlog2 ne.
I Für einen Graphen G von n Knoten und Grad d und Startknoten v
definieren wir die Zufallsvariable XG ,s (Π) wie folgt:

 1 wenn Π startend von s nicht alle
Knoten aus G besucht,
XG ,s (Π) =

0 sonst
ferner sei
X (Π) =
X
XG ,s (Π) .
G ,s
I
I
Für den Fall, dass Π eine n-universeller Pfad ist, gilt X (Π) = 0 ist.
Dieses folgt aus der Beobachtung, dass X (Π) die Anzahl der
Gegenbeispiele zu der Annahme, dass Π ein n-universeller Pfad ist,
zählt.
182
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beweis von Satz 20 (Teil 2): Die Schlüsselbeobachtung bei der nun
folgenden probabilistischen Methode ist:
Sei Π eine zufällige Sequenz. Ist der Erwartungswert E[X ] < 1,
dann hat dieses zur Folge, dass es einen Pfad π gibt, der in
jedem Graph G und von jedem Startknoten s, alle Knoten von
G besucht.
183
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beweis von Satz 20 (Teil 3): Aus der Linearität des Erwartungswerts
folgt:
X
E[X ] =
E[XG ,s ] .
G ,s
Wir wollen nun zeigen, dass E[XG ,s ] hinreichend klein ist:
I Wir zerlegen Π in Intervalle Π1 , Π2 , . . . , Π(2dn+2)dlog ne der Länge
2
2dn(n − 1).
I Aus Satz 18 folgt, dass E[Ts,· ] ≤ 2 · |E |(n − 1) = dn(n − 1) ist.
I Hier kommt die Markov-Ungleichung zur anwenden:
Satz 21 Sei T eine Zufallsvariable, die nur nicht-negative Werte
annimmt, dann gilt
Pr[T ≥ a] ≤
I
E[T ]
.
a
Die Wahrscheinlichkeit, dass Π1 startend bei s alle Knoten aus G
besucht, ist zumindest 21 . Analog gilt, dass der Pfad Π2 startend von
dem Endknoten s 0 des Pfads Π1 alle Knoten aus G besucht,
zumindest 21 ist, usw.
184
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beweis von Satz 20 (Teil 4):
I
Die Wahrscheinlichkeit, dass keiner der Pfade Π1 , . . . , Π(2dn+2)dlog2 ne
alle Knoten von G besucht, ist
≤ 2−(2dn+2)dlog2 ne ≤ n−(2dn+2) .
I
Das heißt: Für jeden Graphen G und für alle Knoten s gilt
E[XG ,s ] ≤ 2−(2dn+2)dlog2 ne ≤ n−(2dn+2) .
Da jeder Graph G vom Grad d für alle Funktion nv durch einen binären
String der Länge dndlog ne beschrieben werden kann, ist die Anzahl
dieser Graphen durch n2dn beschränken. Somit gilt für alle Graphen mit
n ≥ 2 Knoten
P
P
−(2dn+2)
E[X ] =
G ,s E[XG ,s ] ≤
G ,s n
P 2dn −(2dn+2)
≤
·n
≤ n · n−2 = n1 < 1
sn
185
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Fügen wir jetzt zu jedem Knoten v noch n − d(v ) Schleifen der Form
{v , v } hinzu, so erhalten wir einen n-regulären Graphen (mit
Mehrfachkanten). Da Satz 20 auch für diese Form von Graphen gilt, gibt
es eine Sequenz der Länge O(n5 dlog2 ne) welche eine universelle
Wegbeschreibung für alle ungerichtete Graphen mit n darstellt. Stellen
wir diese Sequenz einer DTM als Advice zur Verfügung, so erhalten wir:
Satz 22 UGAP ist in L/poly .
186
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
4.3 UGAP ist in L
Im Wesentlichen basiert der Algorithmus von Reingold, mit dessen Hilfe
man UGAP auf logarithmischen Platz lösen kann, auf drei Beobachtungen:
I
Hat G einen konstanten Grad und liegen s und t nahe beieinander
(die Distanz von s und t ist nur logarithmisch), dann können wir
UGAP auf logarithmischen Platz deterministisch lösen.
I
Hat G einen hohen Grad, dann können wir diesen dadurch
reduzieren, indem wir jeden Knoten durch einen Graphen mit kleinen
Grad ersetzen, und jeden Knoten im eingesetzten Graphen mit
wenigen Kante im ursprünglichen Graphen inzidieren.
I
Sei A die Adjazenzmatrix von G und stehen auf der Diagonale von A
überall Einsen, dann halbiert sich der Abstand von s und t im
Graphen mit der Adjazenzmatrix A2 .
Leider verhalten sich die letzten beiden Punkte konträr zueinander und
leider ist es nicht so einfach einzusehen, dass die letzten beiden Punkt
auf beschränktem Platz durchgeführt werden können. Daher müssen wir
im Folgenden etwas tiefer in die Trickkiste greifen.
187
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
4.3.1 Expandergraphen
In einem ersten Schritt werden wir Graphen untersuchen, die sich
besonders gut zum Ersetzen der Knoten mit hohem Grad eignen.
Definition 31 Sei G = (V , E ) ein ungerichteter Graph.
I
G hat eine Knotenexpansion (k, a) falls für alle V 0 ⊆ V mit
|V 0 | ≤ k gilt
|Γ(V 0 )| ≥ a · |V 0 | .
Wir nennen einen Graphen mit Knotenexpansion (k, a) auch
(k, a)-Expander.
I
Einen (|V |/2, a)-Expander nennen wir auch a-Expander.
Und noch eine Definition, deren Bedeutung für unsere Betrachtungen auf
den kommenden Folien deutlich werden sollte:
Definition 32 Für eine n × n-Matrix M ∈ Rn×n nennen wir einen Vektor
~v ∈ Rn Eigenvektor, falls für ein λ ∈ R M · ~v = λ · ~v ist. λ nennen wir
den zu ~v gehörigen Eigenwert.
188
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beobachtung 16 Sei P die Übergangsmatrix eines ungerichteten
Graphens G und π = (π1 , . . . , πn ) ein stationäre Verteilung, d.h.
π = π · P, dann gilt P = P T und für den transponierten Vektor der
Verteilung π T = P · π T . Somit ist π T ein Eigenvektor der Matrix P mit
Eigenwert λ1 = 1.
Im Folgenden gelte:
I
Wir betrachten d-reguläre (Multi-)Graphen – notfalls fügen wir noch
einige Schleifen {v , v } an Konten mit geringerem Grad an. Somit
sind die Einträge in der Übergangsmatrix P entweder d1 oder 0.
I
Die stationäre Verteilung setzen wir somit auf π = (π1 , . . . , πn ) mit
1
.
πi = |N|
I
Wir betrachten π als Spaltenvektor.
189
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Definition 32
I Für einen d-regulären ungerichteten Graphen G mit
Übergangsmatrix P sei
λ2 =
I
I
I
max
kxk=1, x⊥π
kP · xk
der zweitgrößte Eigenwert von P.
G hat Spektralexpansion λ ∈ R falls für den zweitgrößten Eigenwert
λ2 ≤ λ gilt.
Die minimale Spektralexpansion von G bezeichnen wir auch mit
λ(G ).
Wir nennen einen d-regulären ungerichteten Graphen mit n Knoten
und mit Spektralexpansion λ auch (n, d, λ)-Expander.
Auf der folgenden Folie werden wir sehen, dass λ2 angibt, wie schnell
eine Graph dazu tendiert bei einem randomisierten Lauf die stationäre
Verteilung anzunehmen – je kleiner λ2 ist, desto schneller wird π
angenommen. λ beschreibt somit einen Wert für die Güte der
Expandereigenschaft des Graphen.
190
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Beobachtung 17 Sei µP
∈ Rn eine Wahrscheinlichkeitsverteilungen, d.h.
n
µ1 , . . . , µn ∈ [0; 1] und i=1 µi = 1, und π = ( n1 , . . . , n1 ) dann gilt
entweder µ = π oder es existiert ein Vektor π̃ ∈ Rn , so dass
π + π̃ = µ und π⊥π̃ .
Beweis von Beobachtung 17 Wir untersuchen π̃ = µ − π.
I
Sei s + die Summe der positiven Einträge in µ − π und s − die
Summe der negativen Einträge in µ − π.
Pn
Pn
Da i=1 πi = i=1 µi = 1 ist, ist s + = −s − .
I
Somit gilt
I
π · π̃ =
n
X
π̃i
i=1
I
n
=
s+ + s−
= 0.
n
Folglich stehen π und π̃ orthogonal zueinander.
191
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Definition 33 Seien π und µ zwei Punkte im Rn , dann ist der Abstand
von π und µ bezüglich der euklidischen Norm
sX
kπ − µk = 2
|πi − µi |2 .
i=1
Satz 23 Sei G ein (n, d, λ)-Expander, dann verringert sich der Abstand
zwischen der stationären Verteilung π und einer beliebigen
Wahrscheinlichkeitsverteilung auf den Knoten der zu G gehörigen
Markov-Kette P bei jeder Schritt um einen Faktor ≤ λ.
Beweis von Satz 23 Sei π̃ = µ − π, dann gilt
P · µ − π = P · (π + π̃) − π = P · π − π + P · π̃ = P · π̃ .
Somit gilt für den zweitgrößten Eigenwert λ2
kP · µ − πk = kP · π̃k ≤ λ2 · kπ̃k ≤ λ · kµ − πk .
192
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Die Bedeutung eines (n, d, λ)-Expander für UGAP folgt unmittelbar aus
Satz 23:
Korollar 7 Sei G ein (n, d, λ)-Expander, dann verringert sich der
Abstand zwischen der stationären Verteilung π und einer beliebigen
Wahrscheinlichkeitsverteilung auf den Knoten der zu G gehörigen
Markov-Kette P in ` Schritt um einen Faktor ≤ λ` .
Beweis von Korollar 7 Der Beweis folgt per vollständiger Induktion über `.
I
Für ` = 1 folgt die Behauptung unmittelbar aus Satz 23.
I
Wir gehen nun davon aus, dass für ` − 1 die Behauptung korrekt ist,
d.h. für µ̃ := P `−1 µ gilt kµ̃ − πk ≤ λ`−1 · kµ − πk.
I
Nach einer weiteren Iteration gilt
kP ` · µ − πk = kP · µ̃ − πk ≤ λ · kµ̃ − πk ≤ λ` · kµ − πk .
193
Andreas Jakoby
Universität zu Lübeck
Computational Complexity SS 08
6. Vorlesung, 19.05.2008
Die nachfolgenden beiden Korollare folgen unmittelbar aus Korollar 7 und
erlauben uns das UGAP-Problem für geeignete Expander in L zu lösen.
Korollar 8 Sei G ein (n, d, λ)-Expander mit λ < 1, dann ist der Abstand
zwischen zwei beliebigen Knoten s, t des Expanders maximal 1 + log1/λ n.
Korollar 9 Sei G ein (n, d, λ)-Expander für konstante Werte d, λ mit
λ < 1, dann können wir UGAP auf G deterministisch auf Platz O(log n)
lösen.
194
Herunterladen