• Aucun résultat trouvé

Sch´ ema de Base de l’Algorithme ´ Evolutionniste Evo–Div

Entrée : L’espace de solutions candidat Ω

Valeur de retour : la meilleure solution trouvée

1. Initialiser (aléatoirement) la population P op = {I1, I2, . . . , I|P op|}

2. While condition d’arrêt non atteinte A. rejets= 0 B. Repeat 1. {I1, I2, . . . , In}=RandomParents(P op, n) /* n ≥ 2 */ 2. O =Croisement(I1, I2, . . . In) 3. If rejets≥maxRejets a. O =Mutation(O) 4. O =rechercheLocale(O,maxIter) 5. rejets++

Until acceptEnfant(P op, O) C. IR = indivRemplacé(P op)

D. P op = P op\{IR} ∪ {O}

La s´election des parents (RandomParents) est tout `a fait classique : n individus diff´erents sont choisis uniform´ement et al´eatoirement. Ainsi, le principe “les plus adapt´es survivent” s’applique uniquement `a l’´etape de remplacement qui devient essentielle. Pour

5.3 Croisement “bien inform´e”

compl´eter la description de l’algorithme, le reste du chapitre pr´esente les “boˆıtes noires” utilis´ees dans ce sch´ema, notamment l’op´erateur de croisement, (routine Croisement, voir Section 5.3) et la strat´egie d’´ecart (routines acceptEnfant, indivRemplacé et Mutation, voir Section 5.4). La recherche locale (rechercheLocale) est ind´ependante de l’algorithme ´evolutionniste et elle est d´ecrite dans le paragraphe suivant.

5.2.2.1 La proc´edure de recherche locale

La routine rechercheLocale est l’algorithme introduit au 2`emeChapitre. Plus exac- tement, il s’agit de la recherche Tabou avec la nouvelle fonction d’´evaluation `a base de degr´es, et avec la dur´ee Tabou r´eactive, mais sans crit`ere d’aspiration. Il est important de mentionner que la routine rechercheLocale renvoie finalement une configuration al´eatoire parmi toutes les configurations visit´ees qui ont le mˆeme nombre minimum de conflits.

Nous rappelons bri`evement les plus importantes particularit´es de notre approche : (i) la dur´ee Tabou et (ii) la nouvelle fonction d’´evaluation. La dur´ee Tabou est T` = α∗f (C)+ random(0, A)+

j Mcst Mmax

k

, o`u α, A et Mmaxsont des param`etres pr´ed´efinis, Mcstest le nombre des derniers mouvements cons´ecutifs sans variation du nombre de conflits (voir Section 2.4). Concernant la fonction d’´evaluation, nous avons pr´ecis´e en Section 2.3.1 qu’il pourrait ˆ

etre tr`es utile d’introduire des crit`eres additionnels pour diff´erencier les colorations avec le mˆeme nombre de conflits. Dans ce chapitre, nous allons utiliser la fonction d’´evaluation

e

f1 (2.5) de la Section 2.3.3.1, et, comme il n’y a pas de risque de confusion avec ef2, on va noter gfeval= ef1. Formellement, gfeval(I) =P{i,j}∈CE(I)



1 −2|E|δi1 − 1 2|E|δj



, o`u δ indique le degr´e (toujours non-nul car G est suppos´e connexe) et CE(I) est l’ensemble des arˆetes en conflits (cf. Section 1.2.2). En utilisant cette fonction, l’algorithme choisit toujours des mouvements menant au meilleur (minimum) nombre de conflit, mais le choix al´eatoire est fond´e sur cette fonction : plus la valeur gfeval d’une coloration est petite, plus il y a de chances qu’elle soit choisie comme prochaine coloration.

