Documente Academic
Documente Profesional
Documente Cultură
Rapport de projet
Algorithmes gntiques
Nadia Selmani
Table des matires
1 Introduction 3
2 Principe 4
3 Mise en uvre 6
3.1 Codage des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 Codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Codage caractres multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 valuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Slection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.1 Roue de la fortune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.2 N/2 litisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Slection par tournoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5 Croisement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.6 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.7 Critre darrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Conclusion 14
1
One general law, leading to the advancement of all organic beings, namely, multiply, vary,
let the strongest live and the weakest die.
Charles Darwin - The Origin of Species[6]
2
1 Introduction
Les algorithmes gntiques sont des algorithmes permettant de rsoudre des problmes dopti-
misation. Ils sont particulirement utiliss lorsque lon souhaite obtenir de bonnes solutions, pas
ncessairement optimales donc, assez vite.
Ils furent dvelopps pour la premire fois dans les annes 60 au sein de lUniversit du Michigan
par J. Holland ([1]) et ses collgues.
Ces algorithmes se basent sur la thorie darwinienne de lvolution : les organismes vivant
changent constamment, les plus adapts leur environnement survivent, les autres disparaissent.
les espces actuelles peuvent donc tre vues comme des "versions optimises" de leurs anctres. Si
ces mthodes ont connu au dpart un succs timide, elles ont t popularises aux tats-Unis la
fin des annes 80, et au dbut des annes 90 en Europe au travers des travaux de D. Goldberg([3]) et
de J.-M Alliot ([4]).
Aujourdhui, les algorithmes gntiques sont utiliss pour rsoudre des problmes doptimisa-
tion de forme, en aronautique par exemple.
Ainsi, afin doptimiser la forme des ailes de ses avions, Airbus donne un algorithme gntique
une population initiale de formes a priori intressantes, effectue une simulation dont le critre de
fin est une limite temporelle et optimise par la suite lun des rsultats finaux par dautres mthodes
plus prcises et mathmatiquement trs bien dfinies.
Ils sont galement utiliss en statistique dcisionnelle, au sein dentreprises cherchant maximi-
ser leurs rsultats tout en minimisant les cots. Ils ont de plus donn naissance la programmation
gntique, prlude probable lIntelligence Artificielle, puisquil sagit dapprendre un programme
en optimiser dautres.
Cette mthode a ses avantages et ses inconvnients, qui seront prsents par la suite.
N.B. : Le prsent rapport a pour vocation de prsenter le principe et les diffrentes mthodes
dimplmentation dun algorithme gntique simple. Les lments mathmatiques ayant trait la
convergence de la mthode, demandant un certain niveau en thorie des schmas, ne seront pas
explicits. SI toutefois le lecteur souhaite en savoir plus, la page de J.-M. Alliot et ses rfrences
constituent une bonne introduction ([2]).
3
2 Principe
Rappelons tout dabord brivement les diffrentes tapes de lvolution gntique dune popu-
lation.
Considrons un ensemble dindividus, la population donc. Initialement, ces individus prsentent
certaines caractristiques, les gnes. Lensemble des gnes dun individu est appel le gnotype.
La premire tape est la slection : seuls les individus les mieux adapts leur environnement
peuvent se reproduire, et donc transmettre une partie de leurs "meilleurs" gnes la gnration
suivante.
Lorsque deux individus se reproduisent, leurs gnes sont croiss dans les cellules de lenfant,
cest--dire que certaines allles de lindividu A se combinent avec dautres allles de lindividu B
pour former de nouveaux gnes. On appelle ce phnomne un brassage gntique. Il existe deux
types de brassages : les brassages interchromosomiques et les brassages intrachromosomiques. Ces
deux notions sont dveloppes en annexe.
A ce premier facteur de diversit sajoute la possibilit dune mutation de certains gnes. Gn-
ralement, la probabilit dune mutation est trs faible, mais ce phnomne doit tre pris en compte
pour obtenir un algorithme complet.
Lenfant issu des individus A et B a donc un gnotype diffrent de celui de ses parents.
Suite cette reproduction, on obtient une nouvelle gnration dindividus, qui devient la nou-
velle population initiale. Les trois tapes de slection, croisement et mutation sont nouveau opres
pour obtenir une nouvelle gnration, et lon ritre le processus un grand nombre de fois, puisque
la slection naturelle se fait sur un temps long.
Cest ce principe-mme, rsum dans la figure (1) qui est retranscrit dans les algorithmes gn-
tiques, avec de lgres variations lies notamment aux contraintes informatiques. En effet, la taille
de la population ne peut tre ni croissante pour des raisons de cot en temps, ni dcroissante, car
mesure que le nombre dindividus diminue, des solutions potentiellement optimales peuvent
disparatre.
4
Figure 1 Schma simplifi du principe de fonctionnement dun algorithme gntique
5
3 Mise en uvre
Il existe, chaque tape, plusieurs faons de mettre en uvre un algorithme gntique. Nous ne
prsenterons ici que les plus frquemment utilises.
On notera dans toute cette partie N le nombre dindividus formant la population.
6
3.2 valuation
Cest l la partie la plus complexe et la plus coteuse en temps de calcul dun algorithme
gntique.
En effet, avant de slectionner les individus, il est ncessaire dvaluer leur adaptation au
problme considr.
Pour cela, on dfinit pour chaque problme une fonction dadaptation, ou "fitness" F(x), qui
mesure le niveau dadaptation de chaque individu au problme doptimisation. En gnral, on
cherche faire en sorte que F(x) vaille 1 si lindividu est parfaitement adapt, 0 si il est parfaitement
inadapt([2]).
Cette fonction est appele plusieurs fois, avant la slection pour valuer les individus de la
population-parent, et aprs la mutation, pour valuer la population-enfant et mesurer son adaptation
au problme, et ce, chaque itration.
Dans le programme en annexe, la fonction dadaptation est exactement la fonction que lon
cherche maximiser, puisque cette dernire varie entre 0 et 1 sur lintervalle [0,1[. Toutefois, en
gnral, ces fonctions sont bien plus complexes.
Cest cette valuation qui donne la probabilit de slection dun individu p(i), telle que :
F (xi )
p(i) = Pn i [1, n] (1)
i=1 F (xi )
3.3 Slection
3.3.1 Roue de la fortune
Il sagit de la mthode de slection la plus employe, et de celle qui a t mise en uvre dans le
programme ci-joint.
Le principe est simple : chaque individu correspond une probabilit dtre slectionn, lie
son adaptation au problme. On place ces individus sur une "roue de la fortune" biaise imaginaire,
sur laquelle chaque individu occupe une place proportionnelle son adaptation. Ceci correspond
aux probabilits cumules pour chaque individu dans lordre dans lequel ils ont t rangs. On tire
ensuite alatoirement N/2 nombres compris entre 0 et 1 et les individus dont la probabilit cumule
se rapproche le plus des nombres tirs sont copis dans la nouvelle gnration. Les individus les
mieux adapts, occupant une place plus importante sur cette roue de la fortune, ont donc plus de
chances dtres tirs au sort que les moins adapts.
Ce principe, rsum dans la figure (2), permet dobtenir une population slectionne bien adapte
au problme, tout en gardant une certaine diversit gntique, puisque le hasard entre en jeu([7]).
7
Figure 2 Principe de fonctionnement de la roue de la fortune biaise
En gnral, il est donc plutt dusage de remplacer automatiquement un petit nombre dindividus
slectionns, choisis alatoirement, par le mme nombre dindividus les mieux adapts de la
population-parent. Ceci permet la fois dacclrer la convergence tout en maintenant une pression
de slection raisonnable.
3.5 Croisement
Il convient tout dabord de spcifier le pourcentage de la nouvelle population qui sera crois. Si
le croisement seffectue moins de 100%, ce ne sont pas N/2 individus qui constitueront la nouvelle
population, mais N, dont certains seront croiss, soit avec des individus de la population initiale,
soit entre eux, et dautres non.
Ensuite, deux cas se prsentent :
soit il existe des gnes ne devant pas tre casss, et donc cette structure initiale doit tre
prserve au cours du croisement ;
soit chaque bit reprsente une information diffrente, auquel cas le croisement peut seffectuer
partir de nimporte quel locus.
Le second cas est celui dvelopp dans le programme.
Deux points restent prsent en suspens : Quels individus seront croiss ensemble ? O seffec-
tuera ce croisement ?
Ces deux questions sont rgles en tirant alatoirement deux nombres, un pour lindividu et un
pour le locus, selon lalgorithme suivant :
8
On dfinit tout dabord le nombre dindividus croiser :
Faire de i= 1 ncross
cross1 = rand(0)
cross2 = rand(0)
k = floor((N-1)*cross1)
l = floor(7*cross2)
Brassage
Fin faire
Fin faire
3.6 Mutation
La mutation est un phnomne assez rare, mais qui doit tout de mme tre pris en compte.
Limplmentation est trs similaire celle du croisement, except le fait que le seul allle slec-
tionn ne soit pas chang mais transform en 1 sil vaut 0 et vice versa.
La probabilit de mutation est assez faible, gnralement comprise entre 0.1% et 1%.
La mutation permet, pour une population assez grande, dviter une convergence prmature :
en effet, elle change au moins le gnotype dun individu, mme ponctuellement, ce qui relance
entirement le processus.
9
Il a galement t prouv que loprateur de mutation, dans lanalyse mathmatique du problme,
tait fondamental pour la convergence vers un optimum global.
Ces deux dernires tapes sont illustres sur la figure (3).
10
4 Rsultats - tude de la convergence
4.1 Rsultats
Nous avons considr le problme doptimisation suivant ([2])
Maximiser f(x) = 4x(1-x) sur lintervalle [0,1[.
Ce problme admet une solution analytique simple en x=0.5.
Le but de ce projet tait de vrifier quune population de nombres alatoires compris entre 0
et 1 pouvaient effectivement converger vers la solution connue en suivant simplement les lois de
lvolution naturelle.
Pour une population assez grande, on obtient bel et bien une convergence, et ce, mme pour des
prcisions assez grandes (de lordre de 106 ).
La comparaison entre les graphes (4) et (5) montre bien que la distribution alatoire initiale,
11
pour une population de 400 individus ici, a converg vers 2 possibilits doptimum, toutes deux trs
proches du maximum effectif.
Lerreur commise par lalgorithme est de 0.78% pour le rsultats le plus proche, et de 1.6% pour
le plus loign, ce qui dnote dun trs bon accord entre loptimum "naturel" et loptimum rel.
Cet algorithme est donc efficace.
N Nombre ditrations
50 non-convergence
100 12 115
200 2843
400 504
800 863
1600 non-convergence
12
Figure 6 Distribution de population linstant final avec mutation effective
La lenteur de la convergence quand la mutation est effective et augmente sexplique par le fait
que cette dernire relance ponctuellement le processus en permettant un ou plusieurs individus,
celui ou ceux qui ont mut, de sloigner de la zone dans laquelle lalgorithme commenait se
focaliser.
La mutation permet donc lalgorithme de revisiter des zones de son domaine de recherche
afin dtre sr quil na pas manqu un individu intressant lors de ses premires itrations.
Cette opration est donc, comme vu prcdemment, la fois essentielle et coteuse en temps.
13
5 Conclusion
Nous lavons vu, un algorithme gntique peut-tre un algorithme trs efficace pour dterminer
un panel de solutions potentiellement optimales, qui peuvent par la suite tre affines par dautres
mthodes doptimisation.
Lavantage, et linconvnient, de ce type dalgorithmes, est quil cherche une solution " laveugle",
au contraire de mthodes comme le gradient conjugu. Ceci peut faire perdre beaucoup de temps,
mais galement rvler des alternatives intressantes et inattendues. Toutefois, il est possible de
combiner plusieurs algorithmes afin de donner une direction privilgie cette mthode de slection.
Les algorithmes gntiques sont donc une mthode doptimisation intressante et tendent
montrer ce que C. Darwin avait compris il y a 150 ans : le hasard fait bien les choses.
14
Rfrences
[1] Adaptation In Natural And Artificial Systems. J. H. Holland, 1975.
[2] J.-M. Alliot. Algorithmes volutionnaires. 2011. url : http://www.alliot.fr/fgenetic.html.
fr.
[3] Genetic Algorithms in Search, Optimization, and Machine Learning. D. Goldberg, 1989.
[4] Intelligence Artificielle et Informatique Thorique. J.-M. Alliot et T. Schiex, 1993.
[5] V. Magnin. Optimisation et Algorithmes Gntiques. 2008. url : http://magnin.plil.net/spip.
php?rubrique8.
[6] The Origin of Species. C. Darwin, 1859.
[7] S. Tollari. Algorithmes gntiques. 2003. url : http://sis.univ- tln.fr/~tollari/TER/
AlgoGen1/node5.html.
15