• Aucun résultat trouvé

5.2.1

Scaling

La figure 5.4 (partie de gauche) illustre un cas o`u les techniques de s´election peuvent poser probl`eme. En effet, si la r´epartition de la population est relativement homog`ene, on s’aper¸coit que l’individu q poss`ede une valeur d’adaptation ´elev´ee alors que celles des autres individus oscillent autour d’une valeur moyenne beaucoup plus faible. On risque alors de favoriser la duplication de q et de ne jamais atteindre le v´eritable optimum qu’est p.

De mˆeme, lorsqu’aucun optimum ne se d´etache (partie droite de la figure 5.4), il serait probablement int´eressant de « grossir » artificiellement la zone entour´ee afin d’y chercher un individu meilleur que les autres.

Pour pallier ces deux probl`emes, la technique de scaling (ou mise `a l’´echelle) permet de diminuer ou d’augmenter artificiellement les ´ecarts d’´evaluation entre les individus afin d’ajuster la pression s´elective des techniques de s´election.

Deux techniques sont utilis´ees couramment [Michalewicz 92] :

Le scaling lin´eaire d´efini par une fonction de mise `a l’´echelle affine : fs(i) = a ∗ f (i) + b avec a > 0

– si a < 1 alors la pression s´elective est affaiblie et la recherche de solutions est plus exhaustive :

P

Q

Fig. 5.4 – Exemples o`u la s´election risque de ne pas ˆetre efficace, dans un premier cas par mauvaise distribution de la population initiale, dans un second cas par l’absence de pic

– si a > 1 alors la pression s´elective est renforc´ee et la recherche se concentre sur les individus les mieux adapt´es.

La constante b n’est utilis´ee que pour permettre `a fs d’ˆetre `a valeurs dans R+ si la

technique de s´election le requiert. Il est possible de faire varier a et b en fonction de l’indice de la g´en´eration.

Le scaling exponentiel d´efini par une fonction de mise `a l’´echelle : fs(i) = fk(i)

– Pour k proche de 0, la pression s´elective est fortement r´eduite. L’algorithme g´en´etique se comporte alors comme une exploration al´eatoire de l’espace de recherche.

– Pour k proche de 1, le scaling est inactif.

– Pour k > 1, la pression s´elective est renforc´ee et seuls les meilleurs individus survivent. De mˆeme que pour le scaling lin´eaire, k peut varier au fil des g´en´erations. En g´en´eral, k varie de mani`ere croissante en fonction du nombre de g´en´erations, avec par exemple (figure 5.5) : k =  tan  n Ngen+ 1 ∗ π 2 p avec   

n : num´ero de la g´en´eration courante Ngen : nombre maximal de g´en´erations

p : intensit´e du scaling

Dans la pratique [Granger 02, Gotteland 04, Gianazza 04], la valeur p = 0.1 s’est sou- vent montr´ee efficace.

5.2.2

Sharing

Le sharing (partage ou r´epartition) relativise l’adaptation des individus par rapport `a leur proximit´e (ou densit´e) relative dans l’espace de recherche. L’objectif est de forcer la

f f k>1 k<1 k=1 max’ moy’ min’

min moy max

f = fs r k s r 2 1 k n Ngen

Fig. 5.5 – Fonctions de scaling exponentielle et ´evolution du param`etre k

Sans sharing Avec sharing

Fig. 5.6 – Objectif du sharing : r´epartir la population pour ´eviter sa concentration pr´ecoce autour d’un unique optimum

population `a se r´epartir dans diff´erentes r´egions de l’espace de recherche afin de satisfaire la contrainte d’ergodicit´e. Son utilisation est particuli`erement recommand´ee avec des fonc- tions objectifs pr´esentant de nombreux optima locaux afin d’´eviter que la population ne se regroupe sur un seul d’entre eux (figure 5.6). Sa mise en œuvre n´ecessite la notion de distance sur l’espace de recherche ou entre les individus ce qui la rend souvent d´elicate `a mettre en œuvre.

De mˆeme que le scaling, le sharing modifie l’adaptation des individus. Ce dernier p´enalise un individu en fonction du taux d’agr´egation de la population dans son voisinage. Pour cela, une distance d repr´esentative des diff´erences entre individus est n´ecessaire. La nouvelle fonction d’adaptation fsh d’un individu i est donn´ee par :

fsh(i) = f (i) PNpop j=1 S(d(xi, xj)) Avec : ( S(d) = 1 −σ d share α si d < σshare S(d) = 0 si d > σshare

– Le param`etre σshare d´efinit la zone d’influence des individus : seuls les individus dont

la distance est inf´erieure `a σshare se p´enalisent mutuellement. Sa valeur doit ˆetre

d´etermin´ee en fonction du probl`eme trait´e et de la distance d´efinie sur l’espace de recherche. Il est souvent utile, pour ce r´eglage, de normaliser les distances (entre 0 et 1 par exemple).

– Le param`etre α fixe l’intensit´e du sharing : plus α est grand, plus les groupes d’indi- vidus agglom´er´es sont p´enalis´es (figure 5.7).

S(d) 1 1 α=1 α>1 α<1 0 share σd

Fig. 5.7 – Allure de la fonction de sharing en fonction de son intensit´e

Dans la pratique, ce type de sharing donne de bons r´esultats mais sa complexit´e en O(N2

op´erations de l’algorithme g´en´etique qui s’effectuent g´en´eralement en O(Npop). C’est pour-

quoi le sharing clusteris´e lui est souvent pr´ef´er´e. Sharing clusteris´e

Le sharing clusteris´e [Yin 93] permet de r´eduire la complexit´e du sharing en r´epartissant les individus de la population par groupes de proximit´e appel´es clusters. Deux param`etres dmin < dmax d´efinissent la mani`ere avec laquelle sont construits ces clusters :

– Initialement, chaque individu de la population est consid´er´e comme le centre d’un cluster dont il est l’unique ´el´ement.

– Si deux centres sont `a une distance inf´erieures `a dmin, les deux clusters correspondant

sont r´eunis dans un unique cluster dont le centre est le milieu des deux centres initiaux.

– Si la distance d’un individu au centre du cluster le plus proche est inf´erieure `a dmax,

l’individu est ajout´e au cluster et le centre de ce dernier devient le barycentre entre l’individu et l’ancien centre du cluster.

Cette m´ethode peut ˆetre impl´ement´ee en O(Npoplog Npop) op´erations [Yin 93]. Le sha-

ring consiste alors `a modifier l’adaptation de chaque individu i comme suit : fsh(i) = f (i) m0i ; m 0 i = ni∗  1 −  di 2dmax α Avec :   

ni : nombre d’individus dans le mˆeme cluster que i

di : distance entre i et le centre de son cluster

α : intensit´e du sharing

Ce type de sharing s’av`ere aussi efficace que celui pr´esent´e pr´ec´edemment. La m´ethode n´ecessite cependant le calcul de barycentres entre les points de l’espace de recherche, ce qui peut ˆetre difficile en fonction du codage utilis´e pour les individus.