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.
1
POPULATION
Gnration k
REPRODUCTION
PROBABILITE Pm P P1 P2 PROBABILITE Pc
MUTATION CROISEMENT
E E1 E2
EVALUATION
POPULATION
Gnration k+1
Le nombre de generations que lon souhaite executer peut e tre fixe a` priori. Cest ce que lon est
tente de faire lorsque lon doit trouver une solution dans un temps limite.
Lalgorithme peut e tre arrete lorsque la population nevolue plus ou plus suffisamment rapidement.
Nous allons maintenant detailler chacun de ces points.
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.
2
Les algorithmes genetiques utilisant des vecteurs reels [Gol91, Wri91] e vitent ce probl`eme en conser-
vant 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.
o`u est un coefficient de ponderation aleatoire adapte au domaine dextension des g`enes (il nest pas
necessairement compris entre 0 et 1, il peut par exemple prendre des valeurs dans lintervalle [0.5, 1.5]
ce qui permet de generer des points entre, ou a` lexterieur des deux g`enes consideres).
Dans le cas particulier dun chromosome matriciel constitue par la concatenation de vecteurs, on peut
e tendre ce principe de croisement aux vecteurs constituant les g`enes (voir figure 4) :
3
P1 P2
CROISEMENT
C1 C2
P1 P2
CROISEMENT
C1 C2
C1
P1
C2
P2
4
chromosome initial
g1 gi gn
gi gi
g1 gi gn
chromosome mut
~ 1 (i) = P~1 (i) + (1 )P~2 (i)
C
C2 (i) = (1 )P~1 (i) + P~2 (i)
~
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.
5
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:
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 la litterature, cette methode porte parfois le nom de methode de Monte-Carlo.
6
y
M1
M2
individus
Figure 6: Exemple o`u les selections classiques risquent de ne reproduire quun individu
fs = afr + b
fs = (fr )k(n)
o`u n est la generation courante.
Pour k proche de zero, on reduit fortement les e carts de fitness ; aucun individu nest vraiment
favorise et lalgorithme genetique se comporte comme un algorithme de recherche aleatoire et permet
dexplorer lespace.
Pour k proche de 1 : le scaling est inoperant.
Pour k > 1 les e carts sont exageres et seuls les bons individus sont selectionnes ce qui produit
lemergence des modes.
Dans la pratique, on fait generalement varier k des faibles valeurs vers les fortes valeurs au cours des
generations. Pour cela on peut utiliser la formule suivante :
p
n
k = tan
N +1 2
7
fs
fs = f rk
max
k<1
avg k=1
k>1
min
fr
min avg max
n
N
8
SANS SHARING (sans mutation) AVEC SHARING (sans mutation)
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 dissim-
ilarite entre deux individus. Cette distance est alors utilisee pour calculer la nouvelle fitness de la facon
suivante :
X N
fi
fi0 = ; m 0
i = S(d(xi , xj ))
m0i j=1
avec
d
S(d) = 1 si d < share
share
9
1
>1
=1
SH(d)
<1
d 1
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.
si deux centres sont a` une distance inferieure a` dmin , on fusionne ces derniers dans un cluster unique
dont le centre resultant est le barycentre des deux centres initiaux.
un nouvel individu est agrege a` un cluster si sa distance au centre le plus proche est inferieure a` dmax .
Dans ce cas, on recalcule le centre du cluster global. Sinon, on cree un nouveau cluster contenant ce
seul individu.
10
POP(n)
P1 P2
croisement
P1 P2 C1 C2
TOURNOI
tirage aleatoire des couples E-P
selection par RS sur chacun des couples
C1 C2
11
sinon C1 est selectionne avec la probabilite :
|fC fP |
1 i
Cn
P =e
On fait de meme pour C2 avec le parent restant et lon determine ainsi deux individus C10 et C20 .
Levolution de la variable C(n) se fait de la facon suivante. On utilise un schema de recuit standard
geometrique a` un palier de basculement. Pratiquement, on calcule trois temperatures dont les valeurs
dependent de la connaissance des e carts min et max des fitness de la population initiale.
Cs = lnfmax k = 0.75 Temperature initiale
( k1
1
)
fmax
Cx = ln 1 k = 0.99 Temperature de basculement
( k1 )
Cf = fmin
ln( k1
k = 0.99 Temperature finale
1
)
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
Cn+1 = 1 Cn pour Cs > Cn > Cx ;
Cn+1 = 2 Cn pour Cx > Cn > Cf ;
avec 0 < 1 < 2 < 1.
Pour chaque palier, on calcule le nombre diterations de stabilisation a` laide des formules :
C
ln( C ln Cfx
Cs )
x
N1 = ln 1 N2 = 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 con-
serve.
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 :
n
! p1
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 cal-
culer 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 combi-
natoire 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.
14
aux fonctions pouvant secrire :
m
X
F (x1 , x2 , .., xn ) = Fi (xj1 , xj2 , .., xjni )
i=1
Ek = {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
Gk (xk , x1 , x2 , .., xn ) = Fi (xj1 , xj2 , .., xjni )
iEk
La fitness locale associee a` une variable isole sa contribution. Le but de cette section est de montrer com-
ment 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.
15
4.2 Mutation adaptative
Un des gros inconvenients de lalgorithme genetique est sa mauvaise convergence locale. Il est possible de
raffiner le comportement des AGs en utilisant une technique que nous qualifions de mutation adaptative
dans tous les probl`emes a` variable reelle.
Le principe est le suivant : dans les probl`emes a` variable reelle, loperateur de mutation consiste
generalement a` ajouter un bruit gaussien a` lelement de population concerne. Le probl`eme est de bien
choisir ce bruit gaussien. Sil est trop petit, les deplacements dans lespace sont insuffisants en debut de
convergence, et lalgorithme peut rester bloque dans un optimum local. Si le bruit est trop fort, lAG trou-
vera certes une zone contenant loptimum, mais sera incapable de converger localement. Il sagit donc de
modifier le bruit au fil des generations. Pour ce faire, on calcule lecart moyen pour chacune des coor-
donnees entre le meilleur e lement a` la generation n et tous les autres e lements : ce nombre est alors utilise
comme e cart type du bruit gaussien sur la coordonnee en question a` la generation n + 1.
Lefficacite de cette methode est demontree dans la section ??.
2. Evaluation de la distance moyenne des individus par rapport aux centrodes des clusters :
Pn PNc
i=1 j=1 d(Ei , Cj )
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
= 1.05 si Nc > S1 et < 100
N
= 0.95 si Nopt < S2 et > 1
reste inchange dans c
les autres cas
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
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 pro-
cesseurs capables de communiquer entre eux (comparable a` un ordinateur a` memoire distribuee). La com-
munication 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 sous-
populations 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 ma-
1800
1600
1400
1200
1000
800
600
400
200
0
1 2 3 4 5 6 7 8
Figure 14: Evolution des temps de calcul
chines peuvent modifier de facon sensible les resultats. Lefficacite de la methode est cependant largement
mise en e vidence.
18
Population taille n
MASTER
Envoi du rsultat
et de la donne
200
180
160
140
120
Temps
100
80
60
40
20
0
0 5 10 15 20 25 30
Nombre de machines
450
communication*1
communication*20
communication*40
400
350
300
250
200
150
100
50
8 10 12 14 16 18 20 22 24 26 28 30
Figure 16: Evolution du temps de calcul
19
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.
20
6.2 Effets de la reproduction
Soit un ensemble S = {A1 , . . . , Ai , . . . , An } de n sequences de bits tirees aleatoirement. Durant la
reproduction, chaque sequence Ai est reproduite avec une probabilite :
f (Ai )
pi = P n
i=1 f (Ai )
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 Pn
i=1 f (Ai )
ft =
n
ft represente la moyenne de ladaptation des sequences a` linstant t. La formule precedente devient :
f (H)
m(H, t + 1) = m(H, t)
ft
f (H)
Posons ct (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 :
Si la reproduction seule e tait en jeu, les schemas forts e limineraient tr`es rapidement les schemas faibles.
(H)
m(H, t + 1) m(H, t)(1 + ct (H))(1 pc )
l1
6 Dans tous les autres cas, H peut e tre (ou ne pas e tre) detruit.
7 Les croisements et les mutations se font sur la population reproduite, et non sur la population initiale.
21
6.4 Effets des mutations
Soit pm la probabilite de mutation dun bit dans une sequence. Dans un schema H, seules les positions fixes
peuvent e tre detruites. La probabilite de survie dun bit e tant 1 pm , la probabilite de survie dun schema
H contenant o(H) positions fixes est (1pm)o(H) . La probabilite de mutation e tant supposee petite devant
1, un developpement limite au premier ordre donne une probabilite de survie e gale a` 1 o(H)pm .
Lequation finale secrit donc :
(H)
m(H, t + 1) m(H, t)(1 + ct (H))(1 pc o(H)pm )
l1
22
7.1 Description rapide dun algorithme genetique
Soit N la taille (fixe) de la population, notons Xk la population de la generation k : il sagit dune matrice
Xk = (Xk1 , Xk2 , .. XkN ) de E N dont les N e lements sont des chanes de bits (chromosomes) de taille P .
Le passage de la generation k a` la generation k + 1, cest a` dire de Xk a` Xk+1 se decompose en trois e tapes
:
Mutation Croisement Selection
Xk 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 vari-
able 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 croise-
ment) 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 con-
serve ainsi les meilleurs individus de Zk , independamment a` laide dune distribution de proba-
bilite qui favorise les individus de Zk les mieux adaptes.
Le choix le plus frequent est lunique distribution telle que la probabilite dun individu soit propor-
tionnelle a` son adaptation, i.e la probabilite de selection de lindividu Zki est :
f (Zki )
Pi = P (Zki ) =
P
N
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
la loi de la generation initiale X0
le mecanisme de transition de Xk a` Xk+1 , mecanisme scinde en trois e tapes detaillee precedemment.
Ce mecanisme de transition poss`ede toutefois des proprietes essentielles qui font linteret et la puissance
de cette formalisation, (voir [Cer94]) :
x, y E 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.
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 as-
socies) 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 :
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.
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 b K
P [xi x 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.
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 :
(i, j) la + o(ls ) si i 6= j
i, j E s pl (i, j) = (1)
1 (i, j) la + o(ls ) si i = j
9 Cest la probabilite Pl (i, j) pour un point i de E de se transformer par mutation en un point j de E
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)
l 1 si i = j
Croisement Ukl Vkl : Ici encore loperateur est modelise comme effectuant de petites perturba-
tions 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 s
((i1 , j1 ) , (i2 , j2 )) lb + o(ls ) si (i1 , j1 ) 6= (i2 , j2 ) (3)
ql ((i1 , j1 ) , (i2 , j2 )) =
1 ((i1 , j1 ) , (i2 , j2 )) lb + o(ls ) si (i1 , j1 ) = (i2 , j2 )
(i, f1 , f2 , fN ) 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
Cet outil nous permet decrire la probabilite de transition correspondant a` la derni`ere e tape.
N
Y
l
P Xk+1 =x| Vkl =v = l (xr , vr )
r=1
Ceci signifie que la probabilite de transition est le produit des probabilites sur chacune des N com-
posantes de E.
26
La probabilite l entre deux composantes (xr , vr ) est donnee par :
X
l (xr , vr ) = Fl (k, f (v1 ), f (v2 ), , f (vN ))
k : vk =xk
De meme que pour les autres operateurs, la fonction de selection doit e tre choisie et sa vitesse de
convergence caracterisee :
exp (c fi ln(l))
Fl (i, f1 , f2 , , fN ) = (5)
P
N
exp (c fr ln(l))
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 :
1bx (xk )
F (k, f (x1 ), f (x2 ), , f (xN )) =
card(bx)
x E N k
(6)
liml Fl (k, f (x1 ), f (x2 ), , f (xN )) = F (k, f (x1 ), f (x2 ), , f (xN ))
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 ) :
l
y, z E N lim P Xk+1 = z | Xkl = y = P Xk+1 = z | Xk = y
l
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 formula-
tion 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.
27
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.
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
0
lim (A) = 0
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.
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 de stabilite de lequilibre x est :
ff
K(x ) = xini <N , t.q. pour xt solution de 7 ; lim xt = x
t
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 , lais-
sant le lecteur interesse se reporter a` la lecture de Freidlin et Wentzell, ou de Cerf.
Notons toutefois que ces probabilite de transition secrivent :
V (i, j)
P [Zn = i | Zn = j] exp
ln 2
2
R1
o`u V (i, j) = inf{V (), () continue [0.1] 7 < , (0) Ki , (T ) Kj } et V () = 0 (t) b ( (t)) dt.
d
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 .
W (i) W (W )
i {1, ..., r} (i) exp
ln 2
o`u W (W ) = min {W (i) : i {1, ..., r}} .
Le comportement asymptotique de (et par la meme occasion de ) est donc connu : la mesure
se concentre sur les attracteurs dont lindice est dans W et decrot vers zero a` la vitesse exp Cste
2 pour
les autres attracteurs. Il existe donc un sous-ensemble de W de lensemble des attracteurs sur lequel se
concentre la mesure invariante du processus.
" ! #
[
lim lim P Xt V Ki | X0 = xini = 1
0 t
iW
29
7.3.3 Dynamique du processus
Dans sa th`ese, Cerf nous donne une tr`es claire interpretation de la hierarchie des cycles qui caracterisent la
dynamique du processus. Supposons que le processus soit initialement dans le bassin dattraction de K1 .
Il quitte K1 au bout dun temps fini. Parmi toutes les trajectoires de sortie, il en existe une plus probable
que les autres, qui lam`ene vers un nouvel attracteur; par exemple K2 puis, bientot K3 . Lensemble des
attracteurs e tant par hypoth`ese fini, le processus finit par revisiter un attracteur formant un cycle dordre
1 sur lequel le processus tourne longtemps, tr`es longtemps. Englobons maintenant ces trois attracteurs
dans une bote. Comme toujours, les perturbations browniennes finissent par pousser le processus hors de
cette bote, et ici encore, il existe une trajectoire de sortie canonique qui fait tomber le processus dans un
nouveau bassin dattraction, ou plus generalement, dans un autre cycle dordre 1.
Les cycles dordre 1 sont aussi en nombre fini, et le processus finit par revisiter un cycle dordre 1:
un cycle dordre 2 est alors forme, dans lequel le processus reste piege tr`es longtemps. En continuant de
la sorte, il est possible de construire toute une hierarchie de cycles qui e puise lensemble des attracteurs
et fournit une image tr`es precise de la dynamique asymptotique du processus. A chaque transition entre
cycles est associee une constante qui caracterise la difficulte de la transition.
Enfin, lorsque decrot avec le temps ( = (t) est une fonction de t qui tend en decroissant vers 0),
nous obtenons un processus de Markov inhomog`ene (le mecanisme de transition depend du temps).
Si (t) decrot tr`es lentement, de sorte qu`a chaque instant la loi de Xt soit proche de letat dequilibre
associe au niveau de perturbation (t), la situation ne change pas fondamentalement. La loi limite
correspond a` la limite de la suite des lois dequilibre.
Si au contraire (t) decrot tr`es rapidement, le processus risque de rester piege dans certains sous-
ensembles dattracteurs: plus precisement, dans la hierarchie des cycles, certaines transitions ne
pourront e tre effectuees quun nombre fini de fois, alors que dautres, plus faciles, seront realisees
une infinite de fois avec probabilite 1. La loi limite depend alors fortement du point de depart.
La hierarchie des cycles permet ainsi de decrire les dynamiques possibles de (Xt ) en fonction de la
vitesse de decroissance de (t).
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
7.3.5 Taille critique
Supposons fixes lespace detat E, la fonction dadaptation f, les noyaux de transition de mutation et de
croisement , ainsi que les constantes positives gerant les trois operateurs a, b, et c.
Theor`eme 3. (Cerf 1993)
Il existe une valeur critique N , telle que lorsque la taille de la population de lalgorithme genetique
depasse N , lensemble f des maxima globaux de f, contient lensemble W .
Cette taille critique N , depend fortement de lespace detat E, de la fonction dadaptation f, des
noyaux de transition de mutation et de croisement , ainsi que des param`etres a, b, et c.
Une borne grossi`ere, mais lisible de N est :
aR + c(R 1)
N
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 :
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.
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 corre-
spondant 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 :
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 :
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 :
h i
xini E N P K k K [XTk ] f , X ck f | X = xini = 1
0
ce qui signifie quapr`es un nombre fini de transitions, nous avons presque surement, la situation suiv-
ante :
References
[AS92] Jean-Marc Alliot and Thomas Schiex. Intelligence Artificielle et Informatique Theorique.
Cepadues, 1992. ISBN: 2-85428-324-4.
[BD93] A. Bertoni and M. Dorigo. Implicit parallelism in genetic algorithms. Artificial Intelligence,
61(2):307314, 1993.
[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 Algo-
rithm. 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] H. Braun. On traveling salesman problems by genetic algorithms. In 1st Workshop on Parallel
Problem Solving from Nature, October 1990.
[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 Mont-
pellier II (France), 1994.
[CJ91] R.J. Collins and D.R. Jefferson. Selection in massively parallel genetic algorithms. In Pro-
ceedings of the Fourth International Conference on Genetic Algorithms, 1991.
[CS88] R.A Caruana and J.D Schaffer. Representation and hidden bias : Gray versus binary cod-
ing 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 croise-
ment pour les problemes partiellement separables. In Proceedings of the Journees Evolution
Artificielle Francophones. EAF, 1994.
[Daw86] Richard Dawkins. The blind watchmaker. Norton, New-York, 1986.
[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 Applica-
tions, 1985.
[GL85] D. Goldberg and R. Lingle. Alleles, loci, and the travelling salesman problem. In 1st Interna-
tional Conference on Genetic Algorithms and their Applications, 1985.
[Gol89a] David Goldberg. Genetic Algorithms. Addison Wesley, 1989. ISBN: 0-201-15767-5.
[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 Sys-
tems, 5:139167, 1991.
[GT82] A. Griewank and Ph. L. Toint. On the unconstrained optimization of partially separable func-
tions. 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 algo-
rithm. 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] Yann LeFablec. Optimisation par algorithmes gntiques parallles et multi-objectifs. Masters
thesis, Ecole Nationale de lAviation Civile (ENAC), 1995.
[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] Z Michalewicz. Genetic algorithms + Data Structures = Evolution Programs. Springer-verlag,
1992.
[MJ91] Z Michalewicz and C.Z Janikov. Handling constraints in genetic algorithms. In Proceedings
of the Fourth International Conference on Genetic Algorithm. ICGA, 1991.
[Muh89] H. Muhlenbein. Parallel genetic algorithms, population genetics and combinatorial optimiza-
tion. 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] C. Pettey, M. Leuze, and J. Grefenstette. A parallel genetic algorithm. In Proceedings of the
Second International Conference on Genetic Algorithms, 1987.
[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 Foun-
dation Of Genetic Algorithms. FOGA, 1991.
[WSF89] D. Whitley, T. Starkweather, and D. Fuquay. Scheduling problems and traveling salesman:
The genetic edge recombination operator. In Third International Conference on Genetic Algo-
rithms, 1989.
[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] Anatoly A. Zhigljavsky. Theory of Global Random Search. Kluwer Academic Plubishers,
1991.
34