• Aucun résultat trouvé

Nous allons maintenant voir un autre int´erˆet des m´ethodes de simulation par chaˆınes de Markov. Le probl`eme consiste `a trouver un minimum de la fonction d’´energieV sur E. Dans certaines situations c’est tr`es difficile : on traite dans l’exercice 67 un exemple o`u ce probl`eme est NP-complet, avec le probl`eme duvoyageur de commerce. Notons

Vmin={x∈E|V(x) = inf

E V}.

Chaˆınes de Markov

5.5.1 Algorithme du recuit Lemme 5.5.1 On a la convergence

πV,0

def.= lim

T→0πV,T = 1 cardVmin

X

x∈Vmin

δx.

Preuve. Soientx, ydeux points deE. On a πV,T(y)

πV,T(x) = e−(V(y)−V(x))/T. Par cons´equent, siV(y)> V(x)alorslimT→0πV,T(y)

πV,T(x) = 0donclimT→0πV,T(y) = 0.

Cela est n´ecessairement vrai pour touty 6∈ Vmin. Pourx, y ∈ Vmin on aπV,T(x) = πV,T(y)pour toutT.2

On voudrait donc de simuler par l’algorithme de Metropolis-Hastings les mesures πV,T pour desT de plus en plus petits. On notePT la matrice de transition associ´ee.

Le probl`eme est que le temps de convergence de la chaˆıne vers sa mesure d’´equilibre est typiquement d’ordreexp CT

(on donne quelques ´el´ements de justification dans la partie 5.5.2). L’id´ee est donc de diminuerT par paliers, en attedant `a chaque fois un peu plus longtemps.

Plus pr´ecis´ement (voir Th´eor`eme 3.3.11 et section 3.3.4 dePromenade al´eatoire de Bena¨ım et El Karoui),on consid`ere une chaˆıne de Markov obtenue par l’algorithme de Metropolis `a partir d’une mesure de Gibbs associ´ee `a un potentiel dont on suppose qu’il v´erifie

Q(x, y)>0⇒V(x)6=V(y). (5.7) Th´eor`eme 5.5.2 On suppose queV a la propri´et´e(5.7)et queinfEV > 0. Il existe une constanteCne d´ependant que deV telle que si l’on choisit une suite de temp´eratures (T(n))ndonn´ees par

T(n) = 1

k pour eC(k−1)≤n <eCk, alors on a

limn PT(n). . . PT(1)f = 1 cardVmin

X

x∈Vmin

f(x).

On obtient donc sous les hypoth`eses du Th´eor`eme, que partant de n’importe quel x∈E on atteindra presque-sˆurement un minimum deV. Cet algorithme s’appelle le

“recuit simul´e”, par analogie avec la technique m´etallurgique o`u l’on obtient un m´etal durci en le chauffant avant de le laisser refroidir lentement, et ce plusieurs fois.

Une description rapide de cet algorithme est la suivante : on teste des changements de configuration en les s´electionnant au hasard suivantQ. Si le changement fait bais-serV (cas∆V <0) alors on accepte la nouvelle configuration. Si le changement fait augmenterV (cas∆V >0), on peut l’accepter ou le refuser, suivant queU ≤e−∆V /T ou non. Le premier m´ecanisme tend `a faire diminuerV; le deuxi`eme ´evite que l’on se

retrouve coinc´e en un minimum local. Le param`etre modifiant la tendance `a accepter un changement d´efavorable estT (on l’accepte d’autant plus queT est grand) ; choi-sirT d´ecroissant vers0 nous assure que l’on finira par se fixer en un minimum, la d´ecroissance lente doit nous assurer que l’on aura pris assez de risque pour explorer

“toutes” les possibilit´es avant de se fixer.

Les obstructions techniques sont de deux types :

• on doit choisir un sch´ema de d´ecroissance par palier d´ependant d’une constante C, mais ceCest difficile `a calculer en pratique),

• on a la convergence presque-sˆure, mais expliciter la vitesse de convergence est difficile.

En pratique, il sera facile de voir si l’algorithme converge vers un minimum de V. En faisant tourner des simulations, on verra si l’algorithme se comporte bien, et en particulier s’il semble avoir l’une des pathologies suivantes :

• une convergence trop lente, due `a un algorithme qui continue trop longtemps `a acccepter les s´elections obtenues parQ(ce qui se produit quand la temp´erature d´ecroˆıt trop lentement) ;

• une convergence trop rapide, en g´en´eral vers un minimum local, due `a un algo-rithme qui se met trop rapidement `a refuser les s´elections obtenues parQ(ce qui se produit quand la temp´erature d´ecroˆıt trop rapidement).

On aura donc int´erˆet `a jouer `a varier la valeur deC. . . ou mˆeme `a changer de sch´ema de d´ecroissance par palier.

Exercice 67 Un voyageur doit visiterrvilles, que l’on repr´esente parrpointsM1, . . . , Mr

du plan. Sa ville de d´epart doit ˆetre la mˆeme que sa ville d’arriv´ee, mais on sup-pose (cela simplifie les notations) qu’il peut choisir cette ville aussi. Puisqu’il passera dans chaque ville une et une seule fois, son parcours est d´etermin´e par une permu-tation σ de {1, . . . , r}, doncE = Sr. Les villes visit´ees sont alors, dans l’ordre, Mσ(1), Mσ(2). . . , Mσ(1)La distance entre les villesietjsont donn´ees pard(i, j); le voyageur parcourra donc une distance

V(σ) =

r

X

i=1

d(Mσ(i), Mσ(i+1)) (5.8)

o`u l’on consid`ere que r+ 1 = 1. On souhaite trouver un itin´eraire σpour lequel la distance parcourue totale est minimale. Il y ar!itin´eraires ; tous les tester serait beaucoup trop long. On va donc utiliser le recuit simul´e.

1. Ecrire une fonction Python qui, pour des variables d’entr´ee Met sigmaqui sont respectivement une liste de paires de points repr´esentant les coordonn´ees (x1, y1), . . . ,(xr, yr) derpointsM1, . . . , Mr du plan et une permutation de {1, . . . , n}, calcule la distance totaleV(σ)telle que d´efinie par la relation(5.8).

2. On consid`ere la transitionQdont l’´evolution est la suivante : partant deσ, on choisit au hasard et uniform´ement deux points distincts, qui s’´ecrivent doncσ(i) etσ(j). Si par exemple on visitaitσ(i)avantσ(j)(c’est-`a-dire sii < j) alors on ´echangeσ(i)etσ(j)dans l’itin´eraire (par exemple si le couple choisi est3,6

Chaˆınes de Markov

alors[2,3,1,4,6,5]devient[2,6,1,4,3,5]). Montrez que l’´evolution en ques-tion a la propri´et´eQ(σ, σ0) =Q(σ0, σ), puis ´ecrivez une fonction qui pour une variable d’entr´ee sigma repr´esentant une permutation σ, retourne sigmap repr´esentantσ0d´efinie comme ci-dessus.

