• Aucun résultat trouvé

Spectre a basse temperature

Dans le document en economie et en nance (Page 115-120)

4.2 Recuit simule

4.2.3 Spectre a basse temperature

Les resultats de cette section sont issus d'un travail en collaboration avec Y. Colin de Verdiere et Y. Pan [24]. Nous supposerons ici que les valeurs de la fonction f sont multiples d'une m^eme quantitef et que les dierences d'energies entre sommets voisins valent 0 ou f.

8i2E ; f(i)2fIN ; 8fi;jg2A ; f(i) f(j)2f f;0;+fg: (4.18) Cette hypothese simplie beaucoup l'ecriture des resultats qui vont suivre sans res-treindre vraiment la portee des arguments. Dans les cas pratiques ou il est possible de discretiser la fonction a minimiser de maniere a se ramener a cette hypothese, l'algorithme de recuit simule s'en trouve considerablement allege.

UnsurT 0

choisir j au hasard parmi les voisins de i Si (f(j)f(i))

nSin n+1 Jusqu'a (n Palier) Jusqu'a (arr^et de la simulation)

Dans ce qui suit, comme dans l'algorithme ci-dessus, on note

" = exp f T

!

:

Du fait de l'hypothese 4.18, la mesure de Gibbs et la matrice de transition de l'algorith-me de Metropolis s'expril'algorith-ment en fonction de " et seront notees respectivement (p"i) et (p"ij).

p"i = 1Z(")"f(i)=f ;

et p"ij = 1r sifi;jg2A ;f(i)f(j);

= "

r sifi;jg2A ;f(i)< f(j);

= 0 sifi;jg2= A ;

ou r designe le degre maximal d'un sommet du graphe G (les coecients diagonaux sont tels que la somme des coecients d'une m^eme ligne vaut 1).

Notre but ici est de decrire le comportement asymptotique des valeurs propres de la matrice P" a basse temperature, c'est-a-dire quand " tend vers 0.

Nous aurons besoin de quelques notations pour decrire le paysage d'energie sur le graphe. La relation de voisinage est notee .

ij () fi;jg2A :

On notera R la relation d'equivalence regroupant les sommets du graphe qui commu-niquent a energie constante.

8i;j 2E ; iRj () 9k1 =ik2 k` =j etf(k1) ==f(k`): Les classes de cette relation seront notees ;;::: On notera encore f() la valeur commune de la fonction d'energie sur la classe . On dira que deux classes et communiquent s'il existe une ar^ete du graphe qui les relie (la dierence jf() f()j ne peut valoir que f dans ce cas). Une classe est dite minimale pour la fonction d'energie f si elle ne communique pas avec des classes de niveau d'energie inferieur.

Nous denissons par recurrence une suite de fonctions d'energie deduites de f par remplissage successif des classes minimales.

Denition 4.25

Notonsf0 =f. SoitE0 l'ensemble des classes minimales def0. Pour h entier positif, supposons denie une fonction d'energie fh sur E. Soit Eh l'ensemble

112

de ses classes minimales. La fonction fh+1 est denie sur E par fh+1(i) = fh(i) +f si 92Eh ; i2 ;

= fh(i) sinon :

La hauteur de communication h de f est le premier indice tel que jEhj= 1.

