Randomisierte Algorithmen Randomisierte Algorithmen 9. Schnell mischende Markov-Ketten Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 49 9. Schnell mischende Markov-Ketten Überblick Überblick Der Metropolis-Algorithmus Anmerkungen zu Eigenwerten Schnell mischende Markov-Ketten 2 / 49 9. Schnell mischende Markov-Ketten Überblick Ein schönes Buch David A. Levin, Yuval Peres, Elizabeth L. Wilmer: Markov Chains and Mixing Times AMS (2008) http://darkwing.uoregon.edu/~dlevin/MARKOV/markovmixing.pdf 3 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus Überblick Der Metropolis-Algorithmus Anmerkungen zu Eigenwerten Schnell mischende Markov-Ketten 4 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.1 Definition Eine ergodische Markov-Kette ist (zeit-)reversibel (in detailed balance), wenn für stationäre Verteilung w und alle i, j ∈ S gilt: wi Pi j = wj P ji . 5 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.2 Definition I G = (V , E) ein zusammenhängender ungerichteter Graph ohne Schlingen I 0 < β ≤ 1 eine reelle Zahl I d(i) Grad von Knoten i und d = maxi ∈V d(i) I definiere Markov-Kette MG, β : β/d Pi j = 0 1 − d(i)β/d falls i , j und (i, j) ∈ E falls i , j und (i, j) < E falls i = j 6 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.3 Beobachtung/Übung I Kette irreduzibel, da Graph zusammenhängend I für β < 1 Kette aperiodisch I stationäre Verteilung MG, β : Gleichverteilung I für β < 1 Kette reversibel 7 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.4 Verallgemeinerung I p eine Wahrscheinlichkeitsverteilung auf V , nirgends 0 I G = (V , E) ein zusammenhängender ungerichteter Graph I 0 < β ≤ 1 eine reelle Zahl I d(i) Grad von Knoten i und d = maxi ∈V d(i) I definiere Markov-Kette MG, β : p min(1, pij ) · β/d Pi j = 0 1 − Í Pik i,k falls i , j und (i, j) ∈ E falls i , j und (i, j) < E falls i = j 8 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.4 Verallgemeinerung (2) Sei i , j und (i, j) ∈ E (alles andere trivial): p pi min(1, pij ) · β/d pi Pi j = p pj P ji pj min(1, pij ) · β/d ( pi pi / falls pi ≤ pj = ppij ppj j falls pi > pj pj · pi =1 Die Markov-Kette ist reversibel mit stationärer Verteilung p, denn . . . 9 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.5 Lemma I Sei M Markov-Kette und I q Verteilung mit qi Pi j = qj P ji für alle Zustände i und j. I Dann ist q eine stationäre Verteilung von M. 10 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.6 Beweis Für alle i ist (qP)i = Õ j qj P ji = Õ j qi Pi j = qi Õ Pi j = qi . j 11 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.7 Vorbereitung Metropolis-Algorithmus I Q zeilenstochastische Matrix, symmetrisch I I I Ziel reversible Markov-Kette I I I proposal matrix Voraussetzung Symmetrie von Hastings beseitigt mit einer Übergangsmatrix P stationäre Verteilung w w „indirekt“ gegeben durch H : S → R I I energy function wi proportional zu e −β H (i) I I I I für ein β ≥ 0 «inverse Temperatur» nachfolgend β = 1 angenommen Proportionalitätsfaktor Z (β) = I Í i ∈S e −β H (i) partition function 12 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.8 Metropolis-Algorithmus I starte in beliebigem i 0 ∈ S I Schritt von Zustand i t ∈ S zu i t +1 in zwei Phasen: I gemäß der Verteilung Q(i t , ·) zufällig j ∈ S wählen I dann I falls H (j) ≤ H (i t ), also w j ≥ w i t , wähle i t +1 = j. I falls H (j) > H (i t ), also w j < w i t , wähle ( j mit Wahrscheinlichkeit w j /w i t = e H (i t )−H (j) i t +1 = i t sonst 13 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.9 Satz Metropolis-Algorithmus, Markov-Kette auf S: I reversibel I stationäre Verteilung: i hat Wahrscheinlichkeit e −H (i) /Z . 14 / 49 9. Schnell mischende Markov-Ketten Der Metropolis-Algorithmus 9.10 Beweis (Übung) P durch Algorithmus festgelegte Übergangsmatrix genügt zu zeigen: reversibel e −H (i) /Z · Pi j = e −H (j) /Z · P ji einfache Rechnung analog zu der in Punkt 9.4 15 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten Überblick Der Metropolis-Algorithmus Anmerkungen zu Eigenwerten Schnell mischende Markov-Ketten 16 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.11 Lemma Es sei P eine zeilenstochastische Matrix. I Dann ist 1 ein Eigenwert von P. I Für jeden Eigenwert λ von P gilt: |λ| ≤ 1. 17 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.12 Beweis I Erster Teil klar wegen P(1, . . . , 1)T = (1, . . . , 1)T . I sei λ ∈ C Eigenwert mit P(x 1, . . . , x n )T = λ(x 1, . . . , x n )T I Sei i 0 ein Index mit |x i0 | = maxj |x j |. 18 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.12 Beweis I Erster Teil klar wegen P(1, . . . , 1)T = (1, . . . , 1)T . I sei λ ∈ C Eigenwert mit P(x 1, . . . , x n )T = λ(x 1, . . . , x n )T I Sei i 0 ein Index mit |x i0 | = maxj |x j |. I Es gilt: Õ |λ| · |x i0 | = |λ · x i0 | = Pi0 j x j j ≤ Õ Pi0 j |x j | ≤ j = |x i0 | Õ Pi0 j |x i0 | j Õ Pi0 j = |x i0 | . j Also ist |λ| ≤ 1. 18 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.13 Lemma sei P stochastische Matrix I einer reversiblen Markov-Kette I mit |S | = N Zuständen dann besitzt P I nur reelle Eigenwerte I mit 1 = λ1 > λ2 ≥ · · · ≥ λ N > −1. Beweis: lineare Algebra . . . 19 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.14 Abkürzung I I λmax = max{|λ| | λ ist Eigenwert von P und λ , 1}. Eben bewiesen: I I für ergodische Markov-Ketten: λmax ≤ 1. für reversible Markov-Ketten: λmax = max{|λ2 |, |λ N |} < 1 20 / 49 9. Schnell mischende Markov-Ketten Anmerkungen zu Eigenwerten 9.15 Bemerkung Falls λ N < 0: I Gehe von P zu P0 = 12 (P + I) über. I Eigenwerte λi0 = 12 (λi + 1) > 0, also I λmax = λ2 21 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten Überblick Der Metropolis-Algorithmus Anmerkungen zu Eigenwerten Schnell mischende Markov-Ketten 22 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.16 Definition I Für zwei Verteilungen p und q ist die totale Variationsdistanz kp − qktv = I 1Õ |pj − qj | . 2 j ∈S Übung: kp − qktv = max |p(T ) − q(T )| T ⊆S wobei p(T ) = Í j ∈T pj 23 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.17 Definition I ergodische Markov-Kette P stationäre Verteilung w; für alle Verteilungen p sei δ p (t) = kpPt − wktv I Die Variationsdistanz zum Zeitpunkt t ist ∆(t) = max δ p (t) . p I Übung: Maximum für einen Einheitsvektor ∆(t) = max kPit − wktv i I wobei klar: Pit die i-te Zeile von Pt ist. lim ∆(t) = 0 t →∞ 24 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.18 Satz ergodische Markov-Kette, Matrix P, stationäre Verteilung w Es existieren Konstanten C und α < 1 mit ∆(t) = max kPit − wktv ≤ Cα t i 25 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.19 Beweis (1) I I I I I Pt0 enthalte nur positive Werte W wie bisher dann exisitiert 0 < δ < 1 so, dass für alle i und j gilt: Pit0j ≥ δwj ϑ = 1−δ stochastische Matrix Q mit Pt0 = (1 − ϑ )W + ϑ Q I es gilt: I I I Qk W = W WPt0 = W Induktion: für jedes k ∈ N+ ist Pt0k = (1 − ϑ k )W + ϑ k Qk 26 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.19 Beweis (2) I I I I Pt0k = (1 − ϑ k )W + ϑ k Qk Pt0k +j − W = ϑ k Qk Pj − W Zeile i: kPit0k+j − wktv ≤ ϑ k für beliebiges t = t0k + j: kPit − wktv = kPit0k+j − wktv ≤ ϑk 1 1/t0 t0 1/t0 t0k ϑ = ϑ ϑ 1 1/t0 j+t0k ≤ ϑ da j < t0 und ϑ < 1 ϑ 1 1/t0 t = ϑ ϑ 27 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.20 Abkürzung reversible Markov-Kette mit stationärer Verteilung w: w min = min wj j 28 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.21 Satz Für reversible Markov-Kette mit stationärer Verteilung w gilt: ∆(t) ≤ λtmax . w min 29 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.22 Mitunter folgende Situation: I Problem mit Instanzen I I Familie von Markov-Ketten M(I ) Beispiel: I I I I : ein Graph Zustände von M(I ): die Matchings von I 30 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.23 Definition ergodische Markov-Kette mit stationärer Verteilung w für ε > 0 definiere ihre ε-Konvergenzzeit: τ (ε) = min{t | ∀t 0 ≥ t : ∆(t 0) ≤ ε} 31 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten Von Probleminstanzen zu Markovketten mitunter vorliegende Situation I I gegeben: unendliche Menge von «Probleminstanzen» I zu jedem I wird eine Markovkette M(I ) konstruiert Beispiel: I I I: Graph (V , E) M(I ): Markovkette mit I I Zustände: Matchings in I Übergangswahrscheinlichkeiten für Matching m: I I mit W.keit 1/2 kein Übergang mit W.keit 1/2 Übergang zu m − e, m 0 = m + e, m, falls e ∈ m falls e < m und m + e Matching sonst für zufällig gleichverteilt gewählte Kante e ∈ E 32 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.24 Definition Familie M(I ) heißt schnell mischend, falls die ε-Konvergenzzeit polynomiell in |I | und ln 1/ε ist. 33 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.25 Rechnung reversible Markov-Kette jedenfalls dann schnell mischend, wenn für ein t, das polynomiell in |I | und log 1/ε ist, gilt λtmax ≤ε w min 34 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.25 Rechnung (2) I t 1 ≥ λmax t I −1 ln λmax Wegen 1 − x ≤ ln x −1 für 0 < x < 1 ist dafür hinreichend: t ≥ I ≥ 1 εw min −1 ln ε −1 + ln w min −1 ln ε −1 + ln w min 1 − λmax −1 und 1/(1 − λ schnelles Mischen, falls ln w min max ) polynomiell in |I | 35 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.26 Satz Für reversible Markov-Ketten gilt: 1 1 log 1 − λmax w minε 1 1 τ (ε) ≥ log 2(1 − λmax ) 2ε τ (ε) ≤ Woher bekommt man λmax ? 36 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.27 Definition I reversible Markov-Kette M = (S, P), stationärer Verteilung w I sei F M der gerichtete gewichtete Graph mit I I I Knotenmenge S und Kantenmenge E F = {(i, j) | i , j ∧ Pi j > 0}. jede Kante (i, j) gewichtet mit Zahl c(i, j) = wi Pi j . 37 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.28 Definition I I Für reversible Markov-Kette mit Zustandsmenge S und stationärer Verteilung w definiere für jede Teilmenge T ⊆ S Õ die Kapazität C(T ) = wi i ∈T den Fluß F (T ) = Õ wi Pi j i ∈T , j<T und I Φ(T ) = F (T )/C(T ) Der Leitwert Φ der Markov-Kette ist dann Φ = min max{Φ(T ), Φ(S r T )} = T ⊆S min T ⊆S,0<C(T )≤1/2 Φ(T ) . 38 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.29 Satz Für jede reversible Markov-Kette gilt: 1 − 2Φ2 ≤ λ2 ≤ 1 − Φ2 . 2 39 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.30 Korollar Für reversible Markov-Ketten (mit λ2 = λmax ) ist τ (ε) ≤ 2 −1 (ln ε −1 + ln w min ) Φ2 40 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.32 Beobachtung Für die Markov-Ketten MG, β aus Definition 9.2 gilt: Φ = β µ/d . Woher bekommt man im allgemeinen Φ? 41 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.33 Definition I für Paar (i, j) von Knoten in F M soll I von einem „Gut“ дi j die Menge wi wj von i nach j transportiert werden. I gesucht: Flüsse fi j : E F → R+ , so dass gilt: Õ fi j (i, k) = wi wj für alle ` , i, j : k Õ k Õ fi j (k, `) = Õ fi j (`, m) m fi j (k, j) = wi wj k 42 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.33 Definition (2) I Gesamtfluss durch eine Kante e sei Õ fi j (e) f (e) = i,j und I die relative Kantenauslastung ρ(f ) = max f (e)/c(e) e ∈E F mit c((i, j)) = wi Pi j 43 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.34 Lemma Für jede Markov-Kette mit Flüssen fi j gilt: Φ≥ 1 . 2ρ(f ) 44 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.35 Beispiel: Hyperwürfel I reversible Markov-Kette M gemäß Def. 9.2 aus Hyperwürfel Hn der Dimension n mit β = 1/2. I Pii = 1/2 und Pi j = 1/2n für i , j. I stationäre Verteilung I I I Gleichverteilung mit w min = 1/2n also log 1/w min = n polynomiell in n Schnelles Mischen: Suche Flüsse fi j I I die 1/22n transportieren und kleine Kantenauslastung erzeugen. 45 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.35 Beispiel: Hyperwürfel (2) I Wähle: gleichmäßige Verteilung auf alle d! kürzeste Pfade zwischen i und j (d = Hammingdistanz) I Aus Symmetriegründen gleicher Gesamtfluss auf jeder Kante. Für jedes d gibt es 2n · dn Paare (i, j) mit Abstand d. I I Für ein festes Paar (i, j) haben alle für den Fluss fi j verwendeten Pfade Länge d. Also: Õ fi j (e) = dwi wj . e ∈E F 46 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.35 Beispiel (3) n 1 Õ n n · d · wi wj f (e) = 2 d |E F | d =1 n Õ 1 n 1 = n 2n · d · 2n n2 2 d d =1 n Õ 1 n d = 2n · 2 d n d =1 n n−1 Õ 1 n−1 1 Õ n−1 = 2n = 2n 2 d −1 2 d = d =1 n−1 2 22n = d =0 1 2 · 2n 47 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten 9.35 Beispiel (4) I eben: f (e) = 1/(2 · 2n ). I andererseits c(e) = wi Pi j = 1/(2n · 2n ) I also ρ(f ) = 1/(2·2n ) 1/(2n ·2n ) =n 1 1 2ρ(f ) = 2n I wegen 9.27 daher 1 − 1 2 ≤ λ 2 ≤ 1 − 1 2 2n 8n I also 1/(1 − λ 2 ) ∈ Θ(n 2 ) I zusammen mit ln w −1 = n min I Korollar 9.28: Markov-Kette schnell mischend I wegen 9.32 daher Φ ≥ 48 / 49 9. Schnell mischende Markov-Ketten Schnell mischende Markov-Ketten Zusammenfassung I oft ergodische Markov-Ketten, die sogar reversibel sind I Metropolis-Algorithmus I Kriterien, um festzustellen, ob sie schnell mischend sind 49 / 49