Professional Documents
Culture Documents
1 Principes generaux
Les algorithmes genetiques sont des algorithmes doptimisation sappuyant sur des techniques derivees de
la genetique et de levolution naturelle1 : croisements, mutations, selection, etc. Les algorithmes genetiques
ont dej`a une histoire relativement ancienne puisque les premiers travaux de John Holland sur les syst`emes
adaptatifs remontent a` 1962 [Hol62]. Louvrage de David Goldberg [Gol89c] a largement contribue a` les
vulgariser.
Un algorithme genetique recherche le ou les extrema dune fonction definie sur un espace de donnees.
Pour lutiliser, on doit disposer des cinq e lements suivants :
1. Un principe de codage de lelement de population. Cette e tape associe a` chacun des points de
lespace detat une structure de donnees. Elle se place generalement apr`es une phase de modelisation
mathematique du probl`eme traite. La qualite du codage des donnees conditionne le succ`es des
algorithmes genetiques. Le codage binaires ont e te tr`es utilises a` lorigine. Les codages reels
sont desormais largement utilises, notamment dans les domaines applicatifs pour loptimisation de
probl`emes a` variables reelles.
2. Un mecanisme de generation de la population initiale. Ce mecanisme doit e tre capable de produire
une population dindividus non homog`ene qui servira de base pour les generations futures. Le choix
de la population initiale est important car il peut rendre plus ou moins rapide la convergence vers
loptimum global. Dans le cas o`u lon ne connat rien du probl`eme a` resoudre, il est essentiel que la
population initiale soit repartie sur tout le domaine de recherche.
3. Une fonction a` optimiser. Celle-ci retourne une valeur de <+ appelee fitness ou fonction devaluation
de lindividu.
4. Des operateurs permettant de diversifier la population au cours des generations et dexplorer lespace
detat. Loperateur de croisement recompose les g`enes dindividus existant dans la population,
loperateur de mutation a pour but de garantir lexploration de lespace detats.
5. Des param`etres de dimensionnement : taille de la population, nombre total de generations ou crit`ere
darret, probabilites dapplication des operateurs de croisement et de mutation.
Le principe general du fonctionnement dun algorithme genetique est represente sur la figure 1 : on
commence par generer une population dindividus de facon aleatoire. Pour passer dune generation k a` la
generation k + 1, les trois operations suivantes sont repetees pour tous les e lements de la population k. Des
couples de parents P1 et P2 sont selectionnes en fonction de leurs adaptations. Loperateur de croisement
leur est applique avec une probabilite Pc (generalement autour de 0.6) et gen`ere des couples denfants
C1 et C2 . Dautres e lements P sont selectionnes en fonction de leur adaptation. Loperateur de mutation
leur est applique avec la probabilite Pm (Pm est generalement tr`es inferieur a` Pc ) et gen`ere des individus
mutes P 0 . Le niveau dadaptation des enfants (C1,C2 ) et des individus mutes P 0 sont ensuite e values avant
insertion dans la nouvelle population. Differents crit`eres darret de lalgorithme peuvent e tre choisis :
1 Il est int
eressant de trouver dans luvre dun specialiste de zoologie, Richard Dawkins [Daw89], un exemple informatique
tendant a` prouver la correction de lhypoth`ese darwinienne de la selection naturelle. La methode utilisee est presque semblable aux
techniques genetiques.
POPULATION
Gnration k
REPRODUCTION
PROBABILITE Pm
P1
MUTATION
P2
PROBABILITE Pc
CROISEMENT
E1
E2
EVALUATION
POPULATION
Gnration k+1
2 Description detaillee
2.1 Codage des donnees
Historiquement le codage utilise par les algorithmes genetiques e tait represente sous forme de chanes de
bits contenant toute linformation necessaire a` la description dun point dans lespace detat. Ce type de
codage a pour interet de permettre de creer des operateurs de croisement et de mutation simples. Cest
e galement en utilisant ce type de codage que les premiers resultats de convergence theorique ont e te
obtenus.
Cependant, ce type de codage nest pas toujours bon comme le montrent les deux exemples suivants :
deux e lements voisins en terme de distance de Hamming ne codent pas necessairement deux e lements
proches dans lespace de recherche. Cet inconvenient peut e tre e vite en utilisant un codage de Gray.
Pour des probl`emes doptimisation dans des espaces de grande dimension, le codage binaire peut
rapidement devenir mauvais. Generalement, chaque variable est representee par une partie de la
chane de bits et la structure du probl`eme nest pas bien refletee, lordre des variables ayant une
importance dans la structure du chromosome alors quil nen a pas forcement dans la structure du
probl`eme.
Les algorithmes genetiques utilisant des vecteurs reels [Gol91, Wri91] e vitent ce probl`eme en conservant les variables du probl`eme dans le codage de lelement de population sans passer par le codage binaire
intermediaire. La structure du probl`eme est conservee dans le codage.
P1
P2
CROISEMENT
C1
C2
Figure 2: Slicing crossover
P1
P2
CROISEMENT
C1
C2
Figure 3: Slicing crossover a` 2 points
C1
P1
C2
P2
Figure 4: Croisement barycentrique
chromosome initial
g1
gi
gi
g1
gn
gi
gi
gn
chromosome mut
On peut imaginer et tester des operateurs de croisement plus ou moins complexes sur un probl`eme
donne mais lefficacite de ce dernier est souvent lie intrins`equement au probl`eme.
adaptes aux probl`emes quils traitent. Dans le cadre de notre travail, les deux principes de selection suivants
ont e te testes et e values:
Roulette wheel selection [Gol89c];
Stochastic remainder without replacement selection [Gol89c];
Le principe de Roulette wheel selection2 consiste a` associer a` chaque individu un segment dont la
longueur est proportionnelle a` sa fitness. On reproduit ici le principe de tirage aleatoire utilise dans les
roulettes de casinos avec une structure lineaire. Ces segments sont ensuite concatenes sur un axe que lon
normalise entre 0 et 1. On tire alors un nombre aleatoire de distribution uniforme entre 0 et 1, puis on
regarde quel est le segment selectionne. Avec ce syst`eme, les grands segments, cest-`a-dire les bons
individus, seront plus souvent adresses que les petits. Lorsque la dimension de la population est reduite,
il est difficile dobtenir en pratique lesperance mathematique de selection en raison du peu de tirages
effectues. Un biais de selection plus ou moins fort existe suivant la dimension de la population.
La Stochastic remainder without replacement selection e vite ce genre de probl`eme et donne de bons
resultats pour nos applications. Decrivons ce principe de selection :
Pour chaque e lement i, on calcule le rapport ri de sa fitness sur la moyenne des fitness.
Soit e(ri ) la partie enti`ere de ri , chaque e lement est reproduit exactement e(ri ) fois.
La roulette wheel selection precedemment decrite est appliquee sur les individus affectes des fitness
ri e(ri ).
Compte-tenu du fait que des faibles populations seront utilisees par la suite, ce principe de selection
sav`erera le plus efficace dans les applications pratiques et sera donc utilise par la suite.
3 Ameliorations classiques
3.1 Introduction
Les processus de selection presentes sont tr`es sensibles aux e carts de fitness et dans certains cas, un tr`es
bon individu risque detre reproduit trop souvent et peut meme provoquer lelimination compl`ete de ses
congen`eres; on obtient alors une population homog`ene contenant un seul type dindividu. Ainsi, dans
lexemple de la figure 6 le second mode M2 risque detre le seul representant pour la generation suivante
et seule la mutation pourra aider a` atteindre lobjectif global M1 au prix de nombreux essais successifs.
Pour e viter ce comportement, il existe dautres modes de selection (ranking) ainsi que des principes
(scaling, sharing) qui empechent les individus forts deliminer compl`etement les plus faibles. On peut
e galement modifier le processus de selection en introduisant des tournois entre parents et enfants, base sur
une technique proche du recuit.
Enfin, on peut e galement introduire des recherches multi-objectifs, en utilisant la notion de dominance
lors de la selection.
3.2 Scaling
Le scaling ou mise a` lechelle, modifie les fitness afin de reduire ou damplifier artificiellement les e carts
entre les individus. Le processus de selection nop`ere plus sur la fitness reelle mais sur son image apr`es
scaling. Parmi les fonctions de scaling, on peut envisager le scaling lineaire et le scaling exponentiel. Soit
fr la fitness avant scaling et fs la fitness modifiee par le scaling.
2 Dans
y
M1
M2
x
individus
Figure 6: Exemple o`u les selections classiques risquent de ne reproduire quun individu
3.2.1 Scaling lineaire
Dans ce cas la fonction de scaling est definie de la facon suivante [Mic92] :
fs = afr + b
max0 min0
min0 .max min.max0
; b=
.
max min
max min
En r`egle generale, le coefficient a est inferieur a` un, ce qui permet de reduire les e carts de fitness et
donc de favoriser lexploration de lespace. Ce scaling est statique par rapport au numero de generation et
penalise la fin de convergence lorsque lon desire favoriser les modes dominants.
a=
n
k = tan
N +1 2
fs
fs =
f rk
max
k<1
k=1
avg
k>1
min
min
avg
fr
max
3.3 Sharing
3.3.1 Introduction
Lobjectif du sharing est de repartir sur chaque sommet de la fonction a` optimiser un nombre dindividus
proportionnel a` la fitness associee a` ce sommet. La figure 9 presente deux exemples de repartitions de
populations dans le cas dune fonction a` cinq sommets : le premier sans sharing, le second avec sharing.
3.3.2 Principe
De la meme facon que le scaling, le sharing consiste a` modifier la fitness utilisee par le processus de
selection. Pour e viter le rassemblement des individus autour dun sommet dominant, le sharing penalise
les fitness en fonction du taux dagregation de la population dans le voisinage dun individu. Il requiert
lintroduction dune notion de distance. Dans la pratique, il faut definir une distance indiquant la dissimilarite entre deux individus. Cette distance est alors utilisee pour calculer la nouvelle fitness de la facon
suivante :
N
fi0 =
avec
X
fi
0
;
m
=
S(d(xi , xj ))
i
m0i
j=1
S(d) = 1
d
share
si d < share
1
>1
=1
SH(d)
<1
d
share
d
Figure 10: Allure de S( share
)
Le param`etre share permet de delimiter le voisinage dun point et depend du probl`eme traite. La
figure 10 donne lallure de S(d) pour differentes valeurs de . Suivant la valeur donnee a` le sharing sera
plus ou moins efficace. Ainsi pour < 1, on penalise les groupes tr`es agglomeres.
Dans la pratique ce type de sharing donne effectivement de bons resultats mais au prix de N 2 calculs
de distances entre chromosomes a` chaque generation pour une population de taille N . Or les algorithmes
genetiques induisent une complexite en N sans sharing et le fait de passer en N 2 peut e tre penalisant,
notamment pour N grand.
Pour reduire ce nombre, on utilise un sharing clusterise.
10
POP(n)
P1
P2
croisement
P1
P2
C2
C1
TOURNOI
tirage aleatoire des couples E-P
selection par RS sur chacun des couples
C1
C2
11
|fC fP |
1
i
Cn
Cs = lnfmax
)
( k1
fmax
Cx = ln 1
( k1 )
Cf = fmin
1
ln( k1
)
k = 0.75
Temperature initiale
Temperature finale
o`u fmin , fmax representent les e carts minimum et maximum des fitness de la population initiale.
Le schema geometrique fait e voluer la temperature courante de la facon suivante :
C0 = Cs
x
ln( C
Cs )
ln 1
N2 =
C
ln Cfx
ln 2
Ces deux formules, nous permettent de calculer le nombre total de generations pour un probl`eme donne.
Ce meme principe de recuit simule a e te essaye sur loperateur de mutation en faisant un schema de
recuit entre lindividu mute et lindividu dorigine mais il ne produit pas leffet escompte. En effet, on peut
supposer que dans ce cas le recuit simule reduit le brassage de la population provoque par la mutation en
limitant lespace explore aux zones qui ameliorent statistiquement la fitness en interdisant les domaines
qui la degradent. Lexploration de du domaine admissible est fragilisee. Ce constat sur les probl`emes que
nous avons testes ne permet pas de generaliser.
12
dominance que lon definit ainsi : on peut par exemple decider que lelement Ei domine Ej si le nombre
des valeurs contenues dans son vecteur dadaptation qui sont superieures aux valeurs correspondantes dans
Ej depasse un certain seuil. A partir de l`a, la technique proposee pour effectuer la selection est simple :
on tire deux individus au hasard ainsi quune sous-population4 a` laquelle ils nappartiennent pas et qui va
servir a` les comparer.
Trois cas se presentent alors :
si le premier e lement domine tous ceux de la sous-population et que ce nest pas le cas pour le second
alors le premier sera selectionne.
inversement si seul le second domine lensemble de la sous-population alors cest lui qui sera conserve.
restent maintenant deux possibilites : soit les deux sont domines, soit les deux dominent. On ne peut
se prononcer sans ajouter un autre test, cest pourquoi dans ce cas il est fait usage dun nouveau type
de sharing qui op`ere sur lespace objectif.
Le sharing va conduire a` selectionner celui des deux individus qui a le moins de voisins proches,
autrement dit on e limine celui qui se situe dans une zone dagregation pour conserver celui qui est dans
une region moins dense.
Encore une fois, le terme voisin proche na pas de signification precise mais il est possible de definir
un voisinage (aussi appele niche) correct en se servant de la distance de Holder :
! p1
n
X
k
k p
dH (Ei , Ej ) =
|fi fj |
k=1
fik designant la k-i`eme composante du vecteur adaptation de lelement i. Le param`etre p permet de faire
varier la forme et la taille du voisinage. A linterieur des voisinages ainsi definis dans lespace objectif,
il suffit de compter le nombre dindividus pour favoriser les zones les moins denses et de cette facon
maintenir la diversite de la population. Ainsi la figure 12 montre comment les voisinages sont choisis
autour des individus de la region de Pareto lorsque ceux-ci ne peuvent e tre departages sans sharing.
Voisinages
Ej
Ei
Rgion de Pareto
13
exacte de loptimum dans cette zone. Or, cest precisement ce que les algorithmes locaux doptimisation
realisent le mieux.
Il est donc naturel de penser a` associer un algorithme local a` lalgorithme genetique de facon a` trouver
la valeur exacte de loptimum. On peut aisement le faire en appliquant a` la fin de lalgorithme genetique un
algorithme local sur le meilleur e lement trouve. Cette technique est dautant plus efficace que lon utilise
simultanement du clustering, et que lalgorithme local est applique a` chaque meilleur e lement de chaque
cluster. En effet, on constate souvent que le meilleur e lement trouve par lalgorithme genetique ne reste
pas le meilleur e lement apr`es amelioration par lalgorithme local de tous les meilleurs e lements de clusters.
Une autre technique consiste a` utiliser un algorithme local associe a` lalgorithme genetique pour calculer la fitness dun e lement. On peut, par exemple dans un espace fortement combinatoire, rechercher
avec lalgorithme genetique les zones interessantes de lespace en generant les e lements, ladaptation de
chaque e lement e tant calculee par un programme doptimisation local (lineaire par exemple). Un exemple
de ce type est donne dans la section ??.
En fait, lassociation AGmethodes locales est une quasi-necessite. Les deux methodes sont complementaires
et ont des champs dapplication differents. Lalgorithme genetique permet de faire disparatre la combinatoire du probl`eme, laissant alors le champ libre aux methodes locales dans chacune des zones connexes
quil pense susceptible de contenir loptimum global.
4 Autres ameliorations
Les raffinements decrits dans cette section ont e te developpes au sein de notre e quipe, et sont donc, en
principe, originaux. Notons que lalgorithme genetique que nous avons developpe implante lintegralite
des techniques presentees dans la section precedente, celles presentees dans cette section, ainsi que les
differents types de parallelismes decrits dans la section 5. Nous pensons quil sagit dun des programmes
les plus efficaces actuellement.
m
X
i=1
{i/xk variables de Fi }
Pour definir notre operateur de croisement, nous allons introduire pour chaque variable xk sa fitness
locale Gk (x1 , x2 , .., xn ) definie comme suit :
X
Fi (xj1 , xj2 , .., xjni )
Gk (xk , x1 , x2 , .., xn ) =
iEk
La fitness locale associee a` une variable isole sa contribution. Le but de cette section est de montrer comment utiliser cette fitness locale pour definir un operateur de croisement permettant de reduire la taille des
populations et de converger plus rapidement vers la solution optimale. Ces operateurs sont particuli`erement
efficaces lorsquon les combine avec le sharing.
4.1.3 Loperateur de croisement
Loperateur de croisement consiste, a` partir de deux chromosomes parents, a` creer deux nouveaux chromosomes.
Le codage que nous adopterons pour appliquer notre croisement consiste a` representer le chromosome
par la liste brute des variables du probl`eme. Sil sagit de bits, nous aurons une liste de bits, sil sagit
de variables reelles, nous aurons une liste de reels. On pourra e ventuellement avoir un panachage de
differents types de variables. Lidee intuitive est la suivante : dans le cas dun probl`eme compl`etement
separable, optimiser le probl`eme global peut se reduire a` loptimisation de chaque variable separement.
Nous essayons dadapter ce raisonnement au cas de fonctions partiellement separables. La technique que
nous proposons consiste donc a` retenir pour chaque variable, lors de la conception des fils, celle des deux
parents qui a la meilleure fitness locale, ceci a` un facteur pr`es. Par exemple, dans le cas o`u lon cherche
un minimum pour F , pour la k i`eme variable, si :
Gk (pere1 ) < Gk (pere2 )
alors le fils 1 se verra affecter la variable xk du p`ere 1. Si par contre :
Gk (pere1 ) > Gk (pere2 ) +
il se verra affecter la variable xk du p`ere 2. Si enfin :
kGk (pere1 ) Gk (pere2 )k
15
dmax = moy
dmin = dmax
3
2. Evaluation
de la distance moyenne des individus par rapport aux centrodes des clusters :
Pn PNc
j=1 d(Ei , Cj )
i=1
dmoy =
nNc
si lon note Cj le centre du groupe j et Nc le nombre total de clusters.
3. on compte ensuite le nombre de clusters dont le meilleur individu a une fitness superieure a` un certain
pourcentage5 de celle du meilleur e lement de la population , on le note Nopt
4. on met a` jour le param`etre en utilisant la r`egle :
Nopt
Les valeurs S1 et S2 designent deux seuils : si beaucoup de clusters sont suffisamment bons (cest a` dire
quand leur proportion depasse S1 ) alors on diminue dmin et dmax pour accrotre le nombre total de groupes
et ainsi chercher dautres optima. Au contraire, sils sont peu nombreux alors on va diminuer la quantite
de clusters en augmentant les deux distances afin de rechercher des zones interessantes de lespace detat.
Les valeurs utilisees habituellement pour les seuils sont S1 = 0.85 et S2 = 0.75.
Cette technique donne dexcellents resultats pour rechercher les optima multiples de fonctions reelles.
5 Egal
au taux de sharing.
16
MASTER
Rsultats
Rsultats
Paramtres initiaux
SLAVE 1
Rsultats
SLAVE 2
Population taille n
SLAVE N
Population taille n
Population taille n
5 Parallelisme
Linteret de la parallelisation des algorithmes genetiques est de gagner en temps de calcul. Il existe pour cela
au moins deux methodes utilisees classiquement (on pourra se reporter a` [BD93],[CJ91],[Muh89],[PLG87]
et [SPF93] pour plus de precisions sur les mod`eles de parallelisme utilisables dans les AG) :
la premi`ere consiste a` diviser la population de taille n en N sous-populations et a` les repartir sur
lensemble des machines dont on dispose.
la seconde maintient la population totale sur une seule machine mais se sert des autres pour y envoyer
les e valuations afin quelles se fassent en meme temps.
Dans les deux cas il est necessaire davoir un mecanisme de communication inter-processus. Les resultats
presentes ici ont e te obtenus en utilisant PVM. PVM a e te realise par le Oak Ridge National Laboratory.
Il permet a` un reseau heterog`ene de machines dapparatre comme une seule entite ayant plusieurs processeurs capables de communiquer entre eux (comparable a` un ordinateur a` memoire distribuee). La communication entre les divers composants de cette machine virtuelle se fait par lenvoi de paquets contenant
des donnees ou encore des messages de controle. Pour plus de details, on peut se reporter a` [GBD+ 94].
17
a` transmettre que de temps en temps. Il faut tout de meme garder a` lesprit quune subdivision en souspopulations de taille trop reduite risque de conduire a` faire tourner des algorithmes genetiques non fiables
statistiquement. En effet, il faut quand meme quune population contienne suffisamment dindividus pour
que lespace detat puisse e tre explore de facon correcte afin que les resultats aient une certaine valeur.
Des tests ont e te faits par Yann LeFablec [LeF95]pour determiner lefficacite de la methode (voir figure
14). Il ne faut sattacher qu`a la forme generale de la courbe, dans la mesure o`u les charges locales des ma1800
1600
1400
1200
1000
800
600
400
200
0
1
18
Population taille n
MASTER
Envoi du rsultat
et de la donne
Envoi dune donne
valuer
DEMON 1
DEMON 2
DEMON N
200
180
160
140
Temps
120
100
80
60
40
20
0
0
10
15
Nombre de machines
20
25
30
450
communication*1
communication*20
communication*40
400
350
300
250
200
150
100
50
8
10
12
14
19
16
18
20
22
24
26
28
30
5.3 Conclusion
La parallelisation est extremement efficace pour accelerer les temps de resolution des algorithmes genetiques.
Il faut certes bien e tudier le probl`eme afin dutiliser le bon mecanisme de parallelisme, mais les gains en
temps sont alors importants.
o`u les Ai decrivent lensemble des instances de H, cest-`a-dire la moyenne des adaptations de ses instances.
20
Supposons quil y ait a` linstant t un nombre m(H, t) de sequences representant le schema H dans la
population S. A linstant t + 1, statistiquement, ce nombre vaut :
f (H)
m(H, t + 1) = m(H, t).n. Pn
i=1 f (Ai )
Posons
ft =
Pn
f (Ai )
n
i=1
f (H)
ft
f (H)
ft
1. On obtient alors :
m(H, t + 1) = (1 + ct (H))m(H, t)
Il est donc clair quun schema, dont ladaptation est au-dessus de la moyenne, voit son nombre de representants
augmenter, suivant une progression qui est de type geometrique si nous faisons lapproximation que ct (H)
est constant dans le temps. Alors :
m(H, t) = (1 + c(H))t .m(H, 0)
Si la reproduction seule e tait en jeu, les schemas forts e limineraient tr`es rapidement les schemas faibles.
(H)
)
l1
tous les autres cas, H peut e tre (ou ne pas e tre) detruit.
croisements et les mutations se font sur la population reproduite, et non sur la population initiale.
21
(H)
o(H)pm )
l1
22
Yk
Zk
Xk+1
Chacune de ces e tapes peut e tre modelisee formellement.
Mutation Xk Yk :
Loperateur considere ici est le suivant : pour chaque composante de chaque e lement Xki , une variable de Bernouilli de param`etre Pm est tiree independamment et suivant le resultat lelement binaire
examine est change ou non. (0 est change en 1 et 1 en 0).
La probabilite Pm de mutation doit e tre prealablement choisie et est generalement faible.
Comme nous le verrons par la suite, cet operateur joue un role cle dans la convergence de lalgorithme
genetique.
Croisement Yk Zk :
Loperateur e tudie ici est loperateur a` un point (slicing crossover). Ici encore, la probabilite de
croisement Pc est fixee initialement. Pour construire la population Zk , N/2 couples sont formes
a` partir de la population Yk (par exemple en appariant les individus consecutifs de Yk , ou bien en
choisissant au hasard et uniformement des individus dans Yk ). Pour chaque couple, une variable de
Bernoulli de param`etre Pc est tiree pour decider si le croisement a lieu. Si cest le cas, un site de
coupure est tire au hasard, et les segments finaux des deux chromosomes sont e changes.
Une nouvelle paire dindividus est ainsi obtenue (identique a` lancienne sil ny a pas eu de croisement) et est stockee dans la population Zk . En general, le param`etre Pc est choisi grand.
Remarquons que les operateurs de mutation et de croisement ne font pas intervenir la fonction f , ce
sont des operateurs stochastiques dexploration. Cest le troisi`eme et dernier operateur, la selection,
qui guide la population vers les valeurs e levees de la fonction f.
Selection Zk Xk+1
Les N individus de la population Xk+1 sont obtenus apr`es selection des individus de Zk . On conserve ainsi les meilleurs individus de Zk , independamment a` laide dune distribution de probabilite qui favorise les individus de Zk les mieux adaptes.
Le choix le plus frequent est lunique distribution telle que la probabilite dun individu soit proportionnelle a` son adaptation, i.e la probabilite de selection de lindividu Zki est :
Pi = P (Zki ) =
f (Zki )
N
P
f (Zkj )
j=1
7.2 Modelisation
La presentation rapide des operateurs nous permet de modeliser la suite des (Xk )kN en une chane de
N
Markov, despace detats E = {0, 1}P . Lalgorithme genetique ne doit donc pas e tre interprete comme
une procedure doptimisation mais plutot comme une marche aleatoire dans lespace detat, attiree vers les
fortes valeurs de f .
La propriete premi`ere de cette formalisation est que la loi de Xk est determinee de mani`ere unique par :
23
r N
P [Xk+r = y | Xk = x] > 0
Le mecanisme permet donc dexplorer tout point de lespace detat, avec une probabilite non nulle.
Il est aperiodique, cette hypoth`ese nest cependant pas fondamentale.
Ces proprietes permettent de conclure a` lergodicite de la chane de Markov, et a` lexistence dun
processus limite.
Theor`eme 1. Une chane de Markov homog`ene irreductible aperiodique despace detats fini est ergodique
et poss`ede une unique mesure de probabilite stationnaire ou invariante.
Cette mesure stationnaire correspond a` la loi regissant lequilibre du processus, elle est definie , pour
tout y, comme :
(y) = lim P [Xk = y | X0 = x]
k
Nous savons e galement que tout e lement de lespace detat est de probabilite non nulle pour cette
mesure.
Toutefois, si ce resultat nous permet de savoir quil existe une dynamique de fond de lalgorithme
genetique, il nous reste a` en determiner les proprietes, linfluence des operateurs (et des param`etres associes) qui jouent un grand role dans le processus.
Pour cela nous introduisons les notations suivantes :
Si x = (x1 , ..., xN ) est un e lement de E N et i un point de E, nous noterons :
fb(x)
x
b =
[x] =
{xk : 1 k N }
De mani`ere generale, les lettres z, y, z, u, v.. designent des populations, i.e. des e lements de E N , et
les lettres i, j des points de E.
7.2.1 Processus de fond (Xk )
Cest a` partir de ce processus de fond quest reconstitue lalgorithme genetique en e tudiant ses perturbations
aleatoires par les differents operateurs. Il est defini comme processus limite, lorsque les perturbations ont
disparu. Cest e galement une chane de Markov sur E N dont le mecanisme de transition est tr`es simple
puisque correspondant a` la situation limite suivante :
d.
X
k
Les individus dont ladaptation nest pas maximale en k, sont e limines et napparaissent pas dans la
generation k + 1,
Les individus dont ladaptation est maximale, ont des chances de survies e gales
24
Cette chane est tout dabord piegee dans lensemble S des populations ayant la meme adaptation (ou
ensemble des population dequi-adaptation),
S = x = (x1 , ..., xN ) E N : f (x1 ) = f (x2 ) = = f (xN )
Cette population represente les attracteurs de la chane (voir 7.3 plus loin), puis elle est absorbee par
une population uniforme, de sorte que :
x E N
P [xi x
b K
k K
Xk = xi | X0 = xini ] = 1
Lorsque la population est devenue uniforme et en labsence ici de perturbations, il ne se passe plus rien.
Ceci peut e galement se traduire en definissant les populations uniformes comme les e tats absorbants
de la chane Xk . Nous allons maintenant e tudier la situation o`u ce processus est perturbe.
7.2.2 Processus perturbe (Xkl )
La modelisation proposee par Cerf, part du processus de fond (Xk ),decrit ci-dessus, qui est perturbe
aleatoirement, les perturbations sont indicees par le param`etre l. La chane de Markov (Xk ) devient donc
une suite de chanes de Markov (Xkl ), dont le mecanisme de transition est donne par la succession des
transformations generees par les operateurs.
Xkl
Mutation
Croisement
Ukl
Vkl
Selection
l
Xk+1
i E
pl (i, j) = 1
jE
Plus precisement et afin danalyser la dynamique de (Xkl ) lorsque l tend vers linfini, nous reportons
ici les hypoth`eses sur le mode et la vitesse de convergence des probabilites de transition. Pour cela
nous supposons lexistence dun noyau irreductible, , sur E, i.e. : i, j E, io , i1, , ir
(cest a` dire un chemin dans E) tels que i0 = i et ir = j tels que :
Y
(ik , ik+1 ) > 0
0sr1
Lhypoth`ese dirreductibilite du noyau est essentielle, elle assure que tout point de lespace est
potentiellement visitable.
La vitesse de convergence du noyau pl , est caracterisee par le reel positif a, tel que pl admette le
developpement suivant :
si i 6= j
(i, j) la + o(ls )
i, j E
s
pl (i, j) =
(1)
1 (i, j) la + o(ls )
si i = j
9 Cest
25
La condition de positivite de a nous permet de faire disparatre les perturbations lorsque l tend vers
linfini.
0
si i 6= j
i, j E
lim pl (i, j) = (i, j) =
(2)
1
si i = j
l
Croisement Ukl Vkl : Ici encore loperateur est modelise comme effectuant de petites perturbations aleatoires sur des couples de la population Ukl . Ces couples sont ici formes par les e lements
successifs de la population, les transitions sont gerees par le noyau Markovien ql sur E E, cette
fois, de sorte que :
P Vkl = v | Ukl = u = ql ((u1 , u2 ) (u3 , u4 ) (uN 1 , uN ))
Pour ce noyau ql nous supposerons lexistence dun noyau irreductible sur E E, la vitesse de
convergence est alors parametree par le reel positif b tel que :
(i1 , j1 ) E E
(i2 , j2 ) E E
ql ((i1 , j1 ) , (i2 , j2 )) =
si (i1 , j1 ) 6= (i2 , j2 )
(3)
si (i1 , j1 ) = (i2 , j2 )
(4)
l
Selection Vkl Xk+1
: Cest loperateur le plus complique et e galement le plus important puisquil
permet la convergence vers les optima de f.
Il est modelise a` laide dune fonction de selection Fl dont Cerf nous donne une definition precise,
pouvant e tre resumee par :
Fl
: {1, , N } (<+ )
(i, f1 , f2 , fN )
[0, 1]
Fl (i, f1 , f2 , , fN )
telle que :
1. F (, f1 , f2 , fN ) est une probabilite sur {1, , N }
2. Cette probabilite est independante de lindexation des f1 , f2 , fN (on peut permuter les fi )
3. La probabilite favorise les e lements i associes a` des valeurs e levees (i.e.)
Si
f1 f2 fN
Alors
l
Xk+1
=x|
Vkl
=v =
N
Y
l (xr , vr )
r=1
Ceci signifie que la probabilite de transition est le produit des probabilites sur chacune des N composantes de E.
26
De meme que pour les autres operateurs, la fonction de selection doit e tre choisie et sa vitesse de
convergence caracterisee :
Fl (i, f1 , f2 , , fN ) =
exp (c fi ln(l))
N
P
exp (c fr ln(l))
(5)
r=1
Ce choix correspond bien a` une probabilite de selection avantageant les fortes adaptations au detriment
des faibles, le reel positif c indexant cette fonction.
Le mecanisme de selection operant sur le processus de fond (Xk ), correspond a` la fonction de
selection F definie par :
F (k, f (x1 ), f (x2 ), , f (xN )) =
1b
x (xk )
card(b
x)
La suite (Fl )lN des fonctions de selection tend vers cette loi uniforme
x E N
k
(6)
Cest e galement en ce sens que lon interpr`ete la chane (Xkl ) comme une perturbation de la chane
(Xk ).
Les vitesses de convergence intervenant dans chacun des operateurs jouent un role important. La formulation proposee en (1), (3) et (5), permet un ajustement e quitable de ces vitesses (elles sont logarithmiquement
du meme ordre) de sorte quaucun operateur ne domine les autres dans la dynamique. lorsque l tend vers
linfini, les conditions (2), (4), et (6) nous permettent dassurer que le mecanisme de transition de la chane
(Xkl ) converge vers celui du processus de fond (Xk ), et on a :
l
y, z E N
lim P Xk+1
= z | Xkl = y = P Xk+1
= z | Xk = y
l
La chane (Xkl ) se comporte alors comme le ferait (Xk ). La theorie de Freidlin-Wentzell nous donne
les outils pour simplifier letude de ces processus a` temps continu.
(7)
Sous de bonnes hypoth`eses, il existe une solution (trajectoire) unique, x(t) a` lequation (7) et a` la
condition initiale associee. lune des preoccupation immediates est de savoir si cette solution va, ou non,
tendre vers un e quilibre (qui nest pas forcement unique). Et si oui, quel en est lensemble de stabilite.
Lequilibre est defini comme une fonction constante x telle que x = lim xt , et lensemble de stabilite
t
comme lensemble K( x ) des points de depart qui m`enent a` cet e quilibre10 . On peut e largir cette notion,
dequilibre et de stabilite, par celles, tr`es proches, dattracteur et de bassin dattraction.
Un attracteur du syst`eme est le voisinage compact Ki dun point visite une infinite de fois, et le bassin
dattraction lensemble des points de depart qui m`enent a` cet attracteur. Nous supposerons que <d poss`ede
un nombre fini dattracteurs K1 , , Kr .
La theorie de Freidlin-Wentzell e tudie levolution du syst`eme 7 lorsquil subit des perturbations Browni`enes,
dintensite . Le syst`eme deterministe 7 devient alors un syst`eme differentiel stochastique.
dXt = b(Xt ) dt + dt
(8)
X0 = xini
Le processus (Xt )t<+ est maintenant un processus stochastique perturbe par le mouvement brownien
(t )t<+ et dependant de . La situation change alors puisque les perturbations brownienne permettent au
processus de sechapper de nimporte quel bassin dattraction, et en fait le processus les visite tous.
De plus, le processus est ergodique et admet une unique mesure de probabilite invariante, i.e.
B borelien <d
existe et (B) est la probabilite de presence du processus dans le Borelien B , lorsque le syst`eme a atteint
son e tat dequilibre. Cette probabilite est invariante avec le point de depart xini .
Lorsque les perturbations cessent, le processus se comporte comme dans 7 et reste presque surement
au voisinage V (K1 Kr ) des attracteurs, tandis que la probabilite de presence dans nimporte quel
Borelien A disjoint de K1 Kr disparat.
lim (V (K1 Kr ))
= 1
lim (A)
= 0
Le resultat principal de Freidlin et Wentzell repose sur lequivalence du processus (Xt )t<+ a` temps
continu et espace detat <d et du processus (Zn )nN a` temps discret et espace detat fini {1, .r}
decrivant les visites au ni`eme attracteur.
La construction precise de (Zn )nN , nest pas reportee ici mais nous en donnons un apercu afin de
mieux comprendre ce dernier processus.
Si xini est proche de lattracteur Kh alors Zo = h {1, .r}
puis le processus, sous linfluence de (t ), est attire par Ks et Z1 = s
etc..
La chane de Markov11 ainsi cree e a pour espace detats {1, .r}, est irreductible, et poss`ede une
unique mesure de probabilite invariante .
Theor`eme 2. Letude du comportement asymptotique de la mesure est equivalente a` letude du
comportement asymptotique de la mesure
10 Lensemble
Pour chaque e quilibre on definit ainsi son ensemble de stabilite. Cet e quilibre est stable sil contient un voisinage de lequilibre, et
instable sil existe des points de depart infiniment proche de lequilibre qui ne m`enent pas a` celui-ci.
11 La nature Markovienne de , nous permet de montrer quil sagit bien l`
a dune chaine de Markov.
t
28
Nous passons sous silence letude des probabilite de transition P [Zn = i | Zn = j] de la chane (Zn )nN
qui secrivent comme des integrales sur lensemble des fonctions qui lient les attracteurs Ki et Kj , laissant le lecteur interesse se reporter a` la lecture de Freidlin et Wentzell, ou de Cerf.
Notons toutefois que ces probabilite de transition secrivent :
P [Zn = i | Zn = j]
V (i, j)
exp
ln
2
R1
o`u V (i, j) = inf{V (), () continue [0.1] 7 < , (0) Ki , (T ) Kj } et V () = 0 (t) b ( (t)) dt.
est une constante associee a` et caracterisant sa vitesse de convergence.
La quantite V (i, j) ou cout de communication, mesure le cout de passage de lattracteur Ki a` lattracteur
Kj .
Les intensites de transitions de la chane (Zn )nN , nous ouvrent la voie pour determiner la mesure
invariante .
d
()g
(i)
W (i) W (W )
exp
ln
2
lim lim P Xt V
Ki | X0 = xini = 1
0 t
iW
29
W des minima de W :
xini E N
lim lim P Xkl W | X0l = xini = 1
l k
Lun des principaux resultats indique quil existe une taille de la population de (Xkl ), (taille critique)
telle que les maxima de f soient atteints asymptotiquement avec la probabilite 1.
30
aR + c(R 1)
min(a, b2 , c)
o`u :
R est le nombre minimal de transition permettant de joindre deux points arbitraires de E par mutation
et sont des param`etres dechelle :
= max {|f (i) f (j)| : i, j E} param`etre mesurant les e carts maximaux de f
= min {|f (i) f (j)| : i, j E, f (i) 6= f (j)} mesurant les e carts minimaux de f .
Il est interessant de relever que le resultat est obtenu sans faire intervenir loperateur de croisement, qui
nest donc pas indispensable. Lexploration par mutation et la selection suffisent a` assurer la convergence
vers f ([Zhi91]).
Ce premier resultat nous indique que d`es que N N , la suite des mesures stationnaires de la chane
(Xkl ) se concentre asymptotiquement sur f lorsque l tend vers linfini. On peut dans une e tape suivante
faire e voluer l , et donc lintensite des perturbations, en fonction de la generation. Nous obtenons alors une
l(k)
chane de Markov inhomog`ene (Xk ) dont le mecanisme de transition depend alors de la generation k.
7.3.6 Vitesse de convergence
Le principal probl`eme est de savoir si cette chane inhomog`ene peut avoir un comportement proche de
celui de la chane homog`ene (Xkl ), et si oui, sous quelles conditions. La vitesse de croissance de l(k) vers
linfini, est bien e videmment, au centre du debat.
Si l(k) crot lentement, alors la loi de Xk sera proche de la loi stationnaire (l(n)) de niveau de
perturbation (l(n)) associe a` l(n).
Si l(k) crot rapidement, alors Xk risque de rester piege dans des bassins dattraction ne correspondant pas aux maxima de f, lintensite des perturbations devenant trop faible pour pouvoir sen
e chapper.
La vitesse recherchee se situe entre ces deux extremes, permettant a` Xk de sechapper des mauvais
bassins dattraction (ne correspondant pas a` des maxima de f ) et de rester piege dans le bon (celui des
points de f ).
La vitesse de convergence de la suite l(k) est caracterisee par lexposant de convergence12, .
Definition 11. Lexposant de convergence de la suite l(k) est lunique reel tel que :
X
kN
12 Egalement
l(k)
31
Deux conditions pour la colonisation de f sont e galement donnees par Cerf, lune necessaire, lautre
suffisante.
Theor`eme 4. Condition necessaire pour la colonisation de f
Pour que :
xini E N
P [K
k K
[XTk ] f | X0 = xini ] = 1
cest a` dire, pour que la chane Zk = XTk des visites successives des attracteurs soit piegee dans f
apr`es un nombre fini K de transitions, il est necessaire que lexposant de convergence de la suite l(k)
appartienne a` lintervalle ], [ .
Les constantes et sont des caracteristiques du probl`eme,lintervalle ], [ est alors non vide pour
N assez grand.
Theor`eme 5. Condition suffisante pour la colonisation de f
Il existe deux constantes et telles que si lexposant de convergence de la suite l(k) appartient a`
lintervalle ], [ , alors :
i
h
ck f | X = xini = 1
xini E N
P K k K [XTk ] f , X
0
ce qui signifie quapr`es un nombre fini de transitions, nous avons presque surement, la situation suivante :
la chane XTk est piegee dans f ,
la population Xk contient toujours un ou des individus appartenant a` f .
References
[AS92]
[BD93]
[BG87]
C.L Bridges and D.E Goldberg. An analysis of reproduction and crossover in a binary-coded
genetic algorithm. In Proceedings of the Second International Conference on Genetic Algorithm. ICGA, 1987.
[BG91]
C.L Bridges and D.E Goldberg. An analysis of multipoint crossover. In Proceedings of the
Foundation Of Genetic Algorithms. FOGA, 1991.
[BM93]
T.N Bui and B.R Moon. Hyperplane synthesis for genetic algorithms. In Proceedings of the
Fifth International Conference on Genetic Algorithm. ICGA, 1993.
32
[BM94]
T.N Bui and B.R Moon. Analysing hyperplane synthesis in genetic algorithms using clustered
schemata. Technical Report Cse-94-026, Dep. of Comp. Sci. and Engineering, Penn. State
University, March 1994.
[Bra90]
[Cat90]
O. Catoni. Large deviations for Annealing. PhD thesis, Universite de Paris XI, 1990.
[Cer94]
R Cerf. Une Theorie Asymptotique des Algorithmes Genetiques. PhD thesis, Universite Montpellier II (France), 1994.
[CJ91]
R.J. Collins and D.R. Jefferson. Selection in massively parallel genetic algorithms. In Proceedings of the Fourth International Conference on Genetic Algorithms, 1991.
[CS88]
R.A Caruana and J.D Schaffer. Representation and hidden bias : Gray versus binary coding for genetic algorithms. In Proceedings of the Fifth International Conference on Machine
Learning, 1988.
[DAN94]
Nicolas Durand, Jean-Marc Alliot, and Joseph Noailles. Algorithmes genetiques : un croisement pour les problemes partiellement separables. In Proceedings of the Journees Evolution
Artificielle Francophones. EAF, 1994.
[Daw86]
[Daw89]
Richard Dawkins. Lhorloger aveugle. Robert Laffont, 1989. Edition orignale [Daw86].
[DM92]
D Dasgupta and D.R McGregor. A structured genetic algorithm. Technical Report IKBS-8-92,
Dep. of Computer Science. University og Strathclyde, Clasgow. UK, 1992.
[FOW66]
L.J Fogel, A.J Owens, and M.J Walsh. Artificial Intelligence Through Simulated Evolution.
Wiley and sons. NY, 1966.
[FW83]
M.I Freidlin and A.D Wentzell. Random Perturbations of Dynamical Systems. Springer-verlag,
New-York, 1983.
[GBD+ 94] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. Pvm 3 users
guide and reference manual. Technical report, Oak Ridge National Laboratory, 1994.
[GGRG85] J. Grefenstette, R. Gopal, B. Rosmaita, and D. Gucht. Genetic algorithms for the traveling
salesman problem. In 1st International Conference on Genetic Algorithms and their Applications, 1985.
[GL85]
D. Goldberg and R. Lingle. Alleles, loci, and the travelling salesman problem. In 1st International Conference on Genetic Algorithms and their Applications, 1985.
[Gol89a]
[Gol89b]
D.E Goldberg. Genetic algorithms and walsh functions. part 1 and 2. Complex Systems,
3:129171, 1989.
[Gol89c]
D.E Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Reading
MA Addison Wesley, 1989.
[Gol91]
D.E Goldberg. Real-coded genetic algorithms, virtual alphabets and blocking. Complex Systems, 5:139167, 1991.
[GT82]
A. Griewank and Ph. L. Toint. On the unconstrained optimization of partially separable functions. In M. J. D. Powell, editor, Nonlinear Optimization 1981, pages 301312, London and
New York, 1982. Academic Press.
33
[HGL93]
A. Homaifar, S. Guan, and G. Liepins. A new genetic approach on the traveling salesman
problem. In Fifth International Conference on Genetic Algorithms, July 1993.
[HN93]
J. Horn and N. Nafpliotis. Multiobjective optimization using the nitched pareto genetic algorithm. Illigal Report 93005, University of Illinois at Urbana, 1993.
[Hol62]
John Holland. Outline for a logical theory of adaptive systems. Journal of the Association of
Computing Machinery, 3, 1962.
[IR92]
L Ingber and B Rosen. Genetic algorithms and very fast simulated re-annealing. Mathematical
Computer Modeling, 16(11):87100, 1992.
[LeF95]
[MG92]
S.W Mahfoud and D.E Goldberg. Parallel recombinative simulated annealing : A genetic
algorithm. Illigal report 92002, University of Illinois, Urbana, IL 61801-2996, April 1992.
[Mic92]
[MJ91]
[Muh89]
H. Muhlenbein. Parallel genetic algorithms, population genetics and combinatorial optimization. In Proceedings of the Third International Conference on Genetic Algorithms, 1989.
[OSH89]
I. Oliver, D. Smith, and J. Holland. Permutation crossover operators on the travelling salesman
problem. In Second International Conference on Genetic Algorithms, July 1989.
[PLG87]
[SGE91]
R.E Smith, D.E Goldberg, and J.A Earickson. SGA-C: A C-language implementation of a
Simple Genetic Algorithm, May 1991. TCGA report No. 91002.
[SPF93]
R.E. Smith, A.S. Perelson, and S. Forrest. Searching for diverse, cooperative populations with
genetic algorithms. Evolutionary Computation, 1(2):127149, 1993.
[Tro93]
A. Trouve. Parallelisation massive du recuit simule. PhD thesis, Universite de Paris XI, 1993.
[Vos91]
M.D Vose. Generalizing the notion of schema in genetic algorithms. Artificial Intelligence,
50:385396, 1991.
[Wri91]
A.H Wright. Genetic algorithms for real parameter optimization. In Proceeding of the Foundation Of Genetic Algorithms. FOGA, 1991.
[WSF89]
[YG93]
X Yin and N Germay. A fast genetic algorithm with sharing scheme using cluster analysis
methods in multimodal function optimization. In Proceedings of the Artificial Neural Nets
and Genetic Algorithms, 1993.
[Zhi91]
34