Chapitre 4 : Algorithmes d`optimisation stochastiques. 1 Algorithme

Aix Marseille Universit´e. Algorithmes Stochastiques.
M2 MI3S. Fabienne Castell.
. .
Chapitre 4 : Algorithmes d’optimisation stochastiques.
Le but de ce chapitre est de pr´esenter deux algorithmes stochastiques d’optimisation d’une
fonction V:ERo`u Eest un espace de cardinal fini, mais dont le cardinal est tellement
grand qu’il est impossible de l’explorer enti`erement pour y trouver le minimum de V.
1 Algorithme du recuit simul´e.
L’observation `a la base de l’algorithme du recuit simul´e est le fait que lorsqu’on refroidit
lentement un syst`eme physique, celui-ci se fige dans un ´etat d’´energie minimale. Ceci se voit
facilement sur la loi de Gibbs d’un syst`eme de Hamiltonien V:
eE , ΠT(e) = 1
ZT
exp V(e)
T,
o`u
ZT=X
eE
exp V(e)
T.
Notons Ml’ensemble des miminima de V. Quand T0,
ZT' |M|exp Vmin
T,o`u Vmin := min
eEV(e) ;
et pour tout eE,
ΠT(e)'1
|M|exp V(e)Vmin
T
0 si V(e)> Vmin ,i.e. e /M
1
|M|si V(e) = Vmin ,i.e. eM.
Ainsi ΠTconverge quand Ttend vers 0, vers Π0qui est la loi uniforme sur M. Supposons
que l’on veuille minimiser une fonction V:ER. L’id´ee de l’algorithme de recuit est
de voir Vcomme l’´energie d’un syst`eme ;
de g´en´erer une chaˆıne de Markov (Xn) irr´eductible ap´eriodique de probabilit´e inva-
riante ΠT(par exemple par la dynamique de M´etropolis) ;
de laisser ´evoluer cette chaˆıne jusqu’`a ce qu’elle soit proche de sa mesure invariante ;
d’abaisser la temp´erature.
Au bout du compte, la chaˆıne doit se trouver dans un ´etat de M. On a en effet
Proposition 1.1 Soit Xnune chaˆıne irr´eductible ap´eriodique de probabilit´e invariante ΠT.
Quelle que soit la mesure initiale de la chaˆıne,
lim
T0lim
n+PT(Xn=e) = Π0(e)
o`u Π0est la mesure uniforme sur M={minima globaux de V}.
1
D´emonstration. Xn´etant irr´eductible ap´eriodique sur E, on sait que e0E,eE,
lim
n+PT(Xn=e|X0=e0) = ΠT(e).
On a vu de plus que limT0ΠT(e)=Π0(e).
Le terme de “recuit simul´e” vient de la physique de la mati`ere condens´ee. Le recuit est un
proc´ed´e qui consiste `a r´echauffer un solide jusqu’`a une temp´erature assez ´elev´ee pour que
les particules `a l’int´erieur du solide se r´earrangent, et ensuite `a le refroidir lentement. Lors
de ce processus, les particules se r´earrangent dans un ´etat d’´energie minimale.
Rappelons que dans ce cadre, la dynamique de M´etropolis associ´ee `a un noyau Q, consiste
partant d’un ´etat e`a choisir un nouvel ´etat e0suivant le noyau Q. Si V(e0)< V (e), e0devient
le nouvel ´etat de la chaˆıne. Si V(e0)V(e), e0est le nouvel ´etat de la chaˆıne avec probabilit´e
exp((V(e0)V(e))/T ), autrement la chaˆıne reste en e. On peut donc voir cet algorithme
comme une sorte de recherche locale du minimum, ou de descente de gradient pour lequel les
pas qui se font vers des valeurs plus basses de la fonction Vsont automatiquement effectu´es.
Si seuls ces pas ´etaient autoris´es, l’algorithme resterait coinc´e sur des miminimas locaux
de V. Pour ´eviter cela, l’algorithme autorise des pas dans la mauvaise direction, avec une
probabilit´e d’autant plus faible que Test petit. Ainsi, l’algorithme peut sortir des puits de
V, mais il peut rester pi´eg´e tr`es longtemps dans un puits de potentiel avant d’en sortir.
En pratique, au lieu de faire n+, puis T0, on aimerait pour des raisons ´evidentes
de gain de temps, effectuer les deux limites en mˆeme temps, i.e. prendre T(n)
n+
0. On
obtient alors une chaˆıne inhomog`ene, dont les transitions sont P(Xn+1 =e0|Xn=e) =
PT(n)(e, e0). Comment choisir T(n) pour que la chaˆıne inhomog`ene continue `a converger en
loi vers Π0? Il est intuitivement clair que T(n) ne doit pas d´ecroˆıtre trop vite vers 0, pour
laisser le temps `a la chaˆıne d’approcher sa mesure invariante. Le th´eor`eme suivant dˆu `a Hajek
(88) donne une condition n´ecessaire et suffisante sur T(n) pour assurer la convergence. Pour
l’´enoncer, nous avons besoin de la d´efinition suivante :
D´efinition 1.2 Soit h > 0. On dit que i /Mcommunique avec M`a hauteur h, s’il existe
un chemin e0=i, e1,· · · , elMtel que
i∈ {1,· · · l}, Q(ei1, ei)>0,et V(ei)V(i) + h .
La hauteur de communication hest la plus petite hauteur hpour laquelle tout ´etat de E\M
communique avec M`a hauteur h.
Th´eor`eme 1.3 L’algorithme de recuit simul´e associ´e `a la dynamique de M´etropolis de
noyau Q, et au sch´ema de temp´erature T(n)converge si et seulement si
lim
n→∞ T(n) = 0 ,et
X
n=1
exp h
T(n)=.
D´emonstration on consultera [M. Duflo, Algorithmes stochastiques, chapitre 6, collection
Math´ematiques et Applications no23].
On prendra donc des sch´emas de temp´erature du type T(n) = h/ log(n) avec hh, ou du
type T(n)=1/k pour n[e(k1)h;ekh[ (k1 et hh). Malheureusement, en pratique
hn’est pas connue, et de plus ce th´eor`eme est un r´esultat asymptotique qui ne donne pas
d’indication sur le temps d’atteinte de Mpar la chaˆıne.
2
2 Algorithmes g´en´etiques.
Les algorithmes g´en´etiques sont apparus quelques ann´ees avant l’algorithme de recuit simul´e,
et partent cette fois d’une constatation de nature biologique : la s´election naturelle selon
laquelle l’´evolution d’une population a tendance `a maximiser l’adaptation au milieu dans
lequel elle vit. On va donc plutˆot voir ici le probl`eme d’optimisation comme un probl`eme
de maximisation d’une fonction V:E7→ R, qui sera interpr´et´ee comme une fonction
d’adaptation. On notera toujours Ml’ensemble des maximas de V.
Les algorithmes g´en´etiques simulent une population de mindividus qui ´evoluent de fa¸con
markovienne, i.e. une chaˆıne de Markov dont l’espace d’´etat est Em, et dont la mesure
invariante est une probabilt´e sur Mm. L’´evolution de cette population se fait selon deux
m´ecanismes qui s’inspirent des m´ecanismes de la s´election naturelle. Supposons qu’`a l’´etape
n, les mindividus de la population se trouve dans l’´etat XnEm, et d´ecrivons le passage
de Xn`a Xn+1.
Etape 1 : la mutation. Chaque individu de la population mute de fa¸con ind´ependante
des autres individus avec probabilit´e p=ea/T (o`u a > 0 et T > 0 sont des param`etres
de l’algorithme). S’il d´ecide de muter, il passe de l’´etat eEdans lequel il se trouve
`a un autre ´etat e0choisi suivant une matrice de transition Qsur E(Qest un autre
param`etre de l’algorithme). A l’issue de l’´etape de mutation, on se retrouve avec m
nouveaux individus dont les ´etats sont YnEm.
Etape 3 : la s´election. Les mindividus de Xn+1 sont choisis de fa¸con ind´ependante
parmi les individus de Ynavec un poids qui d´epend de leur adaptation au milieu. Si
Yn= (e1,· · · , em), la probabilit´e de choisir eiest donn´ee par
exp cV (ei)
T
Pm
j=1 exp cV (ej)
T.
Ainsi, comme pour le recuit simul´e, les algorithmes g´en´etiques couplent une exploration
al´eatoire de l’espace d’´etats (´etape de mutation) avec une recherche de l’optimum dans
l’espace explor´e (´etape de s´election).
Notez que lorsque T= 0, l’ ´etape de mutation disparait. Quant `a l’´etape de s´election, elle
consiste alors `a choisir dans les individus pr´esents `a l’´etape nceux qui ont une adaptation
maximale et cela de fa¸con uniforme. Dans ce cas, il est clair que l’algorithme va converger
vers une population constitu´ee des individus d’adaptation maximale parmi les individus
de d´epart. Si l’´etat qui maximise Vne se trouve pas dans la population de d´epart, il est
impossible de le trouver.
Lorsque T > 0, l’´etapes de mutation permet d’introduire de nouveaux types d’individus
dans la population. Quant `a l’´etape de s´election, elle permet `a des individus sous-optimaux
de survivre `a l’´etape suivante, avec une probabilit´e strictement positive mais d’autant plus
petite qu’ils sont “inadapt´es”.
Les param`etres de l’algorithme sont m, V, T, a et Q, ce qui fait beaucoup !
Il est clair que si Qest une matrice de transition sur Eirr´eductible, la chaˆıne (Xn) l’est
´egalement. Elle admet donc une unique mesure invariante ΠTsur Em. De plus, si a, c et T
sont strictement positifs, il y a une probabilit´e non nulle de rester sur place ; (Xn) est alors
ap´eriodique, et sa loi `a l’instant nconverge vers ΠT. Le probl`eme est maintenant de voir
que lorsque T0, ΠTse concentre sur Mm.
Th´eor`eme 2.1 Il existe une taille de population critique mc=mc(a, c, V, Q)telle que si
m > mc,limT0ΠT(Mm) = 1.
3
On peut avoir une description assez pr´ecise de la d´ependance de mcen fonction des autres
param`etres. Malheureusement, comme mcd´epend de V, elle n’est pas calculable en pratique.
Comme la loi de Xnconverge vers ΠT, on d´eduit du th´eor`eme 2.1 que pour m > mc,
lim
T0lim
n→∞
P[XnMm] = 1 .
Comme dans le cas du recuit simul´e, on souhaite effectuer les deux limites simultan´ement,
i.e. trouver des scemas de temp´eratures T(n) tels que la chaˆıne inhomog`ene associ´ee (not´ee
XT(n)
n) a une loi qui se concentre sur Mm.
Le th´eor`eme suivant est dˆu `a R. Cerf.
Th´eor`eme 2.2 Il existe des constantes h
1et h
2(d´ependant de m, a, c, V ) telles que si
X
n
exp h
1
T(n)= +et X
n
exp h
2
T(n)<+,
alors limn→∞ PhXT(n)
nMmi= 1.
L’algorithme ne peut donc converger que si h
1< h
2, ce qui revient `a dire que m>mc. Un
sch´ema de temp´erature du type
T(n) = 1
ksi e(k1)hnekh , , (1)
va donc converger si h
1< h < h
2. L`a encore, ce r´esultat th´eorique n’est pas tr`es utile en
pratique car les constantes h
1et h
2d´ependant de V, elles ne sont pas calculables en pratique.
Toutefois l’´ecart h
2h
1est une fonction croissante de m, et on a donc int´erˆet `a choisir mle
plus grand possible, tout en restant compatible avec la taille de la m´emoire dont on dispose,
et la vitesse d’ex´ecution du programme.
3 TP : Application au probl`eme du voyageur de com-
merce.
Le probl`eme du voyageur de commerce est un probl`eme classique que l’on peut formuler
de la fa¸con suivante : un voyageur ayant nvilles `a visiter, souhaite ´etablir une tourn´ee au
d´epart de la ville v1, qui lui permet de passer une fois et une seule par chaque ville tout en
minimisant la distance parcourue.
On choisira pour El’ensemble des n-listes
Lσ= [vσ(1), vσ(2), ..., vσ(n)],
de ces villes ayant pour premier terme vσ(1) =v1, σ ´etant une permutation laissant 1 inva-
riant. L’espace Econtient donc (n1)! listes qui repr´esentent chacune une tourn´ee.
La fonction V`a optimiser est d´efinie sur Epar
V(Lσ) =
i=n
X
i=1
dist(vσ(i), vσ(i+1))
o`u l’on note vσ(n+1) =v1.
4
3.1 recuit simul´e
Pour mettre en œuvre la m´ethode du recuit simul´e sur ce probl`eme, il nous faut encore
choisir la matrice Q. Pour cela, on dira que deux tourn´ees Let L0sont voisines, s’il existe
une transposition τi,j sur [L1, .., Ln] avec 2 i<jn, permutant Liet Lj,telle que
τi,j(L) = L0. Q(L, L0) est alors la probabilit´e uniforme sur les (n1)(n2)/2 voisins de L.
La relation de voisinage ´etant sym´etrique, la matrice de transition Q(L, L0) l’est aussi. De
plus, comme les transitions engendrent les permutations, tous les points de Ecommuniquent.
Impl´ementation. Une liste Lde villes sera repr´esent´ee par une matrice n×2 donnant les
coordonn´ees des villes.
1. Ecrire la fonction d=dist(L) qui calcule la distance parcourue le long de la tourn´ee
L.
2. Ecrire une fonction LL=transp(L,i,j) qui prend en argument une liste de longueur
n, deux entiers i, j tels que 2 i<jnet retourne la liste voisine τ(i,j)(L).
3. Ecrire une fonction LL= rvois-ville(L) qui prend une liste Len argument et re-
tourne al´eatoirement une liste voisine de Lau sens pr´ec´edent, de telle sorte que
rvois-ville(L) simule une variable de loi uniforme sur l’ensemble des voisins de L.
4. Ecrire une fonction [Lmin,LL,eLL]=recuit(voisin,energie,T,L0,P), qui prend
comme arguments
voisin, chaˆıne de caract`eres contenant le nom du g´en´erateur al´eatoires de voisins.
energie, chaˆıne de caract`eres contenant le nom de la fonction `a minimiser ;
T, suite des temp´eratures, vecteur (N-1)x1 ;
L0, ´etat initial de la chaˆıne ;
P, param`etres ´eventuels de la fonction energie ;
et rend
Lmin, ´etat qui minimise la fonction energie parmi ceux visit´es par la chaˆıne.
LL, ´etat final de la chaˆıne.
eLL, suite des ´energies (vecteur Nx1) ;
5. Mettre en œuvre le recuit simul´e pour T(n) = en,T(n) = klog(n). Le tester d’abord
sur de petites valeurs de npour lesquelles on pourra calculer le miminum.
3.2 Algorithme g´en´etique.
Ici, on va cherche `a maximiser V. Une population est constitu´ee par mtourn´ees. Une
tourn´ee va ˆetre ici repr´esent´ee par une ligne d’entiers entre 2 et nqui repr´esentent l’ordre
dans lequel on effectue la tourn´ee. Ainsi pour n= 3, la ligne (3,2) signifie qu’on effectue la
tournee (ville 1, ville 3, ville 2, ville 1). On aura pris soin au pr´ealable de d´efinir un tableau
Villes de taille 2 ×ncontenant les abscisses et les ordonn´ees des diff´erentes villes.
Une population sera repr´esent´ee par un tableau m×(n1) d’entiers entre 2 et nqui donnent
sur chaque ligne une tourn´ee.
Pour l’´etape de mutation, on va choisir pour Qla matrice utilis´ee pour le recuit qui consiste
`a ´echanger deux villes dans une tourn´ee.
On devra ´ecrire :
une fonction d=dist(pop,Villes), qui pour chaque tourn´ee de la population pop,
calcule la distance parcourue lors de la tourn´ee. dest donc un vecteur colonne de
dimension m, qui contient les distances associ´ees `a chaque tourn´ee de pop.
5
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !