Chaînes de Markov et Génération Aléatoire

January 17, 2018 | Author: Anonymous | Category: Mathématiques, Statistiques et probabilités
Share Embed Donate


Short Description

Download Chaînes de Markov et Génération Aléatoire...

Description

Chaînes de Markov et Génération Aléatoire Aléa 2006 - Deuxième partie P. Duchon LaBRI

Aléa 06 - Chaînes de Markov – p. 1/2

Couplages d’un graphe G un graphe (simple, non orienté, sans boucles, n sommets) dont les arêtes ont des poids w(e), CG ensemble des couplages (matchings) de G. Y w(m) = w(e) e∈m

w(m) π(m) = P 0 m0 ∈CG w(m )

On fabrique facilement une chaîne de Markov ergodique, réversible, dont π soit la distibution stationnaire/limite.

Aléa 06 - Chaînes de Markov – p. 2/2

Couplages: Chaîne de Markov Algorithme de transition: dans l’état m: Avec probabilité 1/2, ne rien faire (m0 = m); Choisir une arête e = (u, v) uniforme; Déterminer un nouveau couplage m00 : si e ∈ m, m00 = m − e si u et v sont libres dans m, m00 = m + e si un seul de u et v est libre dans m, et si l’autre est incident à une arête e0 , m00 = m − e0 + e sinon, m00 = m m0 = m00 avec probabilité min(1, w(m0 )/w(m)), sinon m 0 = m.

Aléa 06 - Chaînes de Markov – p. 3/2

Couplages: Chaîne de Markov Algorithme de transition: dans l’état m: Avec probabilité 1/2, ne rien faire (m0 = m); Choisir une arête e = (u, v) uniforme; Déterminer un nouveau couplage m00 : si e ∈ m, m00 = m − e (↓-transition) si u et v sont libres dans m, m00 = m + e si un seul de u et v est libre dans m, et si l’autre est incident à une arête e0 , m00 = m − e0 + e sinon, m00 = m m0 = m00 avec probabilité min(1, w(m0 )/w(m)), sinon m 0 = m.

Aléa 06 - Chaînes de Markov – p. 3/2

Couplages: Chaîne de Markov Algorithme de transition: dans l’état m: Avec probabilité 1/2, ne rien faire (m0 = m); Choisir une arête e = (u, v) uniforme; Déterminer un nouveau couplage m00 : si e ∈ m, m00 = m − e (↓-transition) si u et v sont libres dans m, m00 = m + e (↑-transition) si un seul de u et v est libre dans m, et si l’autre est incident à une arête e0 , m00 = m − e0 + e sinon, m00 = m m0 = m00 avec probabilité min(1, w(m0 )/w(m)), sinon m 0 = m.

Aléa 06 - Chaînes de Markov – p. 3/2

Couplages: Chaîne de Markov Algorithme de transition: dans l’état m: Avec probabilité 1/2, ne rien faire (m0 = m); Choisir une arête e = (u, v) uniforme; Déterminer un nouveau couplage m00 : si e ∈ m, m00 = m − e (↓-transition) si u et v sont libres dans m, m00 = m + e (↑-transition) si un seul de u et v est libre dans m, et si l’autre est incident à une arête e0 , m00 = m − e0 + e (↔-transition) sinon, m00 = m m0 = m00 avec probabilité min(1, w(m0 )/w(m)), sinon m 0 = m.

Aléa 06 - Chaînes de Markov – p. 3/2

Couplages: Chaîne de Markov Algorithme de transition: dans l’état m: Avec probabilité 1/2, ne rien faire (m0 = m); Choisir une arête e = (u, v) uniforme; Déterminer un nouveau couplage m00 : si e ∈ m, m00 = m − e (↓-transition) si u et v sont libres dans m, m00 = m + e (↑-transition) si un seul de u et v est libre dans m, et si l’autre est incident à une arête e0 , m00 = m − e0 + e (↔-transition) sinon, m00 = m m0 = m00 avec probabilité min(1, w(m0 )/w(m)), sinon m 0 = m.

(algorithme de Metropolis)

Aléa 06 - Chaînes de Markov – p. 3/2

Chemins canoniques pour couplages On doit trouver, pour deux couplages m et m0 quelconques, un chemin γmm0 : une suite de transitions qui fasse passer de m à m0 , en essayant de faire en sorte que

Aléa 06 - Chaînes de Markov – p. 4/2

