You are on page 1of 50

ALGORITHMES GENETIQUES

Prsent par
Souquet Amde
Radet Francois-Grard

TE de fin danne
Tutorat de Mr Philippe Audebaud

Soutenu le 21/06/2004 devant la commission compose de :


S. Julia
P. Audebaud
G. Dufay

Avant propos

Les algorithmes gntiques, initis dans les annes 1970 par John Holland, sont des algorithmes
doptimisation sappuyant sur des techniques drives de la gntique et des mcanismes
dvolution de la nature : croisement, mutation, slection.
Nos travaux consisteront dfinir ces algorithmes volutionnaires, et les comparer aux mthodes
dterministes afin de pouvoir cerner leur utilit en fonction du problme pos. Le devoir
sarticulera sur deux axes principaux
qui serviront de fils conducteurs au passage de la thorie la pratique.
Dans un premier temps, nous nous attacherons lorigine des algorithmes gntiques, leur
appartenance dans le monde de la vie artificielle, et la thorie de lvolution des espces formule
par le naturaliste Charles Darwin, sur laquelle ces premiers sont bass.
Nous montrerons quels en sont les principes, de telle manire ce que nous puissions poursuivre
vers notre premier axe, qui se penchera sur les diffrentes mthodes de slection et introduira les
diffrents operateurs, qui soulignent la ncessit de diversit.
Sur ces bases, nous proposerons, dans notre dernire partie, de souligner laspect pragmatique de
ces algorithmes en illustrant leur utilisation et leur domaine dapplication dans les sciences
contemporaines.

Introduction

C'est en 1860 que Charles Darwin publie son livre intitul L'origine des espces au moyen de
la slection naturelle ou la lutte pour l'existence dans la nature. Dans ce livre, Darwin rejete
l'existence de systmes naturels figs, dj adapts pour toujours toutes les conditions
extrieures, et expose sa thorie de l'volution des espces : sous l'influence des contraintes
extrieurs, les tres vivants se sont graduellement adapts leur milieu naturel au travers de
processus de reproductions.
Darwin proposa une thorie qui clarifie lvolution des espces en mettant en avant quatre lois :
- La loi de croissance et de reproduction.
- La loi dhrdit quimplique quasiment la loi de reproduction
- La loi de variabilit , rsultant des condition dexistence.
- La loi de multiplication des espces qui amne la lutte pour lexistence et qui a pour
consquence la slection naturelle.
Presque simultanment, en 1866, Mendel ( le moine des poix ) publie larticle retraant dix
annes dexpriences dhybridation chez les vgtaux (recombinaison des gnes) et ladresse aux
socits scientifiques des quatre coins du monde. Les ractions sont mitiges, voire inexistantes. Le
monde scientifique nest pas prt reconnatre la qualit de ses rsultat. Ce n'est seulement en
1900, que la publication de trois nouveaux articles signs Hugo de Vries, Carl Correns et Erich von
Tschermark rvle des rsultats similaires ceux de Mendel,et feront que ces premiers seront
reconnus.
C'est alors partir du 20 me sicle que la mutation gntique a t mise en vidence.
Les problmes de traitement de l'information sont rsolus de manires figs : lors de sa phase de
conception, le systme reoit toutes les caractristiques ncessaires pour les conditions
d'exploitations connues au moment de sa conception, ce qui empche une adaptation des
conditions d'environnement inconnues, variables ou volutives. Les chercheurs en informatique
tudient donc des mthodes pour permettrent aux systmes d'voluer spontanment en fonction de
nouvelles conditions : c'est l'mergence de la programmation volutionnaire (cf. Figure 1).
Dans les annes 1960, John Holland tudie les systmes volutifs et, en 1975, il introduit le premier
modle formel des algorithmes gntiques (the canonical genetic algorithm AGC) dans son livre
Adaptation in Natural and Artificial Systems. Il expliqua comment ajouter de l'intelligence dans un
programme informatique avec les croisements (changeant le matriel gntique) et la mutation
(source de la diversit gntique). Ce modle servira de base aux recherches ultrieures et sera plus
particulirement repris par Goldberg qui publiera en 1989, un ouvrage de vulgarisation des
algorithmes gntiques, et ajouta la thorie des algorithmes gntiques les ides suivantes :

- un individu est li un environnement par son code d'ADN.

une solution est lie un problme par son indice de qualit.

Figure 1. organigramme d'un algorithme volutionnaire.

Ci-dessus est prsent lorganigramme dun algorithme volutionnaire. Il sagit de simuler


lvolution dune population dindividus divers (gnralement tire alatoirement au dpart)
laquelle on applique diffrents oprateurs (recombinaisons, mutations) et que lon soumet une
slection, chaque gnration. Si la slection sopre partir de la fonction dadaptation, alors la
population tend samliorer [Bck, 1996 et Bck, 1997]. Un tel algorithme ne ncessite aucune
connaissance du problme : on peut reprsenter celui-ci par une bote noire comportant des entres
(les variables) et des sorties (les fonctions objectif). Lalgorithme ne fait que manipuler les entres,
lire les sorties, manipuler nouveau les entres de faon amliorer les sorties, etc. [Whitley,
1993] Cest ainsi quont procd les leveurs pendant des millnaires : ils ont russi modifier,
selon leurs dsirs, de nombreuses espces animales sans connaissance en gntique ou biologie
molculaire.
Les algorithmes volutionnaires constituent une approche originale : il ne sagit pas de trouver une
solution analytique exacte, ou une bonne approximation numrique, mais de trouver des solutions
satisfaisant au mieux diffrents critres, souvent contradictoires. Sils ne permettent pas de
trouver coup sr la solution optimale de lespace de recherche, du moins peut-on constater que les
solutions fournies sont gnralement meilleures que celles obtenues par des mthodes plus
classiques, pour un mme temps de calcul.
Ils font parti du champ de la vie artificielle. La vie artificielle est ltude des systmes conus par
lhomme, qui prsentent des comportements similaires aux systmes vivants naturels. Elle
complte
lapproche traditionnelle de la biologie, dfinie tymologiquement par tude des tres vivants, en
essayant de synthtiser leurs comportements sur support artificiel. La modlisation, sajoutant
lobservation, la thorie et lexprience, est un nouvel outil scientifique qui sest fait valoir

depuis lavnement de linformatique. Celle-ci peut contribuer la biologie thorique en la plaant


dans un contexte plus vaste.
Lobjectif est double: dune part, la modlisation de ces phnomnes permet de mieux les
comprendre, et ainsi mettre en vidence les mcanismes qui sont lorigine de la vie ; dautre part,
on peut exploiter ces phnomnes de faon libre et peuvent donc tre diverses.
Le domaine de lvolution artificielle na connu une relle expansion qu partir de ces 15 dernires
annes. Pourtant, lide de simuler sur ordinateurs des phnomnes volutionnaires remonte aux
annes 50. Des concepts tels que la reprsentation des chromosomes par des chanes binaires
taient dj prsents.
Lessor de lvolution artificielle, depuis les annes 80, peut sexpliquer par deux phnomnes
concurrents. Premirement, cet essor est principalement d laccroissement exponentiel des
moyens de calculs mis la disposition des chercheurs, ce qui leur permet dafficher des rsultats
exprimentaux pertinents et prometteurs. Le deuxime point est labandon du biologiquement
plausible.
Trois types d'algorithmes volutionnaires ont t dvelopp isolment et peu prs simultanment,
par diffrents scientifiques : la programmation volutionniste (L. Fogel 1966), les Stratgies
d'volution ( J. Rechenberg 1973 ) et les Algorithmes Gntiques (J. Holland 1975).
Dans les annes 90, ces trois champs ont commenc sortir de leur isolement et ont t regroups
sous le terme anglo-saxon d'Evolutionnary Computation.
Nous traiterons seulement ici les algorithmes gntiques fonds sur le No-Darwinisme, c'est--dire
l'union de la thorie de l'volution et de la gntique moderne. Ils s'appuient sur diffrentes
techniques drives de cette dernire : croisements, mutation, slection...
Un algorithme gntique recherche le ou les extrema d'une fonction dfinie sur un espace de
donnes. Pour l'utiliser, on doit disposer des cinq lments suivants :
1) Un principe de codage de l'lment de population. Cette tape associe chacun des points de
l'espace d'tat une structure de donnes. Elle se place gnralement aprs une phase de
modlisation mathmatique du problme trait. La qualit du codage des donnes conditionne le
succs des algorithmes gntiques. Le codages binaires ont t trs utiliss l'origine. Les codages
rels sont dsormais largement utiliss, notamment dans les domaines applicatifs pour
l'optimisation de problmes variables relles.
2) Un mcanisme de gnration de la population initiale. Ce mcanisme doit tre capable de
produire une population d'individus non homogne qui servira de base pour les gnrations futures.
Le choix de la population initiale est important car il peut rendre plus ou moins rapide la
convergence vers l'optimum global. Dans le cas o l'on ne connat rien du problme rsoudre, il
est essentiel que la population initiale soit rpartie sur tout le domaine de recherche.

3) Une fonction optimiser. Celle-ci retourne une valeur appele fitness ou fonction d'valuation

de l'individu.
4) Des oprateurs permettant de diversifier la population au cours des gnrations et d'explorer
l'espace d'tat. L'oprateur de croisement recompose les gnes d'individus existant dans la
population, l'oprateur de mutation a pour but de garantir l'exploration de l'espace d'tats.
5) Des paramtres de dimensionnement : taille de la population, nombre total de gnrations ou
critre d'arrt, probabilits d'application des oprateurs de croisement et de mutation.

Nous savons maintenant sur quoi se basent les algorithmes gntiques.


Il est dsormais temps d'approfondir les mcanismes de slction de population et la notion de
diversit qui en dcoule. Nous tacherons galement de dfinir les oprateurs voqus dans
l'organigramme de l' algorithme volutionnaire (cf. figure 1) .
Donner une image la fois globale et prcise des outils principaux des algorithmes gntiques,
tel sera notre objectif majeur au cours de notre seconde partie.

Fonctionnement des algorithmes gntiques

