• Aucun résultat trouvé

II.3 Les algorithmes g´en´etiques

II.3.4 Mise en œuvre d’un AG

Nous venons de voir les grands principes des AG. En pratique, sa mise en œuvre pose quelques difficult´es de par la nature stochastique de l’algorithme et offre des choix (codage, mode de s´election, ...) qui ne sont pas sans cons´equence sur la convergence.

II.3.4.1 La forme canonique et les variantes

On peut imaginer beaucoup de variantes possibles aux AG. Michalewicz [MIC 96] en donne un aper¸cu (notion d’ˆage des chromosomes, reproduction≪ on-the-fly≫, marquage des chromo- somes s´electionn´es, point de croisement adaptatif, ...). Il serait difficile d’en faire le tour. Nous nous limiterons ici aux op´erateurs classiques appliqu´es aux codages binaire et entier (ou r´eel).

Dans notre probl´ematique d’identification, les individus X sont des points de l’espace de recherche, c’est-`a-dire le vecteur u des param`etres mat´eriau, tandis que la fonction performance, ´evoqu´ee dans le cadre de la s´election des individus, est l’oppos´ee de la fonction F = −φ de l’´equation (II.1) (le signe − provient du fait que φ doit ˆetre minimis´e alors qu’un AG est construit

pour maximiser la fonction F). II.3.4.2 La convergence

La convergence des AG repose sur leur nature stochastique ainsi que sur la th´eorie des grands nombres. La convergence d’un AG n’est donc pas garantie. Michalewicz remarque en effet qu’il existe une limite `a l’hypoth´etique nombre illimit´e d’it´erations, et une limite `a l’hypoth´etique nombre illimit´e d’individus de la population. Or, ces derniers sont fix´es par l’utilisateur qui devra faire des mises au point en fonction du probl`eme trait´e. De mˆeme, de par la nature stochastique de l’algorithme, aucune conclusion ne doit ˆetre tir´ee d’une seule ex´ecution et il est recommand´e de lancer plusieurs fois un AG pour tenter d’atteindre l’extremum global. Une alternative est d’augmenter le nombre d’individus ; ceci est d’autant plus vrai qu’on utilise un croisement restreint qui partage le nombre d’individus en sous-population.

La convergence est moins sensible au nombre de g´en´erations maximal fix´e, `a condition de ne pas le consid´erer trop petit. Il est pr´ef´erable de fixer ce nombre `a une valeur haute et de d´efinir un crit`ere d’arrˆet. Ce dernier permet d’arrˆeter la proc´edure si les chances d’am´elioration de la solution sont minces. Il peut ˆetre d´efini sur le g´enotype (´evaluation de la diversit´e g´en´etique) ou sur le ph´enotype (´evaluation de l’am´elioration de la performance).

II.3.4.3 Les nombres al´eatoires

Le bon fonctionnement d’un AG repose sur la qualit´e des routines informatiques de tirage de nombres al´eatoires. Pour notre part, nous utilisons la routine rand gen du compilateur Compaq Visual Fortran sur un micro-processeur Pentium 4. Pour garantir la qualit´e d’exploration de l’AG, il convient de s’assurer que ces routines sont fiables d’un point de vue statistique, `a savoir :

• les tirages al´eatoires ne suivent pas une r´epartition Gaussienne (r´epartition uniforme) ;

• les nombres tir´es al´eatoirement ne pr´esentent pas de p´eriodicit´e ;

• deux ex´ecutions successives ne produisent pas le mˆeme jeu de nombres al´eatoires (ind´ependance de la compilation).

Le premier point se v´erifie en comptant le nombre de tirages identiques dans une s´erie de nombres al´eatoires. En pratique, le nombre de tirages n’´etant pas infini, on forme des classes de nombres en partitionnant l’intervalle de tirage. La figureII.7montre une partition de 50 classes suite `a un tirage de 108 nombres compris entre 0 et 1. On constate que le tirage de nombres par