Chemins canoniques pour couplages On doit trouver, pour deux couplages m et m0 quelconques, un chemin γmm0 : une suite de transitions qui fasse passer de m à m0 , en essayant de faire en sorte que les chemins ne soient pas trop longs

Aléa 06 - Chaînes de Markov – p. 4/2

Chemins canoniques pour couplages On doit trouver, pour deux couplages m et m0 quelconques, un chemin γmm0 : une suite de transitions qui fasse passer de m à m0 , en essayant de faire en sorte que les chemins ne soient pas trop longs ils évitent de trop utiliser certaines transitions

Aléa 06 - Chaînes de Markov – p. 4/2

Chemins canoniques pour couplages On doit trouver, pour deux couplages m et m0 quelconques, un chemin γmm0 : une suite de transitions qui fasse passer de m à m0 , en essayant de faire en sorte que les chemins ne soient pas trop longs ils évitent de trop utiliser certaines transitions Par exemple, le choix consistant, pour passer de m à m0 , à passer systématiquement par le couplage vide est probablement mauvais : les arêtes incidentes au couplage vide seront très chargées.

Aléa 06 - Chaînes de Markov – p. 4/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles.

Aléa 06 - Chaînes de Markov – p. 5/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles. Ingrédients :

définir un ordre total entre ces chemins et cycles;

Aléa 06 - Chaînes de Markov – p. 5/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles. Ingrédients :

définir un ordre total entre ces chemins et cycles; “détricoter” chacun des chemins et cycles, pour passer de m à m0 :

Aléa 06 - Chaînes de Markov – p. 5/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles. Ingrédients :

définir un ordre total entre ces chemins et cycles; “détricoter” chacun des chemins et cycles, pour passer de m à m0 : pour un cycle, commencer par une ↓-transition (on obtient un chemin)

Aléa 06 - Chaînes de Markov – p. 5/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles. Ingrédients :

définir un ordre total entre ces chemins et cycles; “détricoter” chacun des chemins et cycles, pour passer de m à m0 : pour un cycle, commencer par une ↓-transition (on obtient un chemin) pour un chemin, une suite de ↔-transitions, éventuellement suivie par une ↑- ou ↓-transition

Aléa 06 - Chaînes de Markov – p. 5/2

Chemins canoniques pour couplages m et m0 étant donnés : Z = m ⊕ m0 Dans Z , chaque sommet est de degré 0, 1 ou 2 : ensemble de chemins et de cycles. Ingrédients :

définir un ordre total entre ces chemins et cycles; “détricoter” chacun des chemins et cycles, pour passer de m à m0 : pour un cycle, commencer par une ↓-transition (on obtient un chemin) pour un chemin, une suite de ↔-transitions, éventuellement suivie par une ↑- ou ↓-transition (Jerrum & Sinclair: pour w(e) = λ, ρ ≤ 4m.n. max(1, λ))

Aléa 06 - Chaînes de Markov – p. 5/2

Couplages (Encore une) technique pour majorer le temps de mélange “Si on arrive à faire tourner deux copies de la chaîne de telle sorte qu’elles aient tendance à se retrouver dans le même état, alors la chaîne mélange vite” Couplage Venu du Passé (Coupling From the Past, CFTP) : une technique pour tirer selon la distribution limite exacte.

Aléa 06 - Chaînes de Markov – p. 6/2

Distance de variation totale 1X D(π, π ) = |π(x) − π 0 (x)| 2 0

x∈Ω

Aléa 06 - Chaînes de Markov – p. 7/2

Distance de variation totale 1X D(π, π ) = |π(x) − π 0 (x)| 2 0

x∈Ω

Autre caractérisation :

Aléa 06 - Chaînes de Markov – p. 7/2

Distance de variation totale 1X D(π, π ) = |π(x) − π 0 (x)| 2 0

x∈Ω

Autre caractérisation : si X et X 0 sont deux variables aléatoires, définies sur le même espace, et de lois respectives π et π 0 , alors on a P(X 6= X 0 ) ≥ D(π, π 0 )

Aléa 06 - Chaînes de Markov – p. 7/2

Distance de variation totale 1X D(π, π ) = |π(x) − π 0 (x)| 2 0

x∈Ω

Autre caractérisation : si X et X 0 sont deux variables aléatoires, définies sur le même espace, et de lois respectives π et π 0 , alors on a P(X 6= X 0 ) ≥ D(π, π 0 )

on peut avoir l’égalité (au moins pour les lois sur un ensemble fini)

Aléa 06 - Chaînes de Markov – p. 7/2

0.2 0.2 0.2 0.2 0.2 0.1 0.15 0.18 0.22 0.35

