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

publicité
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
Téléchargement