Le principe de base de cette fonction est le suivant : il est plus difficile de r´eduire le conflit d’une arˆete si les deux extr´emit´es sont de degr´e plus ´elev´e [Morgenstern, 1996]. Si l’algorithme doit choisir entre deux colorations avec un conflit, il est pr´ef´erable de prendre celle avec l’arˆete en conflit la plus isol´ee, i.e. avec les deux sommets en conflit de degr´e inf´erieur, impliquant moins de contraintes. Ce principe est ´egalement utilis´e dans d’autres composantes d’Evo–Div, notamment pour la recombinaison qui utilise les degr´es de sommets afin de mieux distinguer les classes de couleur. La Section 2.5.2 sur la recherche locale, ainsi que la Section 5.5.4, montrent que ce principe est utile pour certains graphes avec une tr`es forte variation de degr´e.

5.3

Croisement “bien inform´e”

Une coloration peut ˆetre vue comme une partition de l’ensemble des sommets (D´efini- tion 1.3), et cela semble la meilleure interpr´etation pour concevoir un croisement efficace.

Ainsi, un op´erateur de croisement doit choisir k classes de couleur des parents et les as- sembler pour construire l’enfant. Afin de pouvoir g´en´erer des enfants de qualit´e, le but est d’h´eriter les k meilleures classes de couleur, i.e. celles qui apportent la contribution la plus importante sur la qualit´e. Par exemple, si l’on peut choisir k classes sans conflit (ensembles ind´ependants) qui couvrent V , elles peuvent ˆetre employ´ees pour construire une colora- tion l´egale. Cela n’est habituellement pas possible, et nous devons aborder une question essentielle : comment choisir les k meilleures classes dans plusieurs parents ? Pour cette question, nous proposons d’affecter des scores aux classes en employant une proc´edure inform´ee, fond´ee sur plusieurs crit`eres de valeur. Notons que nous introduisons un cadre g´en´eralis´e qui d´etermine un nombre appropri´e de parents pour chaque instance.

Le premier crit`ere pour noter une classe est fond´e sur la qualit´e et repose sur le principe qu’une classe avec moins d’arˆetes en conflit est toujours pr´ef´erable `a une classe avec plus de conflits. Cependant, on rencontre souvent des classes sans conflit car Evo–Div converge as- sez vite vers des colorations “presque optimales”. Un deuxi`eme crit`ere est donc n´ecessaire : si l’on doit choisir entre deux classes avec le mˆeme nombre de conflits, on pr´ef`ere la classe la plus grande. Enfin, pour les instances o`u les tailles des classes sont assez homog`enes un troisi`eme crit`ere est employ´e pour davantage de discrimination : la somme des degr´es des sommets. L’id´ee de ce troisi`eme crit`ere est qu’un sommet de haut degr´e serait plus contraignant et ainsi plus difficile `a colorier correctement (voir ´egalement Section 2.3.1) ; en cons´equence, une classe (bien color´ee) avec des sommets de plus haut degr´e a plus de valeur.

Formellement, l’op´erateur de croisement – dor´enavant appel´e WIPX (Well Informed Partition Crossover) – est sp´ecifi´e dans l’Algorithme 5.2. D’abord, il cherche (´etape 2.A et 2.B) dans tous les parents la classe avec le meilleur (minimum) score. Apr`es l’affectation de celle-ci `a l’enfant en cours de construction (´etape 2.C), WIPX choisit la meilleure classe suivante et il it`ere ce proc´ed´e. `A chaque ´etape, tous les scores de classe sont calcul´es en ignorant les sommets qui ont d´ej`a re¸cu une couleur dans l’enfant (voir l’´etape 2.A.1). WIPX s’arˆete quand k classes de couleurs sont affect´ees ; tout sommet restant non colori´e re¸coit la couleur k (´etape 3).

Un risque potentiel de ce croisement est d’h´eriter la plupart des classes d’un seul parent, notamment s’il y a un parent tr`es adapt´e avec des classes qui ´eclipsent les autres. Cependant, la similarit´e entre l’enfant et les parents est implicitement v´erifi´ee dans une seconde ´etape par la strat´egie de contrˆole de diversit´e qui rejette l’enfant s’il est trop similaire `a n’importe quel individu existant de la population.

5.3.1 Les meilleures caract´eristiques h´eritables et le nombre de parents

Un principe important dans la conception de croisements pour les probl`emes de grou- pement est d’´eviter le plus possible de perturber les meilleures caract´eristiques (g`enes de qualit´e) des parents [Radcliffe, 1994]. Notre premier but est d’identifier en quoi consiste une caract´eristique de qualit´e. La qualit´e d’une coloration de grande valeur peut r´esider dans de grandes classes individuelles (e.g. des grands ensembles ind´ependants), mais aussi dans une bonne agr´egation de classes (i.e. la mani`ere dont elles sont assembl´ees). Le nombre n de parents d´etermine la fragmentation de l’agr´egation des classes dans chaque parent.

5.3 Croisement “bien inform´e”

Algorithme 5.2 : Croisement “bien inform´e” entre partitions