Aléa 06 - Chaînes de Markov – p. 8/2

0.1 0.05 0.02 0 0 0 0.02 0.15

0

0

0.1 0.15 0.18 0.2 0.2

Aléa 06 - Chaînes de Markov – p. 8/2

0.08 0.05 0.02 0

0.15 0.18

0

0.15

0

0.1

0

0

0

0.02

0.2 0.2

Aléa 06 - Chaînes de Markov – p. 8/2

0.08 0

0

0

0.15 0.18

0

0.1

0

0.1

0

0

0.02

0.02

0.2 0.05

0.2

Aléa 06 - Chaînes de Markov – p. 8/2

0.08 0

0

0

0.15 0.18

0

0.08

0

0.1

0

0

0

0.02

0.2 0.05 0.02

0.2

Aléa 06 - Chaînes de Markov – p. 8/2

0 0

0

0

0

0

0.1 0.15

0

0.18

0 0

0.02

0

0.08 0.05 0.02

0.2 0.2

Aléa 06 - Chaînes de Markov – p. 8/2

Idée du couplage de chaînes On définit un couplage de la chaîne M avec une copie d’elle-même : un processus (Xt , Yt )t≥0 , tel que (Xt )t≥0 est une copie de la chaîne M, partant de l’état x0 ; (Yt )t≥0 est une copie de la chaîne M, partant de la distribution limite π (donc Yt suit la distribution π , pour tout t).

Automatiquement, on a δx0 (t) ≤ P(Xt 6= Yt ). On ajoute comme contrainte (sur le couplage) : si Xt = Yt , alors Xt+1 = Yt+1 . Alors, (P(Xt 6= Yt ))t≥0 décroît, et on a automatiquement τx0 () ≤ min{t : P(Xt 6= Yt ) ≤ }

Aléa 06 - Chaînes de Markov – p. 9/2

Choix du couplage Pour définir le couplage, on définit une procédure qui examine les deux états (x, y); [simule X ] choisit le nouvel état x0 , selon la loi p(x, .); [simule Y ] si y = x, choisit y 0 = x0 ; sinon, choisit y 0 selon une loi p0 (x, x0 , y, .) qui doit vérifier : X 0 ∀(x, y, y ), p(x, x0 )p0 (x, x0 , y, y 0 ) = p(y, y 0 ) x0

On n’est évidemment pas obligé de regarder la valeur de x0 pour choisir y 0 , mais on en a le droit.

Aléa 06 - Chaînes de Markov – p. 10/2

Cas particulier : fonction de mise à jour Une façon bien pratique de visualiser le couplage : on simule la chaîne de base M par une procédure de mise à jour : Tirer U aléatoire (selon une loi connue, e.g. uniforme sur [0, 1]) Si l’état courant est x, le nouvel état est x0 = f (U, x)

Aléa 06 - Chaînes de Markov – p. 11/2

Cas particulier : fonction de mise à jour Une façon bien pratique de visualiser le couplage : on simule la chaîne de base M par une procédure de mise à jour : Tirer U aléatoire (selon une loi connue, e.g. uniforme sur [0, 1]) Si l’état courant est x, le nouvel état est x0 = f (U, x) La fonction f doit vérifier : pour tous x et x0 , µ({u : f (u, x) = x0 }) = p(x, x0 )

(définir f revient à décrire un moyen de simulation de la chaîne)

Aléa 06 - Chaînes de Markov – p. 11/2

Cas particulier : fonction de mise à jour Une façon bien pratique de visualiser le couplage : on simule la chaîne de base M par une procédure de mise à jour : Tirer U aléatoire (selon une loi connue, e.g. uniforme sur [0, 1]) Si l’état courant est x, le nouvel état est x0 = f (U, x) Alors le couplage peut se définir par : Tirer U aléatoire; x0 = f (U, x); y 0 = f (U, y).

Aléa 06 - Chaînes de Markov – p. 11/2

Cas particulier : fonction de mise à jour Une façon bien pratique de visualiser le couplage : on simule la chaîne de base M par une procédure de mise à jour : Tirer U aléatoire (selon une loi connue, e.g. uniforme sur [0, 1]) Si l’état courant est x, le nouvel état est x0 = f (U, x) Alors le couplage peut se définir par : Tirer U aléatoire; x0 = f (U, x); y 0 = f (U, y).

(les deux chaînes sont simulées en utilisant les mêmes jets de dés)

Aléa 06 - Chaînes de Markov – p. 11/2