Les algorithmes gntiques fournissent des solutions aux problmes n'ayant pas de solutions
calculables en temps raisonnable de faon analytique ou algorithmique.
Selon cette mthode, des milliers de solutions (gnotypes) plus ou moins bonnes sont cres
au hasard puis sont soumises un procd d'valuation de la pertinence de la solution mimant
l'volution des espces : les plus "adapts", c'est--dire les solutions au problme qui sont les plus
optimales survivent davantage que celles qui le sont moins et la population volue par gnrations
successives en croisant les meilleures solutions entre elles et en les faisant muter, puis en relanant
ce procd un certain nombre de fois afin d'essayer de tendre vers la solution optimale.
Le mcanisme d'volution et de slection est indpendant du problme rsoudre : seules changent
trois fonctions :

la fonction qui s'occupe de reprsenter le problme en codant chaque information caractrisant


une solution possible selon un codage bien particulier, chaque information
reprsente alors un gne et toutes les valeurs que peuvent prendre cette caractristique
reprsentent les allles possibles pour ce gne, et en concatnant tous ces gnes pour obtenir
un chromosome qui lui reprsente une solution dans son intgralit

la fonction inverse qui partir d'un chromosome permet d'obtenir une solution par dcodage du
gnme.

la fonction qui value l'adaptation d'une solution un problme, sa pertinence.

Cette technique est d'application gnrale.


En effet, quand on utilise les algorithmes gntiques , aucune connaissance de la manire dont
rsoudre le problme n'est requise, il est seulement ncessaire de fournir une fonction
permettant de coder une solution sous forme de gnes (et donc de faire le travail inverse)
ainsi que de fournir une fonction permettant d'valuer la pertinence d'une solution au problme
donn.
Cela en fait donc un modle minimal et canonique pour n'importe quel systme volutionnaire et
pour n'importe quel problme pouvant tre abord sous cet angle, sous ce paradigme.
Cette reprsentation nous permet donc d'tudier des proprits quasiment impossibles tudier
dans leur milieu naturel, ainsi que de rsoudre des problmes n'ayant pas de solutions calculables
en temps raisonnables si on les aborde sous d'autres paradigmes, avec des
performances quantifiables, facilement mesurables et qu'on peut confronts aux autres stratgies de
rsolution.
Les algorithmes gntiques peuvent tre particulirement utiles dans les domaines suivants :

Optimisation : optimisation de fonctions, planifiacation, etc ...


Apprentissage : classification, prdiction, robotique, etc ...
Programmation automatique : programmes LISP, automates cellulaires, etc ...
Etude du vivant, du monde rl : marchs conomiques, comportements sociaux, systmes
immunitaires, etc ...

Les principales diffrences des algorithmes gntiques par rapport aux autres paradigmes sont les
suivantes :

On utilise un codage des informations : on reprsente toutes les caractristiques d'une solution
par un ensemble de gnes, c'est--dire un chromosome, sous un certain codage (binaire, rl,
code de Gray, etc ...), valeurs qu'on concatne pour obtenir une chane de
caractres qui est spcifique une solution bien particulire (il y a une bijection entre la
solution et sa reprsentation code

On traite une population "d'individus", de solutions : cela introduit donc du paralllisme.

L'valuation de l'optimalit du systme n'est pas dpendante vis--vis du domaine.

On utilise des rgles probabilistes : il n'y a pas d'numration de l'espace de recherche, on


en explore une certaine partie en tant guid par un semi-hasard : en effet des oprateurs
comme la fonction d'valuation permet de choisir de s'intresser une solution qui semble
reprsenter un optimum local, on fait donc un choix dlibr, puis de la croiser avec une
autre solution optimale localement, en gnral la solution obtenue par croisement est
meilleure ou du mme niveau que ses parents, mais ce n'est pas assur, cela dpend des
alas du hasard, et cela et d'autant plus vrai pour l'oprateur de mutation qui ne s'applique
qu'avec une certaine probabilit et dans le cas o il s'applique choisit alatoirement sur
quel(s) locus(loci) introduire des modifications.

Un algorithme gntique gnrique la forme suivante :


1) Initialiser la population initiale P.
2) Evaluer P.
3) TantQue (Pas Convergence) faire :
a) P ' = Slection des Parents dans P
b) P ' = Appliquer Oprateur de Croisement sur P '
c) P ' = Appliquer Oprateur de Mutation sur P '
d) P = Remplacer les Anciens de P par leurs Descendants de P '
e) Evaluer P
FinTantQue
Le critre de convergence peut tre de nature diverse, par exemple :

Un taux minimum qu'on dsire atteindre d'adaptation de la population au problme,


Un certain temps de calcul ne pas dpasser,
Une combinaison de ces deux points.

Les diffrents points introduits ci-avant vont maintenant tre tudis en dtail dans la section 3.

Section 1

Le codage
Chaque paramtre d'une solution est assimil un gne, toutes les valeurs qu'il peut prendre sont les
allles de ce gne, on doit trouver une manire de coder chaque allle diffrent de faon unique
(tablir une bijection entre l'allle "rl" et sa reprsentation code).
Un chromosome est une suite de gne, on peut par exemple choisir de regrouper les paramtres
similaires dans un mme chromosome (chromosome un seul brin) et chaque gne sera reprable
par sa position : son locus sur le chromosome en question.
Chaque individu est reprsent par un ensemble de chromosomes, et une population est un
ensemble d'individus.

Figure 2: les cinq niveaux d'organisation d'un algorithme gntique

Il y a trois principaux types de codage utilisables, et on peut passer de l'un l'autre relativement
facilement :

le codage binaire : c'est le plus utilis.


Chaque gne dispose du mme alphabet binaire {0, 1}
Un gne est alors reprsent par un entier long (32 bits), les chromosomes qui sont des
suites de gnes sont reprsents par des tableaux de gnes et les individus de notre espace
de recherche sont reprsents par des tableaux de chromosomes.
Ce cas peut tre gnralis tout alphabet alllique n-aire permettant un codage plus intuitif,
par exemple pour le problme du voyageur de commerce on peut prfrer utiliser l'alphabet

alllique {c1, c2, c3, ..., cn} o ci reprsente la ville de numro i.

le codage rl : cela peut-tre utile notamment dans le cas o l'on recherche le maximum d'une
fonction relle.

Figure 3 : illustration schmatique du codage des variables relles

le codage de Gray : dans le cas d'un codage binaire on utilise souvent la "distance de Hamming"
comme mesure de la dissimilarit entre deux lments de population, cette mesure compte les
diffrences de bits de mme rang de ces deux sequences.
Et c'est la que le codage binaire commence montrer ses limites. En effet, deux lments voisins
en terme de distance de Hamming ne codent pas ncessairement deux lments proches dans
l'espace de recherche. Cet inconvnient peut tre vit en utilisant un "codage de Gray" : le
codage de Gray est un codage qui a comme proprit que entre un lment n et un lment n + 1,
donc voisin dans l'espace de recherche, un seul bit diffre.

Section 2

L'oprateur de slection

Cet oprateur est charg de dfinir quels seront les individus de P qui vont tre dupliqus dans la
nouvelle population P' et vont servir de parents (application de l'oprateur de croisement).
Soit n le nombre d'individus de P, on doit en slctionner n/2 (l'oprateur de croisement nous
permet de repasser n individus).
Cet oprateur est peut-tre le plus important puisquil permet aux individus dune population de
survivre, de se reproduire ou de mourir. En rgle gnral, la probabilit de survie dun individu sera
directement relie son efficacit relative au sein de la population.
On trouve essentiellement quatre types de mthodes de slection diffrentes :

La mthode de la "loterie biaise" (roulette wheel) de GoldBerg,


La mthode "litiste",
La slection par tournois,
La slection universelle stochastique.

a) La loterie biaise ou roulette wheel :


Cette mthode est la plus connue et la plus utilise.
Avec cette mthode chaque individu a une chance d'tre selectionn proportionnelle sa
performance, donc plus les individus sont adapts au problme, plus ils ont de chances d'tre
slctionns.
Pour utiliser l'image de la "roue du forain", chaque individu se voit attribu un secteur dont
l'angle est proportionnel son adaptation, sa "fitness".
On fait tourner la roue et quand elle cesse de tourner on slctionne l'individu correspondant au
secteur dsign par une sorte de "curseur", curseur qui pointe sur un secteur particulier de celle-ci
aprs qu'elle se soit arrt de tourner.

Figure 4: la mthode de slection de la loterie biaise

Cette mthode, bien que largement rpandue, a pas mal d'inconvnients :

En effet, elle a une forte variance. Il n'est pas impossible que sur n slections successives
destines dsigner les parents de la nouvelle gnration P', la quasi-totalit, voire pire la
totalit des n individus slectionns soient des individus ayant une fitness vraiment
mauvaise et donc que pratiquement aucun individu voire aucun individu a forte fitness ne
fasse partie des parents de la nouvelle gnration. Ce phnomne est bien sr trs
dommageable car cela va compltement l'encontre du principe des algorithmes
gntiques qui veut que les meilleurs individus soient slctionns de manire converger
vers une solution la plus optimale possible.

A l'inverse, on peut arriver une domination crasante d'un individu "localement suprieur".
Ceci entrainant une grave perte de diversit. Imaginons par exemple qu'on ait un individu
ayant une fitness trs lve par rapport au reste de la population, disons dix fois suprieure,
il n'est pas impossible qu'aprs quelques gnrations successives on se retrouve avec une
population ne contenant que des copies de cet individu. Le problme est que cet individu
avait une fitness trs lve, mais que cette fitness tait toute relative, elle tait trs lve
mais seulement en comparaison des autres individus. On se retrouve donc face problme
connu sous le nom de "convergence prmature; l'volution se met donc stagner et on
atteindra alors jamais l'optimum, on restera bloqu sur un optimum local.
Il existe certaines techniques pour essayer de limiter ce phnomne, comme par exemple le
"scaling", qui consiste effectuer un changement d'chelle de manire augmenter ou
diminuer lde manire force a fitness d'un individu par rapport un autre selon leur cart de
fitness.
Malgr tout, il est conseill d'opter plutt pour une autre mthode de slction.

