Documente Academic
Documente Profesional
Documente Cultură
Marc-Olivier LaBarre
Mai-Aot 2002
Les algorithmes gntiques sont une mthode doptimisation utile dans les cas non
linaires (videmment, cette mthode fonctionne galement pour les cas linaires, mais
dans ce cas, est inutilement lourde en temps et en calcul). Cette technique part du
principe volutif de la slection naturelle de Darwin. Celle-ci nonait que les individus
les plus aptes survivre (les meilleurs ) se reproduiront plus souvent et auront plus de
descendants. Ainsi, la qualit du pool gntique de la population sera augmente, les
gnes plus efficaces deviendront plus frquent; la population samliore. Selon le mme
principe, un algorithme gntique part dune population de solutions initiales, les fait se
reproduire (les meilleures solutions ont plus de chances de se reproduire), crant ainsi la
nouvelle gnration de solutions. En rptant ce cycle plusieurs fois, on obtient une
population compose de solutions meilleures. On utilise gnralement les algorithmes
gntiques pour trouver une solution, la meilleure solution aprs un certain nombre de
gnrations.
Voici le corps principal dune itration dun algorithme gntique :
1- valuer la qualit (fitness) des individus et leurs chances de survie
2- Slectionner les individus pour la reproduction
3- Effectuer la reproduction
4- Remplacer lancienne population par la nouvelle
Cette itration est rpte autant de fois que demand. Lvaluation de la qualit (fitness)
dun individu permet dillustrer avec une valeur numrique (et donc plus facile
manipuler) la qualit des gnes qui forment lindividu. Plus la qualit dun individu est
grande, plus ses chances dtre slectionn pour la reproduction sont grandes. En
gnral, on calcule les chances de reproduction dun individu en regard de sa qualit en
relation avec la qualit totale des individus de la population. La reproduction se fait en
croisant deux individus. On applique sur les deux individus choisis des oprateurs
gnriques, habituellement lenjambement (cross-over) et la mutation. La reproduction
donne deux enfants (offspring), qui sont placs dans la nouvelle population. On rpte la
reproduction jusqu ce quon ait rempli la nouvelle population (la taille de la population
devrait rester constante). On remplace alors lancienne population par la nouvelle, et on
recommence le processus le nombre de gnrations voulu.
Voici un algorithme plus dtaill dun algorithme gntique :
Algorithme gntique gnrique
1- Gnrer une population de individus de taille N : x1, x2, x3,, xN.
2- Calculer les chances de survie (qualit ou encore fitness) de chaque individu. f(x1),
f(x2), f(x3), , f(xN).
3- Vrifier si le critre de terminaison est atteint. Si oui, terminer.
4- Choisir une paire dindividus pour la reproduction (selon les chances de survie de
chaque individu).
5- Selon les probabilits associes chaque oprateur gntique, appliquer ces
oprateurs.
6789-
Notez que cet algorithme gntique gnrique est plutt vide . Il sagit dun modle
trs gnral. Nous verrons un exemple plus concret plus tard.
EXPLICATIONS DES LMENTS DUN ALGORITHME GNTIQUE
Individu :
Les individus correspondent aux solutions du problme optimiser. Ces solutions
doivent tre codes pour que le traitement puisse tre effectu par lalgorithme
gntique. Cette reprsentation code dune solution est appele chromosome, et est
compose de gnes. Chaque gne peut reprsenter une variable, un lment de la
solution, ou encore une partie plus abstraite. La manire la plus utilise de codage par
algorithme gntique est le codage en vecteurs. Chaque solution est reprsente par un
vecteur. Ce vecteur peut tre binaire ou encore de nimporte quel type discret
dnombrable (entier, caractres, etc.). On pourrait galement utiliser un type continu
(ex : nombres rels), mais dans ce cas, il faut galement revoir les oprations qui
modifient le contenu des chromosomes (la fonction qui cre alatoirement les
chromosomes et les oprateurs gntiques). La simplicit veut que les chromosomes
soient uniformes, cest--dire que tous les gnes sont du mme type. Cependant, si on
tient compte encore une fois des oprations qui modifient le contenu des chromosomes,
on peut assez aisment construire des vecteurs dlments de type diffrents. On
demande habituellement que les chromosomes soient tous de mme longueur, bass sur la
mme architecture, les gnes homologues tant au mme endroit sur leur chromosome
respectif. De fait, le codage par vecteur est si utilis (trs grande simplicit compare aux
autres mthodes de codage de chromosome) que les algorithmes sont souvent identifis
comme tant des mthodes de traitement vectoriel. Cette affirmation nest pas tout a fait
vraie car dautres types de codage existent, bien que ntant pas trs frquents. Par
exemple, lutilisation des algorithmes gntiques pour faire de la programmation
gntique utilise un codage en arbre (ce qui permet entre autres davoir des chromosomes
de longueurs diffrentes).
Population :
Cest lensemble des individus, ou encore lensemble des chromosomes dune mme
gnration. Habituellement, la taille de la population reste constante tout au long de
lalgorithme gntique.
Gnrer :
Habituellement, au dpart dun algorithme gntique, il faut crer une population
dindividus. Ces individus sont gnrs par une fonction simple. Cette fonction affecte
chaque individu quelle cre une valeur alatoire pour chacun de ses gnes. Lalgorithme
gntique peut galement utiliser comme population de dpart une population dj cre
a priori.
Qualit, fitness, dun individu :
Le calcul de la qualit dun individu est essentiel aux algorithmes gntiques. Cette
fonction donne, en valeur numrique (habituellement relle), la qualit dun individu.
Cest selon cette valeur numrique quest calcule les chances de slection de cet
individu. La fonction de fitness doit avoir 0 comme plancher, pour ne pas fausser le
calcul des pourcentages. Les algorithmes gntiques tant une technique doptimisation,
ils cherchent la qualit maximale, donc loptimisation de la fonction de qualit. Si on
cherche plutt minimiser une fonction, il faudra la modifier de sorte que la fonction de
qualit se maximise. Il serait bien entendu possible de conserver un fonction de qualit
qui fonctionne lenvers et de modifie la place le calcul des probabilits, mais ceci
rendrait lalgorithme beaucoup plus difficile dcoder pour les utilisateurs externes.
Slection :
Selon la qualit des individus, chacun se voit attribuer un pourcentage de chances dtre
choisi pour la reproduction, qui correspond limportance relative de la qualit de
lindividu par rapport la qualit totale de la population.
Reproduction :
La reproduction seffectue gnralement en croisant deux individus, ce qui produit deux
nouveaux individus placer dans la nouvelle population. De la manire classique, la
reproduction consiste appliquer les oprateurs gntiques sur les deux chromosomes
slectionns et mettre les deux chromosomes rsultant dans la nouvelle population. Les
deux oprateurs gntiques courants sont lenjambement (cross-over) et la mutation. Le
premier est la vritable reproduction. Chaque chromosome enfant reoit environ la
moiti des gnes de chacun de ses parents. La probabilit denjambement est presque
toujours de 50% (effectue de cette manire un mlange plus efficace). Selon cette
probabilit, on change les gnes homologues des deux chromosomes. De cette faon,
aprs lenjambement, on obtient deux enfants qui sont complmentaires par rapport
leurs parents (si un enfant a un gne dun tel parent, lautre enfant tiendra ce mme gne
de lautre parent). Loprateur de mutation, bien quayant une probabilit bien moindre
(habituellement entre 0,5% et 5%) joue un rle trs important. Une reproduction utilisant
uniquement lenjambement est une mthode de hill-climbing, mthode qui est limite par
latteinte de maxima locaux. En effet, les gnes des enfants sont limits par les gnes des
parents, et si un gne nest pas prsent dans la population initiale (ou sil disparat cause
des reproductions), il ne pourra jamais se dvelopper chez les descendants. Loprateur
de mutation est l pour contourner ce problme. Chaque gne possde une faible
probabilit de muter, cest--dire dtre alatoirement remplac par une autre incarnation
de ce gne. Cette prcaution permet de conserver ce quon appelle la diversit gntique.
Habituellement, la mutation cre des individus faibles, peu aptes survivre. Cependant,
un certaine mutation pourrait se rvler gniale et permet daugmenter grandement
lvolution de la population. Ces oprateurs gntiques peuvent habituellement
saccommoder de la plupart des situations sans trop de modifications. Toutefois, afin de
conserver la cohrence des individus, on doit parfois modifier grandement, voire changer
0100
0000
Entier dcod
Qualit
(fitness)
4
0
48
4
Chances de
reproduction
(%)
13,58
1,13
Ce cas est trop simple, mais il ne sert qu illustrer les processus de lalgorithme gntique.
Rsoudre ce problme peut videmment se faire sans le trouble et le labeur que ncessite un algorithme
gntique. Aussi, on ne note pas la prsence de maxima locaux dans ce problme, ce qui fait que
loprateur de mutation est plus un boulet quune aide.
2
X3
1110
14
X4
0001
1
X5
1000
8
X6
1011
11
Moyennes de la qualit (average fitness): 58,917.
53
7,5
116
125
14,99
2,12
32,81
35,36
1000
1110
1000
1110
1010
1100
1010
1100
Couple 2 : X5
X6
1000
1011
1000
1011
1011
1000
1011
1000
Couple 3 : X6
X1
1011
0100
1011
0100
1000
0111
1001
0111
Entier dcod
X1
1010
10
X2
1100
12
X3
1011
11
X4
1000
8
X5
1001
9
X6
0111
7
Moyennes de la qualit (average fitness): 118,25.
Qualit
(fitness)
129
112
125
116
125,5
102
Chances de
reproduction
(%)
18,18
15,79
17,62
16,35
17,69
14,38
Il nest pas vraiment ncessaire que ces expressions numriques soient continues, quoique cela donne une
meilleure ralisation de la stratgie dvolution.
choisis lavance. De cette faons, les petites mutations sont plus frquentes que les
grandes, ce qui reflte encore une proprit de lvolution darwinienne. Ensuite, si
lindividu ainsi cr est meilleur que sont parent, on remplace celui-ci par sont enfant,
puis on recommence le processus.
Voici un algorithme gnrique dun stratgie dvolution :
Algorithme dune stratgie dvolution-(1+1)
1- Choisir un nombre de paramtre N pour reprsenter le problme, et dterminer
lintervalle de possibilit (feasible range) pour chaque paramtre :
x1min , x1max , x2 min , x2max ,..., xN min , xN max ,
2-
34-
56-
7-
Cette stratgie dvolution nutilise quun seul individu. Il serait possible den utiliser
plus quun, mais des expriences ont montr que le modle avec un seul individu
fonctionnait mieux.
La technique de modifier tous les gnes dun individu en mme temps est encore un fois
pour se librer des maxima locaux. Les stratgies dvolution diffrent des algorithmes
gntiques par le fait quelles ne ncessitent aucun codage, mais dun autre ct,
nutilisent que des paramtres numriques.
PROGRAMMATION GNTIQUE
*
a
*
a
BIBLIOGRAPHIE
1.
2.
Livres
LUGER, George F., Atrificial Intelligence : Structures & Strategies for complex
problem solving, 4me dition, Addison-Wesley, 2002, 856p.
NEGNEVITSKY, Michael, Artificial Intelligence : A guide to Intelligent Systems.
Addison-Wesley, 2002, 394p.
Sites Internet
FRASER, Adam et Adil QURESHI (Salford University). Genetic Programming
http://www-dept.cs.ucl.ac.uk/research/genprog/index.html
GECCO, Genetic and Evolutionary Computation Conference 2001 http://wwwilligal.ge.uiuc.edu:8080/GECCO-2001/
Genetic-Programming.org http://www.genetic-programming.org/
ISGEC, International Society for Genetic and Evolutionary Computation
http://www-illigal.ge.uiuc.edu:8080/
KANTROVITZ, Mark, Hitch-Hiker's Guide to Evolutionary Computation.
http://www-2.cs.cmu.edu/Groups/AI/html/faqs/ai/genetic/top.html
OBITKO, Marek, Introduction to Genetic Algorithms with Java Applets,
http://cs.felk.cvut.cz/~xobitko/ga/
OPTIWATER GA-Search - The Genetic Algorithms Search Engine
http://www.optiwater.com/GAsearch/
POHLHEIM, Hartmut, Genetic and Evolutionary Algorithms: Principles,
Methods and Algorithms. http://www.geatbx.com/docu/algindex.html
RENNARD, Jean-Philippe, Introduction aux algorithmes gntiques.
http://www.rennard.org/alife/french/gavintr.html
SIPPER, Moshe.
A Brief Introduction To Genetic Algorithms.
http://lslwww.epfl.ch/~moshes/ga_main.html
WALL,
Matthew,
MIT,
Matthews
Genetic
Algorithm
Library
http://lancet.mit.edu/ga/