Cas particulier : fonction de mise à jour Une façon bien pratique de visualiser le couplage : on simule la chaîne de base M par une procédure de mise à jour : Tirer U aléatoire (selon une loi connue, e.g. uniforme sur [0, 1]) Si l’état courant est x, le nouvel état est x0 = f (U, x) Alors le couplage peut se définir par : Tirer U aléatoire; x0 = f (U, x); y 0 = f (U, y).

La fonction f (U, .) représente une fonction (aléatoire, car U est aléatoire) de mise à jour de l’état.

Aléa 06 - Chaînes de Markov – p. 11/2

Vitesse de convergence Exemple des colorations d’un graphe de degré maximum ∆, avec ∆0 ≥ 2∆ + 1 couleurs

Aléa 06 - Chaînes de Markov – p. 12/2

Vitesse de convergence Exemple des colorations d’un graphe de degré maximum ∆, avec ∆0 ≥ 2∆ + 1 couleurs La chaîne simple : X la coloration courante Choisir un sommet u au hasard; le recolorier avec une couleur aléatoire uniforme parmi celles qui n’apparaissent pas parmi les voisins de u dans X.

Aléa 06 - Chaînes de Markov – p. 12/2

Vitesse de convergence Exemple des colorations d’un graphe de degré maximum ∆, avec ∆0 ≥ 2∆ + 1 couleurs Le couplage : X , Y les deux colorations courantes Choisir un sommet u au hasard; Soit A l’ensemble des couleurs qui n’apparaissent pas parmi les voisins de u dans X , et B l’ensemble des couleurs qui n’apparaissent pas parmi les voisins de u dans Y ; Choisir un couple (a, b) ∈ A × B , aléatoire, avec a uniforme sur A et b uniforme sur B , et P(a = b) = |A ∩ B|/ max(|A|, |B|) (exercice!) Dans X , recolorer u en a; dans Y , recolorer u en b.

Aléa 06 - Chaînes de Markov – p. 12/2

Majoration du temps de mélange Soit Dt l’ensemble des sommets pour lesquels Xt et Yt diffèrent : on veut majorer P(Dt 6= ∅).

Aléa 06 - Chaînes de Markov – p. 13/2

Majoration du temps de mélange Soit Dt l’ensemble des sommets pour lesquels Xt et Yt diffèrent : on veut majorer P(Dt 6= ∅). Pour cela, on majore E(|Dt |).

Aléa 06 - Chaînes de Markov – p. 13/2

Majoration du temps de mélange Soit Dt l’ensemble des sommets pour lesquels Xt et Yt diffèrent : on veut majorer P(Dt 6= ∅). Pour cela, on majore E(|Dt |). (On montre que)   0 ∆ − 2∆ E(#Dt+1 |Dt ) ≤ 1 − #Dt 0 (∆ − ∆)n

Aléa 06 - Chaînes de Markov – p. 13/2

Majoration du temps de mélange Soit Dt l’ensemble des sommets pour lesquels Xt et Yt diffèrent : on veut majorer P(Dt 6= ∅). Pour cela, on majore E(|Dt |). (On montre que)   0 ∆ − 2∆ E(#Dt+1 |Dt ) ≤ 1 − #Dt 0 (∆ − ∆)n   0 ∆ − 2∆ P(Dt 6= ∅) ≤ E(#Dt ) ≤ n exp −t 0 (∆ − ∆)n

Aléa 06 - Chaînes de Markov – p. 13/2

Majoration du temps de mélange Soit Dt l’ensemble des sommets pour lesquels Xt et Yt diffèrent : on veut majorer P(Dt 6= ∅). Pour cela, on majore E(|Dt |). (On montre que)   0 ∆ − 2∆ E(#Dt+1 |Dt ) ≤ 1 − #Dt 0 (∆ − ∆)n   0 ∆ − 2∆ P(Dt 6= ∅) ≤ E(#Dt ) ≤ n exp −t 0 (∆ − ∆)n  n  (∆0 − ∆)n . τ () ≤ ln 0  ∆ − 2∆

Aléa 06 - Chaînes de Markov – p. 13/2

CFTP: l’algorithme Propp-Wilson Le CFTP (Coupling from the Past - le couplage venu du passé) est une technique pour simuler la distribution π exacte.

Aléa 06 - Chaînes de Markov – p. 14/2

CFTP: l’algorithme Propp-Wilson Le CFTP (Coupling from the Past - le couplage venu du passé) est une technique pour simuler la distribution π exacte. On reprend l’idée des fonctions de mise à jour pour définir un couplage de N copies de M - une partant de chaque état.

Aléa 06 - Chaînes de Markov – p. 14/2

CFTP: l’algorithme Propp-Wilson Le CFTP (Coupling from the Past - le couplage venu du passé) est une technique pour simuler la distribution π exacte. On reprend l’idée des fonctions de mise à jour pour définir un couplage de N copies de M - une partant de chaque état. Méga-couplage: faire un pas de temps, c’est U uniforme sur [0, 1], F ← FU (u)

(u)

Pour chaque copie X (u) de la chaîne: Xt+1 ← F (Xt )

Aléa 06 - Chaînes de Markov – p. 14/2

Simulation exacte, mais idiote Pour tout entier n, on obtient une simulation exacte de la distribution limite π , par: tirer n fonctions aléatoires indépendantes F1 , . . . , Fn ; calculer G = Fn ◦ Fn−1 ◦ . . . ◦ F1 ; choisir u selon la loi π ; retourner G(u).

Aléa 06 - Chaînes de Markov – p. 15/2

Simulation exacte, mais idiote Pour tout entier n, on obtient une simulation exacte de la distribution limite π , par: tirer n fonctions aléatoires indépendantes F1 , . . . , Fn ; calculer G = Fn ◦ Fn−1 ◦ . . . ◦ F1 ; choisir u selon la loi π ; retourner G(u). (C’est idiot : si on sait tirer u selon la loi π , on n’a pas besoin d’un algorithme plus compliqué pour simuler la loi)

Aléa 06 - Chaînes de Markov – p. 15/2

Oui, mais. . . Si la loi de F est bien choisie, pour n assez grand, la fonction G sera très probablement une fonction constante; pas besoin de choisir astucieusement u, il suffit de retourner G(u0 ) pour un u0 quelconque (puisque le résultat ne dépend pas de u).

Aléa 06 - Chaînes de Markov – p. 16/2

Oui, mais. . . Si la loi de F est bien choisie, pour n assez grand, la fonction G sera très probablement une fonction constante; pas besoin de choisir astucieusement u, il suffit de retourner G(u0 ) pour un u0 quelconque (puisque le résultat ne dépend pas de u). (Il y a un piège. . . )

Aléa 06 - Chaînes de Markov – p. 16/2

Remarque sur la coalescence (Coalescence : la composée finit par être constante) De deux choses l’une : soit, pour tout N , la composée de N fonctions aléatoires a probabilité 0 d’être constante;

Aléa 06 - Chaînes de Markov – p. 17/2

Remarque sur la coalescence (Coalescence : la composée finit par être constante) De deux choses l’une : soit, pour tout N , la composée de N fonctions aléatoires a probabilité 0 d’être constante; soit cette coalescence se produit avec probabilité 1, et l’espérance du nombre de fonctions à composer est finie.

Aléa 06 - Chaînes de Markov – p. 17/2

Remarque sur la coalescence (Coalescence : la composée finit par être constante) De deux choses l’une : soit, pour tout N , la composée de N fonctions aléatoires a probabilité 0 d’être constante; soit cette coalescence se produit avec probabilité 1, et l’espérance du nombre de fonctions à composer est finie. Preuve : si la probabilité n’est pas nulle, alors la composée de N0 fonctions a probabilité  > 0 d’être constante, et, chaque fois qu’on compose N0 nouvelles fonctions, on a (au moins) cette même probabilité de coalescence; le temps avant coalescence a donc une espérance d’au plus N0 / < +∞.

Aléa 06 - Chaînes de Markov – p. 17/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2)

Aléa 06 - Chaînes de Markov – p. 18/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2) On peut réaliser un couplage généralisé de différentes manières

Aléa 06 - Chaînes de Markov – p. 18/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2) On peut réaliser un couplage généralisé de différentes manières

Chaque image F (i) choisie independamment parmi {i, i + 1} : 2N fonctions possibles;

Aléa 06 - Chaînes de Markov – p. 18/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2) On peut réaliser un couplage généralisé de différentes manières

Chaque image F (i) choisie independamment parmi {i, i + 1} : 2N fonctions possibles; Tirage à pile ou face : pile, F (i) = i pour tout i; face, F (i) = i + 1 pour tout i (2 fonctions possibles);

Aléa 06 - Chaînes de Markov – p. 18/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2) On peut réaliser un couplage généralisé de différentes manières