La denition de h est bien la m^eme qu'au paragraphe precedent. C'est la hauteur minimale qu'il faut franchir dans le paysage d'energie pour pouvoir sortir de n'importe quel puits, sauf des minima globaux. Quand " tend vers 0, parmi les valeurs propres de P", un certain nombre tendent vers des limites strictement inferieures a 1, d'autres tendent vers 1. Ce sont celles-la qui contr^olent la vitesse d'acces a l'equilibre. Si `(") est une valeur propre de P", on notera`(") = 1 `("). La proposition suivante decrit les ordres de grandeur des `(").

Proposition 4.26

Quand " tend vers 0, parmi les `(")

jEj jE0j valeurs convergent vers une limite strictement positive.

Pour touth entre1eth,jEh 1j jEhjvaleurs sont equivalentes, a une constante pres, a "h.

On peut interpreter la proposition ci-dessus de la facon suivante. Determiner les valeurs propres deP" ou de I P" (les `(")) a l'ordre", revient a changer l'echelle de temps, en se placant sur des intervalles d'observation de longueur susante pour que des transitions de probabilite"=r (augmentations d'energie) aient eectivement lieu. Ceci revient a augmenter de 1 exactement le niveau d'energie de chacune des classes mini-males, c'est-a-dire a remplacer f0 par f1. Le nombre de classes minimales ne peut que rester constant ou diminuer. S'il est reste constant, toutes les valeurs propres \petites"

sont d'ordre "2 au moins. S'il a diminue, la dierence entre jE0j et jE1j est le nombre de valeurs propres d'ordre " exactement. Cette description se poursuit jusqu'a ce que toutes les classes minimales aient ete fondues en une seule. Cela arrive pour la valeur h, la hauteur de communication de f. Toute valeur propre `(") est donc d'ordre "h ou hh. Les plus petites d'entre elles sont d'ordre "h exactement, ce qui justie la proposition 4.24. Cette description est classiquement deduite de la theorie de Freidlin et Wentzell [37]. Nous ne donnerons pas une demonstration complete de la proposi-tion 4.26, mais simplement une idee de justicaproposi-tion algebrique. En particulier, nous armons sans demonstration que les valeurs propres `(") admettent un equivalent en 0 qui est une puissance entiere de " (on demontre en fait que ce sont des fonctions analytiques de ").

Demonstration : Les `(") sont valeurs propres de la matrice I P mais aussi de la matriceI DPD 1, introduite en 4.1.4. La forme quadratique associee a cette matrice (formule (4.5)) s'ecrit ici de la facon suivante.

Q(u;u) = X

ij f(i)<f(j)

1r(

p"ui uj)2 + X

ij f(i)=f(j)

1r (ui uj)2 : (4.19)

113

Si `(") est valeur propre de I P, alors il existe un vecteur u de norme 1 tel que

Q(u;u) =`("). Supposons que `(") soit d'ordre O("). Il est facile de voir sur (4.19) que le vecteurucorrespondant est tel que ses coordonnees sont d'ordrep"en dehors des classes minimales, et constantes ap" pres sur les classes minimales. L'espace vectoriel des vecteurs constants sur les classes minimales a pour dimension le nombre de classes minimalesjE0j. Une base est constituee par les vecteurs

11

;2E0. A chacun de ces vecteurs correspond une valeur propre `(") d'ordre ". Nous utilisons ici la continuite de la decomposition spectrale quand" tend vers 0. On itere ensuite le raisonnement en cherchant lesquelles parmi les jE0j valeurs propres petites ainsi trouvees sont d'ordre

"h. 2

La proposition 4.26 ne fournit qu'une indication assez grossiere sur le comportement des dierentes valeurs propres. Pour evaluer plus precisement la vitesse de convergence de l'algorithme de Metropolis, il faudrait disposer d'equivalents exacts de ces valeurs propres, ainsi que des vecteurs propres associes (utilisation de la formule (4.14)). C'est possible en theorie, mais les calculs sont pour l'instant de complexite superieure a la recherche systematique du minimum de f, donc sans inter^et pratique.

4.2.4 Implementation

Finalement, l'algorithme de recuit simule tel qu'il sera eectivement programme sera le suivant.

UnsurT 0

InitialiserX

n 0

Repeter

UnsurT UnsurT+1 Palier exp(UnsurTh) Repeter

i X

choisir j au hasard parmi les voisins de i Si (f(j)f(i))

Alors X j Sinon

Si (Random < exp((f(i) f(j))UnsurT)) alors X j

nSi nSi

n n+1 Jusqu'a (n Palier) Jusqu'a (arr^et de la simulation)

Par rapport a la theorie, le point essentiel est que la hauteur de communication h n'est pas connue. Il faut voir le parametre h comme un des \boutons de reglage" de l'algorithme. Il devra ^etre ajuste experimentalement. Un autre bouton de reglage est la

114

structure de graphe choisie sur l'espace. En general plusieurs choix sont possibles et on pourra opter pour une structure de voisinage qui permette une exploration plus rapide de l'espace si cela n'alourdit pas trop l'algorithme. A titre d'exemple, nous traitons ci-dessous un des problemes les plus celebres de l'optimisation combinatoire.

Exemple :

Le probleme du voyageur de commerce [60, 73].

Les elements de f1;:::;dg sont des villes dont les distances sont donnees.

(a;b)0; 8a;b2f1;:::;dg:

On note f l'application qui a une permutation cyclique de f1;:::;dg associe f() = dX1

i=1(i(1);i+1(1)):

La quantitef() represente la longueur totale du trajet qui visite lesdvilles dans l'ordre specie par. Le probleme est de trouver une permutation qui minimise f(). Nous supposerons que les d villes sont rangees dans un tableau d'entiers de longueur d : ordre. Les distances (a;b) sont rangees dans un tableau distance. La fonction f pour un ordre donne est calculee comme suit.

Fonction f(ordre)

f distance[ordre[1],ordre[d]]

Pour ide 1a d 1

f f+distance[ordre[i],ordre[i+ 1]]

nPour Retourner f nFonction

Nous avons besoin egalement d'une fonction d'exploration de l'espace d'etats, qui choisisse au hasard entre un certain nombre d'ordres \voisins" de l'ordre courant. Le plus simple consiste a echanger deux villes consecutives

Fonction permuter(ordre)

ordre

i Random(f1;:::;dg) j i+ 1 modulo d Echanger [i] et [j] Retourner

nFonction

On obtiendra une exploration plus ecace en permutant 3 ou 4 villes consecutives a la fois.

L'algorithme principal est le suivant.

UnsurT 0

Pour i de 1ad ordre[i] i

115

nPour

f1 f(ordre)

n 0

Repeter

UnsurT UnsurT+1 Palier exp(UnsurTh) Repeter

ordre2 permuter(ordre) f2 f(ordre2)

Si (f2 f1) Alors

ordre ordre2 f1 f2 Sinon

proba exp((f1 f2)UnsurT) Si (Random <proba)

alors ordre ordre2 f1 f2

nSi nSi

n n+1 Jusqu'a (n Palier) Jusqu'a (arr^et de la simulation)

Dans le document en economie et en nance (Page 115-120)