3. Pour unT >0, reprenez l’algorithme de Metropolis–Hastings pourQetπV,T. Observez que l’´evolution de matrice de transition PT est d´efinie simplement comme suit : partant deσ,

(a) on modifie l’itin´eraireσenσ0comme ci-dessus,

(b) on calcule∆V =V(σ0)−V(σ)et on simule une uniformeU ∼ U([0,1]), (c) siU <e−∆V /T, on s´electionneσ0, sinon on conserveσ.

4. Pour les pointsM1, . . . , Mr, on tirerpoints au hasard3dans[0,1]2. Appliquer l’´evolution ci-dessus avec une temp´erature variable suivant le sch´ema donn´e dans le Th´eor`eme 5.5.2, en faisant varier la valeur deC. On pourra essayer aussi avec une variation plus rapideT(n) =C/net comparer les r´esultats.

5.5.2 Vitesse de convergence : m´ethode spectrale

Donnons ici quelques ´el´ements sur la vitesse de convergence de la chaˆınePT, qui sont les r´esultats sous-jacents au Th´eor`eme 5.5.2. L’un des int´erˆets math´ematiques de l’hypoth`ese de r´eversibilit´e vient du r´esultat suivant :

Lemme 5.5.3 La matriceP est r´eversible par rapport `aπsi et seulement si elle est autoadjointe pour le produit scalaire d´efini parhf, giπ=P

x∈Ef(x)g(x)π(x). Dans ce cas, ses valeurs propres peuvent s’´ecrire

1≥v1≥v2≥. . .≥vd≥ −1.

Si de plus P est irr´eductible, alors1 = v1 > v2. Si de plus P est irr´eductible et ap´eriodique alorsvd>−1.

Sous l’hypoth`ese quePest irr´eductible et ap´eriodique alorsPnf va tendre vers la projection def sur le vecteur propre deP associ´e `a1. Comme celui-ci est la fonction constante ´egale `a 1 et que la projection est par rapport `a h, iπ on a →

n→∞

Rfdπ.

On peut am´eliorer ce r´esultat et obtenir une vitesse de convergence en notant ρ = max(|v2|,|vd|). Pour toute fonctionfsurEon a pour toutn:

Pnf − Z

fdπ

π≤ρn f −

Z fdπ

π.

En pratique, des calculs plus p´enibles que r´eellement compliqu´es (voir encore Pro-menade al´eatoirede Bena¨ım et El Karoui) permettent de montrer, pour une chaˆıne de Markov obtenue par l’algorithme de Metropolis `a partir d’une mesure de Gibbs as-soci´ee `a un potentiel qui v´erifie (5.7), que l’on a une in´egalit´e

ρ≤1−d−3e−C(V)/T

3. Si l’on est un peu plus curieux de vraies donn´ees, on peut aller r´ecup´erer les positions des villes franc¸aises surdata.gouv.fr

o`u d = cardE et C(V) est la fameuse constante qui ne d´epend que de V (et en particulier pas deT).

Ainsi, partant de n’importe quelle distributionµ, la probabilit´eµnconverge expo-nentiellement vite versπV,T – mais avec un taux

−log(1− 1

d3e−C(V)/T) ∼

T→0d−3e−C(V)/T donc qui s’approche rapidement de z´ero lorsqueT →0.

Documents relatifs