Chaque image F (i) choisie independamment parmi {i, i + 1} : 2N fonctions possibles; Tirage à pile ou face : pile, F (i) = i pour tout i; face, F (i) = i + 1 pour tout i (2 fonctions possibles); Tirage à pile ou face : pile, F (i) = i pour i pair, F (i) = i + 1 pour i impair; face, le contraire (2 fonctions possibles).

Aléa 06 - Chaînes de Markov – p. 18/2

Exemple: marche sur un cycle V = {1, 2, . . . , N }; pi,i = pi,i+1 = 1/2 (pN,1 = 1/2) On peut réaliser un couplage généralisé de différentes manières

Chaque image F (i) choisie independamment parmi {i, i + 1} : 2N fonctions possibles; Tirage à pile ou face : pile, F (i) = i pour tout i; face, F (i) = i + 1 pour tout i (2 fonctions possibles); Tirage à pile ou face : pile, F (i) = i pour i pair, F (i) = i + 1 pour i impair; face, le contraire (2 fonctions possibles). Seule la troisième est une “bonne” proposition; en règle générale, il faut éviter que les fonctions de mise à jour soient bijectives.

Aléa 06 - Chaînes de Markov – p. 18/2

Couplage vers le futur (Idée : Si on attend assez longtemps, le couplage va bien finir par être coalescent)

Aléa 06 - Chaînes de Markov – p. 19/2

Couplage vers le futur (Idée : Si on attend assez longtemps, le couplage va bien finir par être coalescent) G←I

Tant que G n’est pas constante, G ← RandomF() ◦ G Retourner G(u0 )

Aléa 06 - Chaînes de Markov – p. 19/2

Couplage vers le futur (Idée : Si on attend assez longtemps, le couplage va bien finir par être coalescent) G ← I , u ← u0

Tant que G n’est pas constante, F ← RandomF(); G ← F ◦ G; u ← F (u) Retourner u

Aléa 06 - Chaînes de Markov – p. 19/2

Couplage vers le futur (Idée : Si on attend assez longtemps, le couplage va bien finir par être coalescent) G ← I , u ← u0

Tant que G n’est pas constante, F ← RandomF(); G ← F ◦ G; u ← F (u) Retourner u C’est un couplage vers le futur : après n étapes, G = Gn = Fn ◦ . . . ◦ F1 ; Gn (u) = RandomF()(Gn−1 (u)).

Aléa 06 - Chaînes de Markov – p. 19/2

Couplage vers le futur (Idée : Si on attend assez longtemps, le couplage va bien finir par être coalescent) G ← I , u ← u0

Tant que G n’est pas constante, F ← RandomF(); G ← F ◦ G; u ← F (u) Retourner u C’est un couplage vers le futur : après n étapes, G = Gn = Fn ◦ . . . ◦ F1 ; Gn (u) = RandomF()(Gn−1 (u)). (C’est l’ordre “naturel” de composition des fonctions)

Aléa 06 - Chaînes de Markov – p. 19/2

Couplage venu du passé G←I

Tant que G n’est pas constante, G ← G ◦ RandomF() Retourner G(u0 )

Aléa 06 - Chaînes de Markov – p. 20/2

Couplage venu du passé G←I

Tant que G n’est pas constante, G ← G ◦ RandomF() Retourner G(u0 ) C’est un couplage venu du passé : Gn = F1 ◦ . . . ◦ Fn ; en renumérotant les Fi en F−i , Gn = F−1 ◦ F−2 ◦ . . . ◦ F−n .

Aléa 06 - Chaînes de Markov – p. 20/2

Couplage venu du passé G←I

Tant que G n’est pas constante, G ← G ◦ RandomF() Retourner G(u0 ) C’est un couplage venu du passé : Gn = F1 ◦ . . . ◦ Fn ; en renumérotant les Fi en F−i , Gn = F−1 ◦ F−2 ◦ . . . ◦ F−n . Gn (u) = Gn−1 (RandomF(u)) : pour calculer l’image d’un point, la composition se fait dans le mauvais sens. . .

Aléa 06 - Chaînes de Markov – p. 20/2

Couplage venu du passé G←I

Tant que G n’est pas constante, G ← G ◦ RandomF() Retourner G(u0 ) C’est un couplage venu du passé : Gn = F1 ◦ . . . ◦ Fn ; en renumérotant les Fi en F−i , Gn = F−1 ◦ F−2 ◦ . . . ◦ F−n . Gn (u) = Gn−1 (RandomF(u)) : pour calculer l’image d’un point, la composition se fait dans le mauvais sens. . . Idée : Si on prend un couplage qui tourne depuis infiniment longtemps, il est forcément coalescent au temps 0; on va simplement s’arranger pour calculer où il est au temps 0.

