• Aucun résultat trouvé

Algorithme ´evolutionniste

5.2.1 Principes de fonctionnement

Les algorithmes ´evolutionnistes (AE) s’inspirent de la th´eorie synth´etique de l’´evolution. Le mod`ele d’´evolution ainsi produit (Holland, 1975; Goldberg, 1989) permet d’optimiser de mani`ere globale, sur la base d’un crit`ere de performance (fitness), un ensemble de combinaisons de param`etres d´ependants du probl`eme pos´e, sans injecter aucune connais-sance a priori sur le probl`eme en dehors du calcul de la performance souhait´ee.

Par assimilisation avec les notions biologiques, on d´efinit un chromosome comme ´etant une suite de bits, pour les algorithmes g´en´etiques, ou des repr´esentations num´eriques

plus complexes pour les algorithmes ´evolutionnistes (´egalement appell´es strat´egies ´evolutionnistes,

Eiben et Schoenauer (2002)). Les valeurs d´efinies sur le chromosome s’appellent les g`enes.

Dans la plupart des algorithmes ´evolutionnistes, l’interpr´etation de chaque g`ene est li´ee `a

l’endroit o`u il est situ´e sur le chromosome (on parle du locus du g`ene, par assimilisation

`a la g´en´etique). La traduction du chromosome en param`etres permettant son ´evaluation est r´ealis´ee par la correspondance g´enotype-ph´enotype (voir figure 5.1). On d´efinit alors la construction d’un individu comme ´etant la traduction d’un chromosome.

Pour la programmation g´en´etique (Koza, 1992), le chromosome correspond `a un pro-gramme, chaque g`ene ´etant traduit en une fonction informatique.

Initialement, une population de chromosomes est g´en´er´ee al´eatoirement. Chaque in-dividu de la population, correspondant `a la traduction d’un chromosome, est ensuite plac´e

X X X O X X X

X X

O O

X

O

X

X

O

X X O X O O O

X

O

X

O

X

...

...

Chromosomes Individus

