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