Aléa 06 - Chaînes de Markov – p. 20/2

Le piège. . . Le couplage vers le futur ne simule pas (en général) la loi stationnaire;

Aléa 06 - Chaînes de Markov – p. 21/2

Le piège. . . Le couplage vers le futur ne simule pas (en général) la loi stationnaire; le couplage venu du passé la simule (pour peu que la coalescence soit possible, donc presque sûre).

Aléa 06 - Chaînes de Markov – p. 21/2

Le piège. . . Le couplage vers le futur ne simule pas (en général) la loi stationnaire; le couplage venu du passé la simule (pour peu que la coalescence soit possible, donc presque sûre). Remarque: le temps de coalescence (nombre de fonctions à composer) suit la même loi pour les couplages vers le futur et depuis le passé

Aléa 06 - Chaînes de Markov – p. 21/2

Un exemple Ω = {1, 2, 3, 4, 5}, pi,i+1 = p, pi,i−1 = 1 − p (sauf p5,5 = p, p1,1 = 1 − p)

Aléa 06 - Chaînes de Markov – p. 22/2

Un exemple Ω = {1, 2, 3, 4, 5}, pi,i+1 = p, pi,i−1 = 1 − p (sauf p5,5 = p, p1,1 = 1 − p) Couplage réalisé par 2 fonctions : F− (i) = max(1, i − 1) (1 − p) F+ (i) = min(5, i + 1) (p)

Aléa 06 - Chaînes de Markov – p. 22/2

Un exemple Ω = {1, 2, 3, 4, 5}, pi,i+1 = p, pi,i−1 = 1 − p (sauf p5,5 = p, p1,1 = 1 − p) Couplage réalisé par 2 fonctions : F− (i) = max(1, i − 1) (1 − p) F+ (i) = min(5, i + 1) (p)

Ce couplage finira par être coalescent : chaque fois qu’on compose 4 fonctions, on a probabilité p4 + (1 − p)4 d’avoir 4 fois F− ou 4 fois F+

Aléa 06 - Chaînes de Markov – p. 22/2

Un exemple Ω = {1, 2, 3, 4, 5}, pi,i+1 = p, pi,i−1 = 1 − p (sauf p5,5 = p, p1,1 = 1 − p) Couplage réalisé par 2 fonctions : F− (i) = max(1, i − 1) (1 − p) F+ (i) = min(5, i + 1) (p)

Ce couplage finira par être coalescent : chaque fois qu’on compose 4 fonctions, on a probabilité p4 + (1 − p)4 d’avoir 4 fois F− ou 4 fois F+ (Pour p = 1/2, le nombre moyen de compositions avant coalescence est d’au plus 32)

Aléa 06 - Chaînes de Markov – p. 22/2

Un exemple Ω = {1, 2, 3, 4, 5}, pi,i+1 = p, pi,i−1 = 1 − p (sauf p5,5 = p, p1,1 = 1 − p) Couplage réalisé par 2 fonctions : F− (i) = max(1, i − 1) (1 − p) F+ (i) = min(5, i + 1) (p)

Ce couplage finira par être coalescent : chaque fois qu’on compose 4 fonctions, on a probabilité p4 + (1 − p)4 d’avoir 4 fois F− ou 4 fois F+ (Pour p = 1/2, le nombre moyen de compositions avant coalescence est d’au plus 32) Exercice: donner un argument très simple justifiant que le couplage vers le futur ne simule pas la loi π

Aléa 06 - Chaînes de Markov – p. 22/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

Aléa 06 - Chaînes de Markov – p. 23/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

En tant que fonction aléatoire, Gn,m laisse la loi π stationnaire;

Aléa 06 - Chaînes de Markov – p. 23/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

En tant que fonction aléatoire, Gn,m laisse la loi π stationnaire; avec probabilité 1, il existe n < 0 tel que Gn,0 est une fonction constante;

Aléa 06 - Chaînes de Markov – p. 23/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

En tant que fonction aléatoire, Gn,m laisse la loi π stationnaire; avec probabilité 1, il existe n < 0 tel que Gn,0 est une fonction constante; si Gn,0 est constante, Gn0 ,0 = Gn,0 pour tout n0 < n;

Aléa 06 - Chaînes de Markov – p. 23/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