la routine utilis´ee est proche du tirage uniforme, le nombre moyen de tirages par classe devant ˆetre 2000000 = 108/50. Un autre test `a r´ealiser est le test d’auto-corr´elation. Sur un signal

classes n o m b re d e ti ra g es 0 0.25 0.5 0.75 1 1990000 1995000 2000000 2005000 2010000

Figure II.7 : Exemple de r´epartition des tirages

al´eatoire x(t), la fonction d’auto-corr´elation s’´ecrit :

C(τ ) = lim T →∞ 1 T Z T 0 x(t)x(t − τ)dt (II.27)

Si on note ¯m la valeur moyenne du signal et ¯σ son ´ecart type :

¯ m = lim T →∞ 1 T Z T 0 x(t)dt et σ¯2 = lim T →∞ 1 T Z T 0 (x(t) − ¯ m)2dt (II.28)

Pour un processus al´eatoire, C(0) vaut ¯σ2+ ¯m2, et C(∞) vaut ¯m2. La figure II.8 montre la

τ C ( τ ) 0 10000 20000 30000 40000 50000 0.2 0.25 0.3 0.35

Figure II.8 : Exemple d’auto-corr´elation des tirages

fonction C(τ ) calcul´ee pour un tirage de 105 nombres entre 0 et 1. Pour ce tirage nous obtenons

¯

m = 0.5005555 et ¯σ = 0.2893765 et nous v´erifions bien C(T ) = 0.2506404 ≃ ¯m2 = 0.2505558. De plus, la courbe obtenue est plate, ce qui signifie qu’il n’existe aucune p´eriodicit´e sur les 105 tirages.

II.3.4.4 Le choix du codage

Nous avons vu pr´ec´edemment que plusieurs codages ´etaient possibles. Certains auteurs [MIC 96] pr´econisent un codage des param`etres le plus proche de l’espace de travail. Ainsi, il est pr´ef´erable de travailler avec des entiers ou des r´eels dans notre probl´ematique d’identification des param`etres mat´eriau.

x1 x2 -5 0 5 -5 0 5

(a) codage binaire

x1 x2 -5 0 5 -5 0 5 (b) codage entier

Figure II.9 : Deux ensembles populations g´en´er´ees au cours des g´en´erations par l’AG pour la fonction F(x1, x2) = −(x21+ x22)

La principale critique faite au codage binaire [SCH 98] est son manque de continuit´e (Falaises de Hamming) qui empˆeche par exemple de passer de l’entier 7 (cod´e par 0 1 1 1 ) `a l’entier 8 (cod´e 1 0 0 0 ) par simple mutation sur 1 bit. Ainsi, le codage binaire ne v´erifie pas le principe de corr´elation ´enonc´e dans la partieII.3.2. Ce manque de continuit´e de la repr´esentation induit ´egalement un op´erateur croisement peu performant. Ainsi, le croisement de 1 0 0 0 (valant 8) avec 0 1 1 1 (valant 7) permet de g´en´erer n’importe quel nombre entier entre 0 et 15 alors que le croisement de 1 0 0 0 (valant 8) avec 0 0 0 0 (valant 0) ne peut fournir que les nombres entiers 0 ou 8.

Les cons´equences sont la formation de franges dues `a la faible ergodicit´e de croisement qui agit comme un filtre sur l’ensemble de la population g´en´er´ee (figureII.9) et freine l’adaptation par ´emergence de solutions interm´ediaires. Une comparaison plus d´etaill´ee des codages binaire et entier a ´et´e r´ealis´ee par Messager [MES 00] dans le cadre de sa th`ese.

Bien que des tentatives d’am´elioration du codage binaire existe (codage Gray, voir [MIC 96]), nous nous bornerons `a la programmation d’un AG supportant le codage binaire canonique et le codage entier.

II.4

L’identification par une approche Orient´ee Objet

Documents relatifs