b) La mthode litiste .
Cette mthode consiste slctionner les n individus dont on a besoin pour la nouvelle
gnration P' en prenant les n meilleurs individus de la population P aprs l'avoir trie de
manire dcroissante selon la fitness de ses individus.
Il est inutile de prciser que cette mthode est encore pire que celle de la loterie biaise dans le
sens o elle amnera une convergence prmature encore plus rapidement et surtout de
manire encore plus sre que la mthode de slection de la loterie biaise ; en effet, la pression
de la slction est trop forte, la variance nulle et la diversit inexistante, du moins le peu de
diversit qu'il pourrait y avoir ne rsultera pas de la slection mais plutt du croisement et des
mutations.
L aussi il faut opter pour une autre mthode de slction.

c) La slection par tournois :


Cette mthode est celle avec laquelle on obtient les rsultats les plus satisfaisants.
Le principe de cette mthode est le suivant : on effectue un tirage avec remise de deux
individus de P, et on les fait "combattre". Celui qui a la fitness la plus leve l'emporte avec
une probabilit p comprise entre 0.5 et 1. On rpte ce processus n fois de manire a obtenir les
n individus de P' qui serviront de parents.
La variance de cette mthode est leve et le fait d'augmenter ou de diminuer la valeur de p
permet respectivement de diminuer ou d'augementer la pression de la slection.

d) La slection universelle stochastique :


Cette mthode semble tre trs peu utilise et qui plus est possde une variance faible, donc
introduit peu de diversit, nous n'entrerons donc pas dans les dtails, on se contentera
d'exposer sa mise en oeuvre :
On prend l'image d'un segment decoup en autant de sous-segments qu'il y a d'individus. Les
individus slectionns sont dsigns par un ensemble de points quidistants.

Section 3

L'oprateur de croisement ou crossover