Fig. 5.1 – Principe de la traduction : chaque chromosome de la population (`a gauche)

correspond `a un individu (`a droite).

X X X X O O O O X X X X O O O X X O O O O X X O O X X O

Enjambement

X X X X X X X X X X O X X X

Mutation

Fig. 5.2 – Les op´erateurs g´en´etiques, mutation et enjambement.

dans un environnement o`u l’on ´evalue sa performance vis-`a-vis d’une tˆache s´elective.

Dans le cas d’un probl`eme d’optimisation, la tˆache s´elective correpond `a la fonction que l’on souhaite optimiser. Les individus sont ensuite class´es en fonction de leur per-formance et l’on choisit de mani`ere pr´ef´erentielle les individus ayant la perper-formance la

plus ´elev´ee. Cette ´etape est l’´equivalent de la s´election naturelle darwinienne, o`u les

individus ont d’autant plus de chances de transmettre leurs caract´eristiques qu’ils sont adapt´es `a l’environnement. On constitue alors une nouvelle population. Pour cr´eer de nou-veaux chromosomes, on introduit un brassage g´en´etique par l’interm´ediaire des op´erateurs g´en´etiques : la mutation et l’enjambement (crossing-over ). La mutation consiste `a mo-difier al´eatoirement la valeur d’un g`ene. L’enjambement consiste en un ´echange de g`enes entre deux chromosomes. Une position est choisie arbitrairement sur les chromosomes, puis chaque chromosome est coup´e en deux, et enfin on r´eassemble le premier brin d’un chromosome avec le second brin de l’autre chromosome (voir figure 5.2). Les individus de la nouvelle population sont alors ´evalu´es `a leur tour, et ainsi de suite, pendant plusieurs g´en´erations.

indivi-dus d’une population. Par exemple, au sein de la population initiale, un certain nombre d’individus vont se comporter, du fait de la distribution al´eatoire des param`etres, mieux que les autres. Si ce diff´erentiel n’existe pas (par exemple, si tous les individus ont une performance de 0), alors l’´evolution ne peut pas fonctionner : la s´election va se faire au hasard, et les individus de la g´en´eration suivante n’ont aucune raison d’ˆetre meilleurs que leurs pr´ed´ecesseurs. On parle du probl`eme de l’amor¸cage (bootstrap) de l’´evolution.

5.2.2 Explications du fonctionnement

La convergence des AE vers une solution optimale est a priori garantie par la th´eorie de Darwin. Cependant, un certain nombre d’auteurs ont th´eoris´e sur les processus mis en œuvre pour aboutir `a une solution optimale.

Une des explications du fonctionnement des AE repose sur la th´eorie des sch´emas (Holland, 1975; Goldberg, 1989; Vose, 1991; Poli et Langdon, 1997). La solution qui optimise le crit`ere de performance se construit au cours du processus d’´evolution par une optimisation de sch´emas, chaque sch´ema correspondant `a un ensemble de g`enes. La taille des sch´emas est d´etermin´ee par la probabilit´e d’enjambement : plus le taux d’enjambement est grand, plus la taille des sch´emas sera petite. Le fonctionnement d’un AE consiste alors `a recombiner les sch´emas responsables des meilleures performances, sch´emas alors appell´es “blocs de construction” (building blocks).

L’explication induite par la th´eorie des sch´emas a des applications pour la mise en

œuvre des AE. Ainsi, dans la d´efinition d’un chromosome o`u les g`enes sont sp´ecifi´es `a

des endroits pr´ecis (locus), on a tout int´erˆet `a rapprocher les unes des autres les variables dont on sait qu’elles sont corr´el´ees, afin d’aboutir `a des blocs de construction qui aient des chances de se conserver au fil des g´en´erations.

5.2.3 Applications

Les AE sont majoritairement utilis´es dans le domaine de l’optimisation, pour la

r´esolution de probl`emes inverses. Il s’agit d’une cat´egorie de probl`emes, o`u l’on peut

dire d’une solution qu’elle est bonne ou mauvaise, mais sans avoir de m´ethodes per-mettant la construction d’un ensemble de param`etres perper-mettant d’y aboutir. Les AE permettent de trouver des param`etres adapt´es, en partant de solutions qui sont g´en´erer al´eatoirement `a l’initialisation de l’algorithme. Mis `a part la d´efinition des param`etres que l’on souhaite optimiser et l’ordre dans lequel ils apparaissent sur le chromosome (voir section pr´ec´edente), les connaissances sur le probl`eme qui sont n´ecessaires `a la d´efinition d’un AE restent peu nombreuses.

L’un des int´erˆets des algorithmes ´evolutionnistes pour l’optimisation est que le fonc-tionnement bas´e sur une population, c.`a.d un ensemble de solutions, permet de couvrir l’ensemble des param`etres dans l’espace du probl`eme, puis de comparer l’ensemble des solutions et de choisir celles qui donnent le meilleur r´esultat. Ce n’est pas le cas avec

les m´ethodes dites locales (par exemple la descente en gradient), o`u le choix des

pa-ram`etres initiaux influence le r´esultat final, avec le risque que la solution corresponde `a un minimum local.

Un autre int´erˆet des AE est que la solution est optimis´ee dans son ensemble. Ce n’est pas seulement un param`etre isol´e qui est optimis´e, mais l’ensemble des param`etres, et

donc ´egalement les relations qui peuvent exister entre eux.

Si les algorithmes ´evolutionnistes ont une forte inspiration biologique, l’une des limites de leur utilisation pour simuler des syst`emes biologiques est que l’optimalit´e n’existe pas en biologie (Wozniak, 2006b). En effet, dans un contexte g´en´eral, la d´efinition d’un crit`ere de performance identique `a toutes les ´epoques est impossible, en raison des fluctuations de l’environnement, de la pr´esence des autres esp`eces, des diff´erentes niches ´ecologiques, etc. Cependant, le principe de la s´election des individus les plus adapt´es est suffisamment r´ealiste pour que les syst`emes ´evolu´es aient ´et´e con¸cus par une m´ethode que l’on pourra qualifier de biologiquement plausible.