En tant que fonction aléatoire, Gn,m laisse la loi π stationnaire; avec probabilité 1, il existe n < 0 tel que Gn,0 est une fonction constante; si Gn,0 est constante, Gn0 ,0 = Gn,0 pour tout n0 < n; donc, pour tout u, lim P(G−n,0 = u) = πu

n→+∞

Aléa 06 - Chaînes de Markov – p. 23/2

Pourquoi le CFTP est correct On considère une suite doublement infinie de fonctions aléatoires indépendantes (Fn )n∈Z , et on pose (n < m) Gn,m = Fm−1 ◦ Fm−2 ◦ . . . ◦ Fn

En tant que fonction aléatoire, Gn,m laisse la loi π stationnaire; avec probabilité 1, il existe n < 0 tel que Gn,0 est une fonction constante; si Gn,0 est constante, Gn0 ,0 = Gn,0 pour tout n0 < n; (C’est un résultat de convergence monotone; ce qui échoue pour le couplage vers le futur, c’est que l’on n’a pas G0,n0 = G0,n si G0,n est constante et n0 > n)

Aléa 06 - Chaînes de Markov – p. 23/2

Versions pratiques du CFTP On n’a pas besoin de calculer complètement Gn,0 , seulement de détecter (éventuellement avec retard) que Gn,0 est constante;

Aléa 06 - Chaînes de Markov – p. 24/2

Versions pratiques du CFTP On n’a pas besoin de calculer complètement Gn,0 , seulement de détecter (éventuellement avec retard) que Gn,0 est constante; CFTP Monotone : dans tous les cas où V est un ensemble ordonné avec des éléments minimaux et des éléments maximaux, et que les fonctions F sont croissantes, la coalescence est équivalente à G(u) = G(v) pour tous les extremaux;

Aléa 06 - Chaînes de Markov – p. 24/2

Versions pratiques du CFTP On n’a pas besoin de calculer complètement Gn,0 , seulement de détecter (éventuellement avec retard) que Gn,0 est constante; CFTP Monotone : dans tous les cas où V est un ensemble ordonné avec des éléments minimaux et des éléments maximaux, et que les fonctions F sont croissantes, la coalescence est équivalente à G(u) = G(v) pour tous les extremaux; en particulier, si V est un treillis distributif fini (maximum et minimum uniques), il suffit de calculer Gn,0 (max) et Gn,0 (min); (les cas faciles sont de ce type)

Aléa 06 - Chaînes de Markov – p. 24/2

Versions pratiques du CFTP On n’a pas besoin de calculer complètement Gn,0 , seulement de détecter (éventuellement avec retard) que Gn,0 est constante; CFTP Monotone : dans tous les cas où V est un ensemble ordonné avec des éléments minimaux et des éléments maximaux, et que les fonctions F sont croissantes, la coalescence est équivalente à G(u) = G(v) pour tous les extremaux; en particulier, si V est un treillis distributif fini (maximum et minimum uniques), il suffit de calculer Gn,0 (max) et Gn,0 (min); (les cas faciles sont de ce type) binary-backoff CFTP : on calcule G−2k ,0 pour k = 1, 2, . . ., en stockant les fonctions Fn de manière à les réutiliser; ainsi, la composition se fait “dans le bon sens”

Aléa 06 - Chaînes de Markov – p. 24/2

Couplages plans 12 1

2

Aléa 06 - Chaînes de Markov – p. 25/2

Couplages plans 12 1

2

Couplages parfaits de 2n brins, sans croisements

Aléa 06 - Chaînes de Markov – p. 25/2

Couplages plans 12 1

2

Couplages parfaits de 2n brins, sans croisements Comptés par les nombres de Catalan

Aléa 06 - Chaînes de Markov – p. 25/2

Couplages plans 12 1

2

Couplages parfaits de 2n brins, sans croisements Comptés par les nombres de Catalan abababaabbab

Aléa 06 - Chaînes de Markov – p. 25/2

Transformation par croisement 12 1

2

“croisement” de deux brins (les boucles disparaissent)

Aléa 06 - Chaînes de Markov – p. 26/2

Une chaîne sur les couplages On “croise” deux brins adjacents, pris au hasard uniforme Chaîne de Markov non réversible, ergodique Distribution limite non prouvée! (“conjecture de Razumov et Stroganov”) Expérimentalement : temps de mélange (coalescence) de l’ordre de n2

Aléa 06 - Chaînes de Markov – p. 27/2

Un couplage de 60 brins. . .

Aléa 06 - Chaînes de Markov – p. 28/2

. . . et quelques-uns de 1000

Aléa 06 - Chaînes de Markov – p. 29/2

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF