• Aucun résultat trouvé

Algorithmes à population

2.2 Algorithme génétique

Les AG s’inspirent de la théorie darwinienne de la sélection naturelle [Holland 75] : les gènes qui sont le plus adaptés aux besoins d’une espèce dans son environnement ont davantage de chances d’être conservés au sein d’une population au cours du temps. Un AG établit une correspondance entre :

– le génotype (l’ensemble des gènes portés par les chromosomes) d’un individu et les composantes de la solution ;

– le phénotype (caractère observable au niveau macroscopique) et l’évaluation de la solution par la fonction objectif.

En imitant certains processus tels que l’hérédité, la mutation et la sélection naturelle, un AG fait évoluer une population de N individus (un ensemble de solutions candidates) qui est partiellement remplacée à chaque génération (itération). Une implémentation possible est donnée dans l’algorithme 2.

Algorithme 2 Algorithme génétique Initialiser la population initiale Evaluer les individus

répéter

Sélectionner les parents

Croiser les parents et muter les nouveaux individus Evaluer les nouveaux individus

Conserver les meilleurs individus jusqu’àcritère d’arrêt vérifié

renvoyer le meilleur individu de la population

Les AG, parmi les plus anciens AE, utilisent à l’origine un codage binaire (des gènes dans {0,1}) pour résoudre des problèmes d’optimisation combinatoire. Ils ont depuis été étendus aux problèmes continus en adoptant un codage réel. Les AG ont été appliqués avec succès à une large variété de problèmes difficiles en bioinformatique, économie ou chimie.

2.2.1 Sélection des parents

Les individus les mieux adaptés à leur environnement sont plus enclins à se repro-duire et transmettre leur patrimoine génétique à leur progéniture, tandis que les moins adaptés meurent avant la reproduction. Deux schémas de sélection des parents sont généra-lement considérés : le tirage à la roulette [Goldberg 89] et la Stochastic remainder without replacement selection [Goldberg 89].

Roulette

En maximisation, le tirage à la roulette consiste à sélectionner un individu i (i ∈ {1, . . . , N}) comme parent avec une probabilitépi proportionnelle à son évaluation fi ≥0 :

pi = fi

PN

j=1fj ∈[0,1] (2.2)

Le tirage à la roulette s’interprète comme le tirage d’un numéro sur une roulette de casino dont les encoches seraient espacées de manière non uniforme.

Les individus les mieux évalués ont davantage de chances de se reproduire. Néanmoins, ceci n’exclut pas que des individus d’évaluations plus faibles parviennent à transmettre leur patrimoine génétique et participent à l’amélioration de la solution courante. Lorsque la dimension de la population est faible, un biais de sélection peut toutefois exister en raison du peu de tirages effectués.

Stochastic remainder without replacement selection

La Stochastic remainder without replacement selection évite le biais du tirage à la roulette. Pour chaque individu i, on calcule le rapport :

ri = N fi

PN

j=1fj (2.3)

L’individu i est répliqué exactement bricfois, où b·c est la fonction partie entière. Le tirage à la roulette est ensuite appliqué sur les individus affectés de l’évaluation ri− bric. Lorsque la taille de la population est faible, ce schéma de sélection donne en général de meilleurs résultats.

2.2.2 Croisement et mutation

Le croisement et la mutation sont des opérateurs participant à la diversification et à l’intensification de la population ; leur contribution varie selon le choix d’implémentation.

Lors d’un croisement, les chromosomes de deux parents échangent une ou plusieurs portions de matériel génétique avec une probabilité de croisementpc∈]0,1[. La progéniture issue du croisement, généralement deux chromosomes enfants, possède alors des chromosomes brassés (figure 2.2).

Un gène peut être substitué aléatoirement à un autre (muté) durant la phase de reproduction (figure 2.3). L’individu muté possède alors une séquence génétique qui n’est pas exclusivement issue de ses deux parents. Le taux de mutation pm contrôle le caractère aléatoire de la recherche : il permet d’éviter la convergence vers un minimum local en s’échappant de son voisinage.pm est généralement choisi faible pour conserver l’évolution naturelle de la population et éviter de transformer l’AG en une simple recherche aléatoire.

croisement

deux parents deux enfants

points de croisement

Figure 2.2 – Croisement entre deux chromosomes

mutation gène muté

Figure 2.3 – Mutation d’un chromosome

2.2.3 Opérateur de scaling

Le scaling ou mise à l’échelle [Michalewicz 96a] consiste à amplifier ou réduire artificiel-lement les écarts d’évaluations entre les individus afin d’ajuster la pression de sélection. La fonction de scaling appliquée à l’évaluation initiale peut prendre différentes formes, par exemple affine et exponentielle.

Scaling affine

Pour chaque individu i, l’évaluation mise à l’échelle fisc est une fonction affine de l’évaluation initiale fi :

fisc =afi+b (2.4)

a et b peuvent varier au cours des générations. Le paramètre positif a influe sur la pression de sélection des individus (figure 2.4). La pression est réduite lorsque a <1, ce qui favorise une exploration plus large de l’espace de recherche. Lorsque a >1, les individus les mieux évalués sont favorisés, ce qui privilégie l’intensification au détriment de l’exploration.

Scaling exponentiel

Pour chaque individu i, l’évaluation mise à l’échelle fisc est une fonction exponentielle de l’évaluation initiale fi :

fisc = (fi)p (2.5)

Lorsque le réel positifpest proche de 1, le scaling reste relativement neutre. En revanche, l’exploration de l’espace de recherche est privilégiée pourp < 1 et est d’autant plus aléatoire

fi fis= 0.2fi+ 20 fis = 5/3(fi−10)

f1

f2

f3

f4

50

15 25 10

30

23 25

22

66.7 8.3

25 0

Figure 2.4 – Scaling affine

que p tend vers 0. Lorsque p >1, la sélection des individus les mieux évalués est davantage favorisée.

2.2.4 Opérateur de sharing

Le sharing [Goldberg 87] est un opérateur visant à empêcher une convergence trop rapide de la population vers un optimum local. Le sharing pénalise les individus trop proches ; la donnée d’une distance est donc nécessaire pour estimer la densité d’individus dans l’espace de recherche.

Une première approche consiste à diviser (en maximisation) l’évaluation de chaque individu par une estimation de la densité de population dans son voisinage. Sa complexité quadratique peut néanmoins s’avérer coûteuse au regard des autres opérateurs, généralement linéaires. Une deuxième approche, le sharing clusterisé [Yin 93], pénalise les individus regroupés au sein de groupes (clusters) en fonction de leur distance au centre du cluster. A la notion de distance s’ajoute donc la définition de barycentre d’un cluster. Cette variante du sharing est moins gourmande en calculs et s’exécute avec une complexité deO(NlogN).

2.2.5 Remplacement de la population

Afin de déterminer quels seront les individus conservés à la génération suivante, parents et enfants peuvent « s’affronter » dans un tournoi : le mieux évalué entre un parent et son enfant remporte le tournoi et est conservé dans la population.

On parle d’élitisme lorsqu’on conserve systématiquement les k individus les mieux évalués (k ≤N) d’une génération à la suivante. De manière générale, il est contre-productif d’éliminer systématiquement les individus les plus mal évalués, potentiellement porteurs de gènes « utiles » à l’élaboration d’une solution satisfaisante. Conserver de « mauvais »

individus contribue donc à la diversification de la population et empêche l’algorithme de converger prématurément.