Académique Documents
Professionnel Documents
Culture Documents
Te Ag PDF
Te Ag PDF
Te Ag PDF
Prsent par
Souquet Amde
Radet Francois-Grard
TE de fin danne
Tutorat de Mr Philippe Audebaud
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 :
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.
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.
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.
3) Une fonction optimiser. Celle-ci retourne une valeur appele fitness ou fonction d'valuation
de l'individu.
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.
I
la fonction inverse qui partir d'un chromosome permet d'obtenir une solution par dcodage du
gnme.
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
2) Evaluer P.
e) Evaluer P
FinTantQue
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.
Il y a trois principaux types de codage utilisables, et on peut passer de l'un l'autre relativement
facilement :
le codage rl : cela peut-tre utile notamment dans le cas o l'on recherche le maximum d'une
fonction relle.
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.
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
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
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.
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.
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
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 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.
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 .
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.
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.
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 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
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 :
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
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
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
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 :
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.
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 :
Sachant qu'une permutation est de taille n, la chaine de bits sera alors de taille n * i.
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.
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 :
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.
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.
Retourner r;
}
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 :
Les algorithmes pour rsoudre le problme du voyageur de commerce peuvent tre rpartis en deux
classes :
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.
5 120 120s
10 181440 0.18 ms
15 43 MILLIARDS 12 h
20 60 E +15 1928 ans
25 310 E + 21 9,8 Milliards A.
complexit via une mthode de rsolution avec algorithmes gntiques (mthode approximative) :
5 25 25 s
10 100 100 s
15 225 225 s
20 400 400 s
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
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 attribut-
valeur 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
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.
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
1
CorrPred
2
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
La raison pour laquelle on soustrait 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.
1re tape : trouver les impressions gnrales dont les consquences contredisent la
consquence de Ri .
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 :
Ai , j
AS i , j=
max Ri ,GI 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
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.
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
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.