Le crossover utilis par les algorithmes gntiques est la transposition informatique du mcanisme
qui permet, dans la nature, la production de chromosomes qui hritent partiellement des
caractristiques des parents.
Son rle fondamental est de permettre la recombinaison des informations prsentes dans le
patrimoine gntique de la population.
Cet oprateur est appliqu aprs avoir appliqu l'oprateur de slction sur la population P; on
se retrouve donc avec une population P' de n/2 individus et on doit doubler ce nombre pour que
notre nouvelle gnration soit complte.
On va donc crer de manire alatoire n/4 couples et on les fait se "reproduire".
Les chromosomes (ensembles de paramtres) des parents sont alors copis et recombins de faon
former deux descendants possdant des caractristiques issues des deux parents.
Dtaillons ce qui se passe pour chaque couple au niveau de chacun de leurs chromosomes :
Un, deux, voire jusqu' lg - 1 (o lg est la longueur du chromosome) points de croisements (loci)
sont tirs au hasard, chaque chromosome se retrouve donc spar en "segments". Puis chaque
segment du parent 1 est chang avec son "homologue" du parent 2 selon une probabilit de
croisement pc . De ce processus rsulte 2 fils pour chaque couple et notre population P' contient
donc bien maintenant n individus.
On peut noter que le nombre de points de croisements ainsi que la probabilit de croisement p c
permettent d'introduire plus ou moins de diversit.
En effet, plus le nombre de points de croisements sera grand et plus la probabilit de croisement
sera lve plus il y aura d'change de segments, donc d'change de paramtres, d'information, et
plus le nombre de points de croisements sera petit et plus la probabilit de croisement sera faible,
moins le croisement aportera de diversit.
Ci-dessous, un schma illustrant un croisement en un point, un autre pour un croisement en deux
points, et enfin un schma reprsentant un croisement avec lg - 1 points de croisements (on notera
d'ailleurs sur ce schma que l'change d'un segement avec son homologue ne se fait pas toujours) :

Figure 5: croisement avec un point de crossover

Figure 6: croisement avec 2 points de crossover

Figure 7: croisement uniforme

On peut citer aussi une autre mthode trs utilise dans le cas des problmes modliss par un
codage binaire, il s'agit du croisement uniforme. La mise en oeuvre de ce procd est fort simple,
elle consiste dfinir de manire alatoire un "masque", c'est--dire une chane de bits de mme
longueur que les chromosomes des parents sur lesquels il sera appliqu. Ce masque est destin
savoir, pour chaque locus, de quel parent le premier fils devra hriter du gne s'y trouvant; si face
un locus le masque prsente un 0, le fils hritera le gne s'y trouvant du parent n 1, si il prsente un
1 il en hritera du parent n 2. La cration du fils n 2 se fait de manire symtrique : si pour un
gne donn le masque indique que le fils n 1 devra recevoir celui-ci du parent n 1 alors le fils n 2
le recevra du parent n2, et si le fils n 1 le reoit du parent n 2 alors le fils 2 le recevra du parent
n 1.
Loprateur de croisement favorise lexploration de lespace de recherche. En effet, considrons
deux gnes A et B pouvant tre amliors par mutation. Il est peu probable que les deux gnes
amliors A et B apparaissent par mutation dans un mme individu. Mais si un parent porte le
gne mutant A' et l'autre le gne mutant B', loprateur de croisement permettra de combiner
rapidement A et B et donc de crer un nouvel individu possdant cette combianaison,
combinaison grce laquelle il est possible qu'il soitt encore plus adapt que ses parents.
Loprateur de croisement assure donc le brassage du matriel gntique et laccumulation des
mutations favorables. En termes plus concrets, cet oprateur permet de crer de nouvelles
combinaisons des paramtres des composants.
Malgr tout, il est possible que l'action conjointe de la slection et du croisement ne permette pas
de converger vers la solution optimale du problme.
En effet, imaginons que nous avons une population d'individus possdant un seul chromosome.
Considrons un gne particulier de ce chromosome, on l'appelera G, gne ayant 2 allles possibles :

0 et 1; si aucun individu de la population initiale ne possde l'allle 1 pour ce gne, aucun


croisement possible ne permettra d'introduire cet allle pour notre gne G. Si la solution optimale
au problme est telle que notre gne G possde l'allle 1, il nous sera impossible d'atteindre cette
solution optimale simplement par slection et croisement.
Cest pour remdier entre autre ce problme que loprateur de mutation est utilis.

Section 4

L'oprateur de mutation

Cet oprateur consiste changer la valeur alllique d'un gne avec une probabilit p m trs faible,
gnralement comprise entre 0.01 et 0.001.
On peut aussi prendre p m = 1 / lg o lg est la longueur de la chane de bits codant notre
chromosome.
Une mutation consiste simplement en l'inversion d'un bit (ou de plusieurs bits, mais vu la
probabilit de mutation c'est extrmement rare) se trouvant en un locus bien particulier et lui aussi
dtermin de manire alatoire; on peut donc rsumer la mutation de la faon suivante :
On utilise une fonction cense nous retourner true avec une probabilit p m .

Pour chaque locus faire


Faire appel la fonction
Si cette fonction nous renvoie true alors
on inverse le bit se trouvant ce locus
FinSi
FinPour

Figure 8 : une mutation

L'oprateur de mutation modifie donc de manire compltement alatoire les caractristiques d'une
solution, ce qui permet d'introduire et de maintenir la diversit au sein de notre population de
solutions. Cet oprateur joue le rle d'un "lment perurbateur", il introduit du "bruit" au sein de la
population.
Cet oprateur dispose de 4 grands avantages :

Il garantit la diversit de la population, ce qui est primordial pour les algorithmes gntiques.

Il permet d'viter un phnomne connu sous le nom de drive gntique. On parle de drive
gntique quand certains gnes favoriss par le hasard se rpandent au dtriment des autres et
sont ainsi prsents au mme endroit sur tout les chromosomes. Le fait que l'oprateur de
mutation puisse entraner de manire alatoire des changements au niveau de n'importe quel
locus permet d'viter l'installation de cette situation dfavorable.

Il permet de limiter les risques d'une convergence prmature cause par exemple par une
mthode de slection litiste imposant la population une pression slective trop forte. En effet,
dans le cas d'une convergence prmature on se retrouve avec une population dont tous les
individus sont identiques mais ne sont que des optimums locaux. Tous les individus tant
identiques, le croisement ne changera rien la situation. En effet, l'change d'informations par
crossover entre des individus strictement identiques est bien sr totalement sans consquences;
on aura beau choisir la mthode de croisement qu'on veut on se retrouvera toujours changer
des portions de chromosomes identiques et la population n'voluera pas. L'volution se
retrouvant bloque on n'attendra jamais l'optimum global.
La mutation entrainant des inversions de bits de manire alatoire permet de rintroduire des
diffrences entre les individus et donc de nous extirper de cette situation.
Il est quand mme utile de garder l'esprit que ceci n'est pas une solution "miracle" et qu'il est
bien entendu plus intelligent de ne pas utiliser de mthodes de slection connues pour entrainer
ce type de problme.

La mutation permet d'atteindre la proprit d' ergodicit.


L'ergodicit est une proprit garantissant que chaque point de l'espace de recherche puisse tre
atteint.
En effet, une mutation pouvant intervenir de manire alatoire au niveau de n'importe quel

locus, on a la certitude mathmatique que n'importe quel permutation de notre chane de bits
peut apparatre au sein de la population et donc que tout point de l'espace de recherche peut tre
atteint.
Grce cette proprit on est donc sr de pouvoir atteindre l'optimum global.
On notera que la mutation rgle donc le problme expos la fin du Section sur le croisement.

Section 5

L'oprateur de remplacement
Cet oprateur est le plus simple, son travail consiste rintroduire les descendants obtenus par
application successive des oprateurs de slection, de croisement et de mutation (la population P')
dans la population de leurs parents (la population P).
Ce faisant il vont remplacer une certaine proportion de ceux-ci, proportion pouvant bien sr tre
choisie. Le rapport entre le nombre d'individus nouveaux allant tre introduits dans la population P
et le nombre d'individus de cette population est connu sous le nom de generation gap.
On trouve essentiellemnt 2 mthodes de remplacement diffrentes :

Le remplacement stationnaire : dans ce cas, les enfants remplacent automatiquement les


parents sans tenir compte de leurs performances respectives, et le nombre d'individus de la
population ne varie pas tout au long du cycle d'evolution simul, ce qui implique donc
d'initialiser la population initiale avec un nombre suffisant d'individus. Cette mthode peut tre
mise en oeuvre de 2 faons diffrentes :

La premire se contente de remplacer la totalit de la population P par la population P', cette


mthode est connue sous le nom de remplacement gnrationnel et on a donc un generation
gap qui vaut 1.

La deuxime mthode consiste choisir une certaine proportion d'individus de P' qui
remplaceront leurs parents dans P (proportion gale 100 % dans le cas du remplacement
gnrationnel.

Ce type de remplacement engendre une population ayant une grande variation et de se fait
favorise la drive gntique qui se manifeste d'autant plus que la population est de petite taille.
De plus dans bien des cas, tant donn que mme un enfant ayant une faible performance
remplace forcement un parent, on natteint pas la meilleure solution mais on sen approche

seulement.

Le remplacement litiste : dans ce cas, on garde au moins l'individu possdant les meilleures
performances d'une gnration la suivante. En gnral, on peut partir du principe quun nouvel
individu (enfant) prend place au sein de la population que sil remplit le critre dtre plus
performant que le moins performant des individus de la population prcdente. Donc les enfants
d'une gnration ne remplaceront pas ncessairement leurs parents comme dans le remplacement
stationnaire et par la mme la taille de la population n'est pas fige au cours du temps.
Ce type de stratgie amliore les performances des algorithmes volutionnaire dans certains
cas. Mais prsente aussi un dsavantage en augmentant le taux de convergence prmatur.

Nanmoins, des implmentations plus fines procdent de manire diffrente. Dans ce cas l, le taux
de remplacement n'est pas de 100 %, la taille de la population augmente donc au cours des
gnrations successives, on dit qu'il y a overcrowding. Il faut donc trouver un moyen pour
slectionner les parents qui seront supprims, qui vont mourir. De Jong a propos la solution
suivante : imaginons qu'on veuille remplacer 30 % des parents, soit np le nombre de parents
correspondants ce pourcentage, on remplacera les np parents les plus proches de leurs
descendants de P'. Cette mthode permet donc premirement de maintenir la diversit et
deuximement d'amliorer la fitness globale de la population.

Section 6

Un petit exemple mettant en oeuvre


tous les oprateurs
Le petit exemple suivant va permettre de mettre en oeuvre sur une gnration tous les oprateurs
tudies de manire pouvoir observer le rsultat de l'application successive de ces oprateurs.
Cet exemple est d Goldberg (1989). Il consiste trouver le maximum de la fonction f(x) = x sur
l'intervalle [0, 31] o x est un entier naturel.
On a 32 valeurs possibles pour x on choisit donc un codage discret sur 5 bits : on obtient donc la
squence 0,1,1,0,1 pour 13, la squence 1,1,0,0,1 pour 25, etc...
On initialise la population initiale de manire alatoire et on fixe sa taille 4 individus. On dfinit
simplement la fitness comme tant la valeur de x, vu qu'on en cherche la valeur maximum sur

l'intervalle [0, 31] plus la valeur de x sera leve plus on se rapprochera du maximum de la fonction
identit et donc plus la fitness sera grande. Soit la population initiale suivante :

Figure 9: la population initiale

On opte pour une slection par la mthode la loterie biaise :

Figure 10: application de la mthode de slection de la loterie biaise sur la population

On fait tourner la roue 4 fois de suite, en gnral on fait tourner n / 2 fois, soit 2 fois dans ce cas,
mais le nombre 2 tant trop petit on dcide de la faire tourner 4 fois. On obtient la nouvelle
population :

Figure 11: individus slctionns par la mthode de la loterie biaise

On applique l'oprateur de croisement en utilisant un seul point de crossover. Normalement chaque


couple donne 2 enfants qu'on ajoute notre nouvelle population P' la faisant passer de n / 2
individus n individu, mais vu que dans le cas de notre exemple nous avons dj atteint nos n
individus, les 2 enfants du couple remplaceront leurs parents.
Deux couples sont forms de manire alatoire :

couple 1 : l'individu 2 avec l'individu 3

couple 2 : l'individu 1 avec l'individu 4.

Les point de crossover sont eux aussi tirer au hasard.


On obtient le rsultat suivant :

Figure 12: rsultat de l'application de l'oprateur de croisement avec un point de crossover sur les
individus slectionns par la loterie biaise

On applique l'oprateur de mutation qui choisit de manire alatoire si on doit faire une mutation et
sur quel locus la faire :

Figure 13: rsultat de l'application de l'oprateur de mutation sur les individus engendrs par croisement

Puis on applique l'oprateur de remplacement qui dcide de remplacer 100% de la population P, la


population P est donc entirement remplace par P' et sa taille reste fixe :

Figure 14: la nouvelle population aprs application des diffrents oprateurs

En une seule gnration le maximum est pass de 24 27, et la fitness globale de la population a
relativement augmente pour passer de 59 71. On s'arrte ici pour cet exemple mais dans la ralit
on continuera engendrer des gnrations successives jusqu' obtenir le maximum global : 31.
Le seul intrt de cet exemple tait de montrer une trace simple, sur une gnration, de l'application
successive des diffrents oprateurs. Il est bien sr vident qu'un tel "problme" ne ncessitait pas
l'utilisation d'algorithmes gntiques.
Dans la partie suivante nous allons exposer diffrents problmes, problmes considrs comme
difficiles, ncessitant un temps de calcul important avec une approche algorithmique classique, et
exposer des mises en oeuvre possibles l'aide d'algorithmes gntiques. On montrera en quoi les
algorithmes gntiques amliorent la rapidit de rsolution, ou carrment permettent une rsolution
qui n'aurait pas t possible autrement vu la taille des entres du problme et sa complexit en
temps.

II

Applications des algorithmes gntiques des


problmes concrets

Section 7

Application au problme du voyageur de


commerce

Nous allons maintenant nous interesser une application plus concrte : le problme du voyageur
de commerce. Cet exemple est un classique appartenant la classe des problmes NP-complets.
Il consiste visiter un nombre N de villes en un minimum de distance sans passer deux fois par la
mme ville. Il s'agit donc d'optimiser le cot d'un parcours dans un graphe complet possdant un
certain nombre de sommets, en passant une et une seule fois par chacun. Des mthodes
dterministes existent dj pour rsoudre le problme, mais le temps de calcul est trs long : elles
reviennent parcourir toutes les solutions possibles et dterminer la moins coteuse.
Le but sera ici de montrer comment modliser le problme partir d'algorithmes gntiques et des
divers oprateurs que nous avons disposition, qui ont t dfinis antrieurement.
Ceci nous conduira ensuite montrer les avantages de cet outil par rapport une rsolution de type
dterministe.
Reprsentation du problme :
Le problme du voyageur de commerce peut se modliser l'aide d'un graphe complet de n

sommets dont les arrtes sont pondres par un cot strictement ngatif. Pour l'implantation de
notre algorithme, l'instance sera modlise comme distance euclidienne sur n points du plan, pour
construire la matrice de cot.

Figure 15 : modlisation du graphe sous forme de matrice

L'espace de recherche :
L'espace de recherche est l'ensemble des permutations de {1, 2, ..., n }.
Un point de cet espace de recherche est reprsent par une de ces permutations.
Codage des points de l'espace de recherche :
Une premire ide serait de coder chaque permutation (i.e : chaque point de l'espace de recherche)
par une chane de bits.
Par exemple, pour n = 10 :
0011 0111 0000 0100 0001 0010 0101 0110
reprsente la permutation :
3 7 0 4 1 2 5 6
On s'aperoit bien que chaque lment de l'ensemble de permutation est cod sur :
i = E ( ln ( n ) / ln ( 2 ) ) bits , E tant la fonction de partie entire.
Sachant qu'une permutation est de taille n, la chaine de bits sera alors de taille n * i.
Reprsentation d'une solution :
Comme nous l'avons dja dit le voyageur de commerce doit revenir son point de dpart et passer
par toutes les villes une fois et une seule. Nous avons donc cod une solution par une structure de
donnes comptant autant d'lments qu'il y a de villes, c'est dire une permutation. Chaque ville y
apparait une et une seule fois. Il est alors vident que selon la ville de dpart que l'on choisit on

peut avoir plusieurs reprsentations diffrentes du mme parcours.

Figure 16 : codage d'une solution (ensemble de villes) dans un tableau .

Slection :
Nous utilisons ici la mthode de slection par roulette. On calcule d'abord la valeur moyenne de la
fonction d'valuation dans la population :

est l'individu i de la population et

dans la roulette est proportionnel

la taille de la population. La place d'un individu


. On slectionne alors

individus pour la

reproduction. Il y a aussi la possibilit d'avoir une politique d'litisme. C'est dire qu' chaque
tape de slection le meilleur chromosome est automatiquement slectionn (cf. partie 2).

Croisement :
Etant donn deux parcours il faut combiner ces deux parcours pour en construire deux autres.
Nous pouvons suivre la mthode suivante :
1. On choisi alatoirement deux points de dcoupe.
2. On interverti, entre les deux parcours, les parties qui se trouvent entre ces deux points.
3. On supprime, l'extrieur des points de coupe, les villes qui sont dja places entre les
points de coupe.
4. On recense les villes qui n'apparaissent pas dans chacun des deux parcours.
5. On remplit alatoirement les trous dans chaque parcours.

Figure 17 : exemple de croisement.

Mutation :
Il s'agit ici de modifier un des lments d'un point de l'espace de recherche, soit d'une permutation.
Dans notre cas, cela correspond donc une ville. Quand une ville doit tre mute, on choisit
alatoirement une autre ville dans ce problme et on intervertit les deux villes.

Figure 18 : exemple de mutation

Calcul de fitness ou dite fonction d'valuation :


Le seul impratif sur la valeur d'adaptation est qu'elle soit croissante avec l'adaptation de la solution
au problme. Un parcours valide renverra une valeur suprieur un individu ( solution potentielle )
qui n'est pas solution au problme. On pourra dcider par la suite qu'une solution non correcte sera
de fitness ngative et dans l'autre cas sera alors positive.
Lorsque cette dernire ventualit se produit, il faut que le comportement suivant soit respect,

savoir : plus notre chemin sera court, plus la fitness qui lui est associe sera forte.
On en dduit alors rapidement qu'il faut que la valeur d'adaptation varie dans le sens inverse de la
distance correpondante au parcours. Par souci de simplicit, on pourra ventuellement choisir
comme valeur d'adaptation, l'inverse de la longueur du parcours.
On s'aperoit bien alors que cette algorithme est alatoire (ou dit approximatif) dans le sens ou elle
se base sur des mthodes de calculs non dterministes. L'exprience (i.e la programmation) montre
que les rsultats obtenus sont convaincants, nous parvenons obtenir un ensemble de bonnes
solutions en un temps raisonnable.
ALGORITHME ABSTRAIT :
Il s'agit dans un premier temps d'tablir un ensemble de gnes G. Ceci tant fait, il faut alors dfinir
deux fonctions, qui respectivement permettront de croiser deux ensembles de gnes et de raliser
une mutation sur deux ensembles de gnes.

Croiser(G g1,G g2){


//rsultat du croisement
G r;
//l'ide est tout simplement pour chaque variable de choisir
alatoirement la variable de g1 ou de g2.
Pour chaque variable v de r
Si un nombre alatoire de 0 99 est infrieur 50 alors
copier la variable correspondante v de g1 dans v
Sinon
copier la variable correspondante v de g2 dans v
Fin Si
Fin Pour
Retourner r;
}

Et ci dessous la procedure de mutation :

Muter(G g){
Pour chaque variable v de g
Si un nombre alatoire de 0 99 est infrieur un certain nombre entre 0 et 99
// On echange deux variables car on ne peut avoir 2 villes semblables
dans le meme parcours.
Echanger v et vAutre;
Fin Pour
}

Ds lors, il nous faut une procdure qui puisse noter les gnomes ou permutations dnotant un
parcours ( dans le cas de notre exemple du voyageur de commerce ).

Voici donc une procdure slection qui renvoie les lments les plus interessants d'un gnomes ( ce
sera dans le cas du voyageur de commerce, les lments de fitness la plus grande ). Le choix est
sinon laiss au programmeur.

SelectionNaturelle(G g[],N){
// On trie les lments la fitness la plus grande vers ceux elle est la plus
petite.
Trier g par les g[i] dans l'ordre dcroissant.
Retourner les N premiers lments de g
}

A prsent que nous avons tous les lments dont nous avons besoin, nous pouvons construire
l'algorithme final :

AlgoGene(G g[N]){
// Tant qu'il y a des parcours .
Tant que (g[i] != NULL)
// N pour gi, N-1 pour gj .
G r[N*(N-1)];
k=0;
Pour chaque gi dans g[N]
Pour chaque gj dans g[N]
Si gi!=gj alors
r[k]=Croiser(gi,gj);
Muter(r[k++]);
Fin Si
Fin Pour
Fin Pour
g=SelectionNaturelle(r,N);
Fin Tant Que
}

Comparaison de complexit :

Ce problme est un reprsentant de la classe des problmes NP-complets. L'existence d'un


algorithme de complxit polynomiale reste inconnue.
Les algorithmes pour rsoudre le problme du voyageur de commerce peuvent tre rpartis en deux
classes :
- les algorithmes dterministes qui trouvent la solution optimale
- les algorithmes d'approximation qui fournissent une solution presque optimale

complexit via une mthode de rsolution classique (mthode dterministe) :

Un calcul rapide de la complexit montre qu'elle est en O(n!) o n est le nombre de villes.
En supposant que le temps pour effectuer un trajet est d' 1 s, le tableau 1 tmoigne de l'explosion
combinatoire.

NB VILLES

NB POSSIBILITES

TEMPS DE
CALCUL

120

120s

10

181440

0.18 ms

15 43 MILLIARDS
20

60 E +15

12 h
1928 ans

25 310 E + 21

9,8 Milliards A.

Figure 19 : Nombre de possibilits de chemins et temps de calcul en fonction du nombre de villes

complexit via une mthode de rsolution avec algorithmes gntiques (mthode approximative) :

Un calcul de complexit de l'algorithme abstrait nous montre qu'elle est en O( n ) ou n est le


nombre de villes.

Dtail du calcul : O (Algo Gene) = O(n ) + O (Muter) + O (Croiser) + O(SelectionNaturelle)


= O (n) + O(n) + O (2n) + O(n)
= O (n)

NB VILLES

NB POSSIBILITES

TEMPS DE
CALCUL

25

25 s

10

100

100 s

15

225

225 s

20

400

400 s

Figure 20 : Nombre de possibilits de chemins et temps de calcul en fonction du nombre de villes

Les rsultats entre la mthode deterministe et approximative ne sont pas comparables en soi, elles
utilisent des mthodes diffrentes pour arriver des rsultats diffrents. Comme dis prcdemment,
dans un cas, on cherche la solution optimale , dans le second (cf. tableau 2), une solution presque
optimale.
On s'aperoit bien l'aide de ces calculs que pour parvenir ces solutions on consomme
respectivement un temps exponentiel (explosion combinatoire) et un temps polynomial
(quadratique) par rapport au nombre de villes.
Maintenant que nous avons vu comment rsoudre le problme du voyageur de commerce l'aide
des algorithmes gntiques, et que nous en avons fait les comparaisons avec une mthode de
rsolution classique, nous allons aborder le domaine d'application au data mining .

Section 8

Application au data-mining
Le data-mining consiste extraire des informations intressantes partir d'une masse
importante de donnes. L'exemple qu'on prsentera ici est issu du travail de recherche de Wesley
Romo, Alex A. Freitas et Itana M. de S. Gimenes. Dans cet exemple, la dcouverte d'informations
intressantes, de connaissances utiles, sera aborde sous l'angle de la recherche de rgles de
prdiction IF-THEN, forme de reprsentation trs populaire dans le domaine du data-mining.
Une rgle IF-THEN peut tre dcrite de la manire suivante : si un ensemble de conditions sont
prsentes, sont vrifies, alors on peut en dduire une information, une connaissance.
Dans cet exemple on s'attachera tudier un algorithme gntique conu pour dcouvrir des rgles
de prdiction floues, c'est--dire reprsentes en logique floue. Cet algorithme cherchera
dcouvrir des rgles de prdiction qui sont intressantes car nouvelles et surprenantes pour
l'utilisateur. Ceci est mis en oeuvre en utilisant une technique se basant sur les gots, les
impressions de l'utilisateur. Plus prcisment, une rgle de prdiction sera considre comme
intressante ou surprenante dans la mesure o elle apporte de l'information, de la connaissance qui
non seulement n'tait pas connue pralablement de l'utilisateur, mais qui plus est contredit ses
impressions, ses gots initiaux.
De plus, l'utilisation de la logique floue nous aide amliorer la comprhensibilit des rgles
dcouvertes par l'algorithme gntique. Ceci est d l'utilisation de termes linguistiques qui sont,

par dfinition, et par opposition un algorithme, naturelles, comprhensibles par l'utilisateur.


Comme prcis ci-avant, l'ide charnire du data-mining est d'extraire de la connaissance partir de
donnes et, dans notre exemple, on s'attachera une tche bien particulire du data-mining : la
dcouverte de rgles de prdiction. C'est--dire que l'utilisateur dfinit un but, but ayant plusieurs
attributs dont on doit dterminer les valeurs respectives. Le rle de l'algorithme gntique est donc
de dcouvrir dess rgles de prdiction, c'est--dire des rgles qui partir d'un antcdent : une
conjonction de conditions, va pouvoir dterminer la valeur d'un attribut du but atteindre. On
suppose que l'ensemble des buts est relativement petit et dtermin par l'utilisateur en fonction de
ses besoins, de ses centres d'intrts.
On peut remarquer que cette tche peut tre considre comme une gnralisation d'une tche bien
connue du data-mining : la classification. Dans la classification, les buts n'ont qu'un seul attribut
alors qu'ici on autorise des buts ayant plusieurs attributs. On notera que bien que l'on autorise des
buts plusieurs attributs, chaque rgle ne prdit la valeur que d'un seul attribut.
La motivation principale pour utiliser des algorithmes gntiques pour la dcouverte de rgles de
prdictions floues intressantes est due leur capacit de raliser une recherche globale et au fait
qu'ils s'en sortent mieux avec les intractions entre les diffrents attributs que les les algorithmes
gloutons.
La justification du caractre intressant et flou des rgles dcouvertes par l'algorithme gntique est
la suivante : en gnral, la logique floue est une mthode flexible pour traiter les incertitudes qu'on
trouve typiquement dans les applications traitant des problmes du monde rl. En particulier, dans
le contexte du data-mining, la logique floue semble tre une faon naturelle de traiter les attributs
continus. En effet, en utilisant des termes linguistiques flous comme par exemple "bas" et "lev",
on peut plus naturellement reprsenter les conditions des rgles impliquant des attributs continus
que par discrtisation force de leurs valeurs. Par exemple, la condition floue :
salaire= faible est plus naturelle pour un utilisateur que salaire1300 .
Bien qu'on utilise la logique floue pour amliorer la comprhensibilit des rgles de dduction
dcouvertes par l'algorithme gntique, le but n'est pas l'utilisation de la logique floue mais plutt la
dcouverte de rgles intressantes. En effet, de nombreux algorithmes de dcouverte de rgles de
prdiction se concentrent sur l'valuation de la prcision des rgles de prdiction, sans chercher
savoir si les rgles dcouvertes sont rellement eintressante pour l'utilisateur. Il faut savoir qu'une
rgle de prdiction peut avoir une trs grande prcision mais ne pas tre intressante du tout pour
l'utilisateur car elle reprsente une vidence, quelque chose qu'il sait dj. Par exemple, la rgle :
si le patient attend un enfant alors le patient est une femme, est bien videmment une vidence
pour l'utilisateur et par la mme n'a aucun intrt. En consquence, cet exemple utilise un
algorithme gntique qui recherche des rgles de prdiction qui ne sont pas seulement prcises mais
qui sont aussi intressantes, car surprenantes pour l'utilisateur, comme nous le verrons plus tard. Le
coeur de l'algorithme gntique consiste donc laborer une fonction de fitness qui prenne en
compte ces deux aspects qualitatifs pour valuer une rgle.
On value les rgles, leur qualit, en effectuant une mise en correspondance floue entre ces rgles
et l'ensemble des donnes qu'on tudie au travers du data-mining, on utilise pour cela des fonctions

d'appartenance des conditions aux diffrents ensembles flous sur lesquels on travaille; ce point sera
dvelopp plus bas. On prend aussi en compte les impressions gnrales de l'utilisateur par rapport
au domaine d'application, de manire favoriser la dcouverte de rgles surprenantes. On est donc
dans une approche subjective de la dcouverte de rgles de prdiction, car l'utilisateur intervient
dans le processus de dcision, l'utilisateur devant avoir alors une certaine connaissance du domaine
d'application.Au contraire, l'approche objective utilise des mthodes de dcouverte de rgles de
prdiction et de mesure de leurs qualit indpendante de l'utilisateur.
L'approche objective est donc plus gnrale et autonome que l'approche subjective, alors que
l'approche subjective a le grand avantage d'utiliser les connaissances de l'utilisateur pour guider la
recherche des rgles de prdiction. Par consquent, si le domaine d'application est bien dfini et
qu'un utilisateur expert excute cette application, il est intressant d'utiliser cette approche.
Le problme tant maintenant pos et l'intrt de cette approche ayant t expos, on va tcher d'en
expliquer la mise en oeuvre de l'algorithme gntique sur lequel elle est base.

Le codage :
Chaque individu reprsente une rgle de prdiction. Plus prcisment, chasue individu reprsente
l'antcdent (partie IF) d'une rgle de prdiction. La consquence de la rgle (la partie THEN) n'est
pas encode dans le gnome. Elle est fixe tout au long de l'excution de l'algorithme gntique, de
sorte qu' chaque excution de l'algorithme, la totalit de la population est forme d' individus
reprsentant des rgles ayant la mme consquence, c'est--dire la mme valeur prdite pour un
attribut du but fix par l'utilisateur.
De plus, les rgles de prdiction reprsentes par les individus sont floues. On insiste sur le fait que
seulement les antcdents de la rgle sont "floutts", c'est--dire voient les valeurs de leurs
ventuels attributs continus tre remplaces par un trs petit nombre de termes linguistiques dits
flous; cela ne concerne pas bien sr les attributs dits catgoriels comme par exemple le sexe, la
nationalit, etc... qui ne doivent bien sr pas tre floutts. Les consquences des rgles, quant
elles, sont toujours prcises.
Le gnome d'un individu reprsente une conjonction de conditions spcifiant un antcdent de rgle
de dduction. Chaque condition est reprsente par un gne qui consiste en un doublet attributvaleur de la forme Ai = V i , j o Ai est le i-me attribut et V i , j est la j-me valeur
appartenant au domaine de Ai .
De manire simplifier l'encodage des conditions dans le gnome, on utilise un encodage
positionnel o la i-me condition est encode dans le i-me gne. Par consquent, il est seulement
ncessairede reprsenter la valeur V i , j de la i-me condition dans le gnome puisque l'attribut de
la i-me condition est implicitement dtermine par la position du gne dans le gnome.
De plus, chaque antcdent contient un flag boolen qui indique si la i-me condition est prsente
ou pas dans l'antcdent de la rgle. Par consquent, bien que tous les individus aient la mme
longueur pour leur gnome, des individus diffrents reprsentent des rgles de longueurs diffrentes
selon la valeur des flags boolens.
Cette reprsentation flexible est bien-sr souhaitable dans des rgles de prdiction. Comme
personne ne connait, a priori, combien de conditions seront ncessaires pour crer une bonne rgle
de prdiction, ce nombre doit tre ajust automatiquement par l'algorithme gntique en se basant
sur l'ensemble de donnes qu'on est en train d'tudier.
La structure du gnome d'un individu est illustre ci-dessous avec m le nombre d'attributs qu'on
analyse.

Figure 21 : structure du gnome d'un individu reprsentant un antcdent de rgle

Floutter des attributs continus :


Dans notre algorithme gntique, le flouttage des attributs continus est ralis de la manire
suivante : chaque attribut continu est associ avec 2 ou 3 termes linguistiques qui correspondent
aux valeurs des attributs floutts, comme par exemple {bas, lev} ou {bas, moyen, lev}.
Quand on passe d'un attribut ayant des valeurs continues un attribut ayant des valeurs floues on
perd bien sr de la prcision car on passe d'un nombre de valeurs infini typiquement 3 valeurs
relatives. Donc, et contrairement la thorie classique des ensembles ou un lment donn soit
appartient soit n'appartient pas un ensemble, avec la logique floue on travaille sur des ensembles
flous et il est donc clair qu'un lment appartient un ensemble flou "dans une certaine mesure",
selon sa valeur continue; par exemple si les valeurs 80 et 90 de l'attribut ge appartiennent toutes
deux l'ensemble flou "lv", il est clair que la valeur 80 y appartient "plus" que la valeur 90. On
attend donc de l'utilisateur qu'il nous fournisse, aprs avoir dfini le nombre et la nature des termes
linguistiques utiliser pour raliser le flouttage, des fonctions d'appartenance pour chaque
ensemble flou. Ces fonctions sont chargs de dterminer, pour chaque ensemble, qu'elles sont les
anciennes valeurs continues qu'y maintenant doivent tre considres quivalentes au terme
linguistique qu'il reprsente (l'ensemble), et dans quelle mesure.

Figure 22 : allure des fonctions d'appartenance

Le schma ci-dessus illustre le cas o un attribut continu peut tre floutt en 3 valeurs linguistiques
diffrentes. On remarque que les fonctions d'appartenance aux 3 valeurs linguistiques diffrentes,
aux 3 ensembles, sont spcifies par 4 paramtres nots p1 , p 2 , p3 et p 4 avec
p1 p 2 p 3 p 4 . Chaque paramtre reprsente une valeur continue, qui est utilise pour
spcifier les coordonnes de 2 sommets de trapze appartenant un doublet de fonctions
d'appartenance "adjacentes". Cette reprsentation impose de nombreuses contraintes souhaitables
sur les ensembles flous. Premirement, chaque valeur de dpart (continue) d'un attribut appartient
au moins un des ensembles flous. Deuximement, chaque ensemble flou est unimodal et normal, la
condition de normalit veut dire que le degr d'appartenance maximum de tout lment est 1.
Troisimement, il contient un petit nombre un petit nombre de valeurs linguistiques. En gnral,
ces contraintes aident ce que les ensembles flous aient une bonne comprhensibilit pour
l'utilisateur.

La fonction de fitness :
On rappelle que dans la grande majorit des applications de data-mining, le critre principal
d'valuation de la qualit d'une rgle est la prcision de sa prdiction. Dans le cas de notre exemple,
ce critre est important mais ce n'est pas le seul, en effet une rgle peut tre prcise mais totalement
inutile. Pour viter cela, la fonction de fitness de notre exemple prend en compte la fois le critre
de prcision de la rgle qu'on notera Acc et le critre d'intrt, de surprise qu'on notera Surp. Ces
deux critres sont combins en une seule et unique formule de la faon suivante :
Fitness(i) = Acc(i) * Surp(i)
Nous allons mettant nous attacher exposer comment calculer le degr de prcision et le degr de
surprise d'une rgle de prdiction.

Mesure de la prcision :
La premire tape pour mesurer la prcison prdictive d'une rgle floue est de calculer la
mesure dans laquelle un individu appartient un antcdent de rgle, c'est--dire une
conjonction de conditions. On utilise l'operateur flou ET o le degr d'appartenance d'un
individu un antcdent de rgle est donn par :
z

min i
i=1

o i reprsente le degr d'appartenance de l'individu la i-me condition de l'antcdent, z


est le nombre de conditions dans l'antcdent. Le degr d'appartenance d'un individu la i-me
condition est directement dtermin par la valeur (entre 0 et 1) de la fonction d'appartenance de
l'attribut de la condition son ensemble flou. Du coup, les conditions strictes (c'est--dire
catgorielle, non continues) peuvent seulement avoir un degr d'appartenance valant 0 ou 1.
Par exemple, considrons un antcdent de rgle avec les 2 conditions suivantes :
age = bas ET sexe = femme, o la premire condition est floue et la seconde est stricte.
Supposons que l'exemple donn ait les valeurs 23 et femme pour ces deux attributs respectifs.
Supposons aussi que la fonction d'appartenance pour le terme linguistique bas renvoie 0.8 pour
la valeur 23 et renvoie donc 1 pour l'attribut catgoriel femme. Alors le degr d'appartenance de
cet individu cet antcdent de rgle est min(0.8, 1) = 0.8 .
Soit A l'antcdent d'une rgle donne. Une fois qu'a t calcul le degr d'appartenance de
chaque exemple A, la prcision du i-me individu (rgle floue) note Acc(i) est calcule par
la formule :

CorrPred
Acc i=

TotPred

Dans cette formule, CorrPred (le nombre de prcisions correctes) est la somme des degrs
d'appartenance A de tous les individus qui ont la valeur V i , j prdite par la rgle. TotPred
(nombre total de prdictions) est la somme des degrs d'appartenance A de tous les individus.
1
de CorrPred est de pnaliser les rgles trop
2
spcifiques, qui s'adaptent trop aux donnes. Par exemple, supposons qu'on ait un CorrPred
1
valant 1 et un TotPred valant lui aussi 1. Si on ne soustrait pas
de CorrPred, la formule
2
renverra une prcision de prdiction de 100 % pour la rgle, ce qui est intuitivement une
1
estimation sur-optimiste de sa prcision. Cependant, si on soustrait
CorrPred, la
2
formule renverra une prcision de 50 %, ce qui semble tre une estimation plus plausible de la
prcision, tant donn que la rgle est trop spcifique. EN clair, pour de grandes valeurs de
1
CorrPred et de TotPred, la soustraction de
n'aura pas une influence significative sur la
2
valeur retourne par la formule, de sorte que la soustraction ne pnalise quer les rgles trs
spcifiques, qui ne couvrent qu'un nombre trs limit d'individus.
La raison pour laquelle on soustrait

Mesure du degr de surprise d'une rgle :


On rappelle qu'une rgle est considre comme surprenante pour l'utilisateur si il ne la
connaissait pas mais qui plus est contredit ses impressions, ses croyances de dpart. On utilise
donc une approche subjective, l'utilisateur nous fournit au dpart, avant de lancer l'algorithme
gntique, ses impressions, ses connaissances, ses croyances, ce qu'il pense tre vrai sur le sujet
qu'on tudie au travers du data-mining. Les impressions gnrales, de mme que les rgles de
prdiction, sont exprimes sous la forme de rgles IF-THEN. La diffrence principale entre les
deux est que les premires sont spcifies manuellement par l'utilisateur alors que les secondes
sont dcouvertes automatiquement par l'algorithme gntique.
Soit { R 1 , ... , Ri , RR} l'ensemble des rgles dans la population actuelle o R est le
nombre de rgles, d'individus de la population, et soit {GI 1 , ... ,GI j , GI GI} l'ensemble des
impressions gnrales (initiales) de l'utilisateur, o GI est le nombre de ces impressions
initiales. On remarquera que cet enesemble est spcifi par l'utilisateur avant de lancer
l'algorithme gntique et ne change pas au cours de l'excution de l'algorithme.
Da manire calculer le degr de surprise d'une rgle (individu) de la population, chaque rgle
est mise en correspondance avec chaque impression gnrale de l'uilisateur.

Figure 23 : Mise en correspondance de chaque rgle avec chaque impression gnrale

Une rgle est considre comme surprenante, contredisant les impressions gnrales de
l'utilisateur, dans la mesure o Ri et GI j ont des antcdents similaires mais des
consquences contradictoires. En d'autres termes, plus la similarit entre les antcdents de
Ri et de GI j est importante et plus le degr contradictoire des consquences de Ri et de
GI j est important, plus le degr de surprise de Ri par rapport GI j est lev.
Pour chaque paire de rgles Ri et GI j , avec i variant de 1 R et j variant de 1
GI , l'algorithme gntique calcule le degr de surprise de Ri par rapport GI j en
trois tapes :

1re tape : trouver les impressions gnrales dont les consquences contredisent la
consquence de Ri .
La consquence de Ri contredit la consquence d'une impression gnrale GI j si et
seulement si Ri et GI j ont le mme attribut de but mais une valeur diffrente pour cet
attribut. Par exemple, cela se produirait dans l'exemple suivant : si Ri prdit que "salaire =
bas" et que GI j prdit quant lui que "salaire = lev".
Si Ri et GI j prdisent des attributs de but diffrents ou si ils prdisent la mme valeur
pour le mme attribut de but, alors elles ne sont pas considrs comme contradictoires. Dans
ce cas, le degr de surprise de Ri par rapport GI j est considr comme nul (il vaut 0), et
l'tapes 2 et 3 sont ignores.

2ime tape : calculer le degr de similarit entre les antcdents de Ri et GI j


Pour chaque impression gnrale GI j trouve l'tape prcdente (c'est--dire pour chaque
impression gnrale GI j contredite par Ri ), on calcule le degr de similarit entre les
antcdents de Ri et de GI j . Ce degr de similarit, not AS i , j , est calcul par la
formule suivante :

AS i , j=

Ai , j
max Ri ,GI j

o Ri est le nombre de conditions (doublets attribut-valeur) de la rgle Ri , GI j est le


nombre de conditionsdans l'impression gnrale GI j et Ai , j est le nombre de conditions
qui sont exactement identiques (c'est--dire qui ont le mme attibut et la mme valeur pour cet
attribut) dans Ri et GI j .

3ime tape : calculer le degr de surprise de Ri par rapport GI j .


Soit Surp(i,j) le degr de surprise de Ri par rapport GI j . Surp(i,j) dpend de AS i , j ,
calcule dans la deuxime tape, et de la diffrence entre les consquences de Ri et GI j
calcule dans la premire tape.
Les valeurs de l'attribut de but dans les consquences de Ri et de GI j peuvent tre soit une

valeur de l'ensemble {bas, lev} soit une valeur de l'ensemble {bas, moyen, lev}, cela
dpend de l'attribut de but (le choix entre ces 2 domaines pour un attribut est fait par
l'utilisateur pour chaque attribut).
Si la diffrence entre les consquences de Ri et GI j est que l'une vaut bas et l'autre vaut
lev, caractrisant la plus grande diffrence possible entre ces consquences, alors Surp(i,j) sa
voit assigne la valeur de AS i , j . Si la diffrence entre les consquences de R i et GI j est
que l'une vaut moyen et l'autre vaut bas ou lev, caractrisant une diffrence plus limite entre
ces consquences, alors Surp(i,j) se voit assigne la moiti de la valeur de AS i , j , c'est-dire que Surpi , j =0.5AS i , j .

Une fois que ces 3 tapes ont t faites pour toutes les impressions gnrales, par rapport une
rgle donne Ri , ont t calcul tous les degrs de surprise de Ri par rapport chaque
impression gnrale de l'utilisateur. On est donc en mesure de calculer le degr de surprise de
Ri par la formule suivante :

GI

Surpi =max [ AS i , j ]
j=1

Slection, croisement et mutation et autres oprateurs :


L'algorithme gntique fait appel la mthode des tournois pour effectuer une slection, cela
fonctionne de la manire suivante : tout d'abord k individus sont choisis au hasard et avec remise
(typiquement 2 dans notre cas). L'individu ayant la plus grande fitness parmi les k individus tirs au
hasard gagne le tournoi. Ce processus est rpt P fois o P est la taille de la population, puis les P
individus se voient appliquer l'oprateur de croisement puis celui de mutation.
L'algorithme gntique utilise des oprateurs de croisement et de mutation relativement simples.
Pour le croisement il utilise la mthode du croisement uniforme. On fixe une probabilit de
croisement entre 2 individus et une probabilit d'change entre chaque paire de gnes (les 2 gnes
reprsentant une valeur particulire pour le mme attribut). La premire est fixe 0.85 et la
seconde 0.5 . Le choix du croisement uniforme est motiv par le fait qu'avec cette mthode la
probabilit d'change chaque paire de gnes, d'attributs, est indpendante de leur position dans le
gnome. Ceci est souhaitable dans notre exemple o les antcdents de rgle reprsents par le
gnome consiste en une ensemble non-ordonn de conditions.
L'oprateur de mutation se contente quant lui de transformer de manire alatoire la valeur d'un
attribut (d'un gne) en une autre valeur appartenant au domaine de l'attribut.
En plus des oprateurs de croisement et de mutation, l'algorithme gntique utilise galement des
oprateurs chargs d'insrer ou de supprimer certaines conditions d'une rgle. Le premier fait passer
true le boolen d'un gne (d'une condition d'antcdent), la rendant par la mme prsente, alors
que le second le fait passer false, supprimant cette condition de l'antcdent de la rgle. Ces 2
oprateurs ralisent donc respectivement une opration de spcialisation et de gnralisation. En
consquence de quoi ils contribuent une exploration plus large de l'espace de recherche, facilitant
l'exploration de zones de l'espace de recherche qui n'aurait pas t accessible aussi facilement en

utilisant seulement le croisement et la mutation.

Algorithme abstrait :
Spcifier, avec l'aide de l'utilisateur, les fonctions d'appartenance des attributs devant tre floutts.
Obtenir les impressions gnrales de l'utilisateur.
PourChaque consquence de rgle (doublet attribut de but - valeur) faire
Calculer la frquence relative de la valeur de cet attribut de but dans l'ensemble qu'on tudie
au travers du data-mining.
Gnrer aatoirement la population.
Appeler la fonction Calcule_Fitness.
Pour g de 1 nombre de gnrations engendrer faire
Gnrer une nouvelle population.
Appliquer l'oprateur de slection.
Appliquer l'oprateur de croisement.
Appliquer l'oprateur de mutation.
Appliquer l'oprateur d'insertion de conditions dans une rgle.
Appliquer l'oprateur de suppression de conditions d'une rgle.
Appeler la fonction Calcule_Fitness.
FinPour
Renvoyer l'utilisateur la rgle ayant la fitness maximale avec les contraintes suivantes :
(Surp > 0) ET (Acc > max(0.5, FreqRel))
FinPourChaque

Procdure Calcule_Fitness
Calculer la prcision (Acc) de chaque rgle (individu) en ralisant une mise en correspondance
floue entre chaque rgle et les donnes de l'ensemble tudi au travers du data-mining.
Calculer le degr de surprise (Surp) de chaque rgle en mettant en correspondance la rgle avec
chaque impression gnrale de l'utilisateur.
Calculer la fitness de chaque rgle.
FinProcdure

Chaque itration de la boucle principale (la boucle PourChaque) cherche dcouvrir la meilleure
rgle possible (au niveau de la prcision et de la surprise) prdisant une consquence donne.
L'algorithme renvoie une rgle pour chaque consquence devant tre prdite. La rgle renvoye doit
satisfaire 2 conditions : Surp > 0 et ACC > max(0.5, FreqRel). La premire condition requiert

simplement que le degr de surprise de la rgle soit suprieur 0, de sorte ce que cette rgle
puisse tre au moins considre comme potentiellement intressante dfaut de l'tre rellement.
L'intrt de la deuxime condition peut tre expos en tudiant 2 cas bien prcis.
Premier cas :
supposons que la frquence relative (dans l'ensemble de donnes sur lequel on travaille) de la
valeur
de l'attribut de but prdit par cette rgle soit suprieure 0.5. Il est alors logique de demander ce
qu'une rgle prdite par l'algorithme gntique ait une prcision suprieure sa frquence relative
d'apparition dans l'ensemble de donnes sur lequel on travaille.
Deuxime cas :
suppossons maintenant que la frquence relative de la valeur de l'attribut du but prdit par cette
rgle soit infrieure 0.5. Il est toujours logique de demander ce que la prcision de la rgle
prdite par l'algorithme gntique soit suprieure sa frquence relative d'apparition dans
l'ensemble de donns qu'on tudie, mais maintenant cette condition est beaucoup plus facile
satisfaire. Par exemple si la frquence relative vaut 0.2 et que la prcision de la rgle produite par
l'algorithme gntique vaut 0.3 alors la condition (prcision > frquence relative) serait satisfaite,
mais la rgle resterait quand mme une mauvaise rgle car ayant une prcision faible. C'est pour
cela qu'on force la prcision de la rgle devant tre prdite tre suprieure 0.5, pour imposer que
les rgles prdiction dcouvertes par l'algorithme gntique aiant toujours une prcision acceptable,
raisonnable. La condition Acc > max(0.5, FreqRel) nous permet donc d'imposer ces deux
contraintes en une formule simple et concise.

Rsultats :
Les 3 chercheurs ont effectu des tests de leur algorithme gntique sur une base de donnes de
5690 enregistrements. Chaque enregistrement contenait des attributs dcrivant un chercheur et sa
production scientifique. De cette base de donnes ils ont dgags 24 attributs et toutes les
enregistrements de la base de donnes ne contenant pas une valeur pour chacun de ces 24 attributs
ont t limins.
Parmi ces 24 attributs, 6 ont t utiliss comme des attributs dont on devait prdire la valeur l'aide
d'une rgle de prdiction que l'algorithme gntique devait se charger de dcouvrir, et les 18 autres
ont t utiliss comme des attributs servant dduire les valeurs des 6 autres.
Parmi les 18 attributs servant prdire les valeurs des 6 autres, 8 taient catgoriel et donc stricts :

la nationalit du chercheur,

son continent d'origine,

son sexe,

l'tat dans lequel il/elle vit,

la ville dans laquelle il/elle vit,

son niveau d'anglais crit,

si il/elle a dj t la tte d'une quipe de recherche,

son domaine de recherche.

Les 10 autres taient continus et ont donc t floutts en 2 termes linguistiques {low, high} ou en 3
termes linguistiques {low, medium, high}, grce aux informations donnes par l'utilisateur
(fonctions d'appartenance); voici la liste de ces 10 attibuts continus :

le niveau d'instruction,

le nombre d'annes depuis le dernier diplme obtenu,

l'ge,

le nombre de projets techniques mens bien,

le nombre de cours donns,

le nombre de thses supervises,

le nombre de masters superviss,

le nombre d'essais de recherche superviss ( un niveau diplmant),

le nombre de projets de fin de premier cycle superviss,

le nombre d'tudiants de premier cycle encadrs avec un projet de recherche.

Les 6 attributs de but dont on doit prdire les valeurs pour un chercheur donn en se basant sur les
informations dont on dispose dans la base de donnes, nots G 1 , ... , G 6 ,sont les suivants :

G 1 est le nombre d'articles publis dans des journaux nationaux, il peut prendre trois valeurs
floues diffrentes : low, medium, ou high.

G 2 est le nombre d'articles publis dans des journaux internationaux, il peut prendre trois
valeurs floues diffrentes : low, medium, ou high.

G 3 est le nombre de chapitres crits dans des livres dits au niveau national, il peut prendre
trois valeurs floues diffrentes : low, medium, ou high.

G 4 est le nombre de chapitres crits dans des livres dits un niveau international, il peut
prendre 2 valeurs floues diffrentes : low ou hogh,

G 5 est le nombre de livres crits qui sont dits au niveau national, il peut prendre 2 valeurs
floues diffrentes : low ou high.

G 6 est le nombre de livres crits qui sont dits un niveau international, il peut prendre 2
valeurs floues : low ou high.

Tous les rsultats obtenus ont t compars avec ceux obtenus par un algorithme de construction
d'arbres de dcision trs connu du data-mining, mais qui n'est pas un algorithme gntique,
l'algorithme J4.8, voivi les rsultats qu'ils ont obtenus :

Figure 24 : Taux de prcison des prdictions ralises par l'algorithme gntique et l'algorithme J4.8

La premire colonne identifie l'attribut de but prdit par la rgle de prdiction dcouverte, la
deuxime identifie la valeur prdite pour cet attribut, la troisime donne la valeur de la frquence
relative de cet attribut de but dans la base de donnes qu'on tudie, enfin la quatrime et la
cinquime colonne donne le taux de prcision de la prdiction effectue respectivement par
l'algorithme J4.8 et par l'algorithme gntique.On voit que sur ce point l les rsultats fournit par les
2 algorithmes se valent.

Figure 25: Mesure de l'intrt des rgles dcouvertes par l'algorithme J4.8 et de celles
dcouvertes par l'algorithme gntique.

La premire colonne identifie l'attribut de but prdit par la rgle de prdiction dcouverte, la
seconde et la troisime donne le degr d'intrt (surprise et contradiction des impressions gnrales,
des connaissances initiales de l'utilisateur) des rgles dcouvertes respectivement par l'algorithme
gntique J4.8 et par l'algorithme gntique.
Sur ce point la supriorit de l'algorithme gntique sur l'algorithme J4.8 apparait nettement.
Au travers de ces rsultats les chercheurs ont observs que plus une rgle est simple (c'est--dire
qu'elle a un petit nombre de conditions dans son antcdent), plus elle est intressante pour
l'utilisateur. Les chercheurs ont alors compar l'intrt d'une rgle en fonction de son nombre du
nombre de conditions qu'elle contient dans son antcdent et l l'avantage de l'algorithme gntique
sur l'algorithme J4.8 est vraiment flagrant.

Figure 26: Analyse de la simplicit d'une rgle dcouverte par l'algorithme J4.8 en fonction du nombre de
conditions qu'elle contient dans son antcdent.

Figure 27: Analyse de la simplicit d'une rgle dcouverte par l'algorithme gntique en fonction du
nombre de conditions qu'elle contient dans son antcdent.

En conclusion, au niveau de la prcision des rgles de prdictions dcouvertes, les deux


algorithmes se valent, mais en ce qui concerne l'intrt pour l'utilisateur de ces rgles, l'algorithme
gntique prsente un intrt flagrant sur l'algorithme J4.8, et par la mme son choix semble
s'imposer comme une vidence dans le cadre d'un data-mining guid par l'utilisateur comme par
exemple celui effectu par des sites de vente en ligne comme Amazon. En effet, sur ce site, les
gots, les impressions gnrales de l'utilisateur, de l'acheteur, sont dtermins en se basant sur les
articles qu'il achte et sur les articles dont il consulte la page. Le site tente alors de proposer
l'acheteur des articles pouvant l'intresser car en rapport avec ses gots qu'on a pu observer jusque

l, et mme lui proposer des articles par lesquels il n'aurait jamais cru pouvoir tre intress mais
qu'il va finalement apprcier et se dcider acheter !

Conclusion

On sait que les applications des algorithmes gntiques sont multiples : optimisation de fonctions
numriques difficiles , traitement dimage , optimisation demplois du temps, contrle de systmes
industriels [Beasley, 1993a], cryptographie, apprentissage des rseaux de neurones [Renders, 1995],
etc.
Nos exemples d'application nous ont permis de nous rendre compte que le codage des donnes pour
modliser un problme est comlexe. D'autre part, nous nous sommes aussi aperus des difficults
pour choisir pertinemment de bons paramtre pour les divers oprateurs ( mutation , croisement ,
slction , remplacement ). Des choix par rapport aux oprateurs eux mmes sont aussi grer,
sachant que certains sont plus appropris au problme et qu'il permettent d'optimiser.
Les algorithmes gntiques seuls ne sont pas trs efficaces dans la rsolution d'un problme. Ils
apportent cependant assez rapidement une solution acceptable. Nanmoins, il est possible de
l'amliorer assez efficacement en le combinant avec un algorithme dterministe.

Table des matires

I) Fonctionnement des algorithmes gntiques :


Section 1 : Le codage.
Section 2 : L'oprateur de slection.
Section 3 : L'oprateur de croisement ou crossover.
Section 4 : L'oprateur de mutation.
Section 5 : L'oprateur de remplacement.
Section 6 : Un petit exemple mettant en oeuvre tous les
oprateurs.

II) Applications des algorithmes gntiques des problmes


concrets :
Section 7 : Application au problme du voyageur de commerce.
Section 8 : Application au data-mining.

Bibliographie :

Ouvrages qui nous ont permis d'approfondir notre recherche :


Etude de l'adaptivit de systmes volutionnsite en environnement fitness dynamique - Alessio
Gaspar
Algorithmes Gntiques et polymorphisme - Manuel Cleber

Voici des ouvrages pour permettre de pousser plus votre tude :


T. Bck, Evolutionary Algorithms in Theory and Practice,
Oxford University Press, 1996
L. Davis, The Handbook of Genetic Algorithms, Van
Nostrand& Reinhold, 1991
D.B. Fogel, Evolutionary Computation, IEEE Press, 1995
D.E. Goldberg, Genetic Algorithms in Search, Optimization
and Machine Learning, Addison-Wesley, 1989
J. Koza, Genetic Programming, MIT Press, 1992
Z. Michalewicz, Genetic Algorithms + Data Structures = Evolutionary Programs, Springer, 3me
Ed., 1996
H.P. Schwefel, Evolution and Optimum Seeking, Wiley &
Sons, 1995
Quelques rfrences francophones :
Intelligence artificielle et informatique thorique. (J.M ALLIOT, SCHIEX ).
AG et rseaux de neurones. (Jean-Michel RENDERS).

L'ordinateur gntique. Paris. Herms, 1996. (Dessales.J-L).


Algorithmes gntiques, exploration, optimisation et apprentissage automatique. Paris 1994.
(Goldberg D.E).

You might also like