Les algorithmes évolutionnaires sont des algorithmes d’optimisation stochastique fondés sur un parallèle grossier avec l’évolution darwinienne des populations biologiques. Ils fournissent une approche heuristique, à l’occasion performante et dans certains cas prouvée. Un algorithme évolutionnaire a pour but d’optimiser une fonction réelle. Il repose sur une vision darwinienne relativement simpliste et une optimitisation stochastique résumées dans le diagramme de la Figure 1. La fonction f à optimiser, appelée aussi performance, est définie sur un espace de recherche Ω. L’algorithme fait évoluer une population, un sous-ensemble de l’espace de recherche. Cette évolution résulte d’une part d’un darwinisme artificiel, qui se manifeste par la sélection et le remplacement et ne dépend que de la performance f ; d’autre part de l’effet du hasard, qui s’exprime dans l’initialisation et les opérateurs de variation et ne dépend que de la représentation de l’espace de recherche. L’idée fondamentale est que la sélection favorise les individus qui optimisent la performance et que les variations font apparâıtre dans la population sélectionnée des individus que l’ont peut espérer meilleurs au regard de la performance. Dans cette évolution, les générations successives de la population restent à taille constante et l’aspect stochastique ne dépend que de la génération précédente. La mise en place d’un algorithme évolutionnaire est complexe et le coût de calcul est important. De tels algorithmes sont donc destinés à traiter des problèmes qui n’ont pas de solutions classiques. Si l’on veut bien négliger un discours pseudo-scientifique et des querelles de chapelles qui ont encombré le domaine dans ses premières décennies il faut reconnâıtre à l’approche évolutionnaire des réussites frappantes. 1Ces aspects désagréables ne figuraient absolument pas dans l’exposé de M. Schoenauer. Figure 1. Variation (stochastique, en rouge) et darwinisme (déterministe ou stochastique, en bleu) sont les notions de base de l’algorithmique évolutionnaire. 114 Les algorithmes évolutionnaires : état de l’art et enjeux (Evolutionary Algorithms: State of the Art and Stakes) Figure 2. Une modification anodine de la fonction objectif peut avoir une effet marqué sur le processus de sélection par la roulette. 1. Représentation binaire 1.1. Algorithme génétique classique. Le modèle binaire [4] est le plus ancien et on parle à son sujet d’algorithme génétique classique. L’espace de recherche est l’ensemble des mots binaires de longueur donnée Ω = {0, 1}N . Un élément de Ω est baptisé chromosome. La population est à chaque instant t entier constituée de μ chromosomes Xt i , qui forment un vecteur X t. L’initialisation se fait suivant la loi uniforme. L’évaluation est simplement l’évaluation des f ( Xt i ) . La sélection suit la méthode de la roulette : à chacun des chromosomes Xt i est associé sur un cercle un secteur d’angle proportionnel à la valeur f ( Xt i ) ; on effectue μ tirages suivant ce modèle probabiliste et à chaque fois que la roulette fournit le chromosome Xt i , celui-ci est copié en un chromosome X ′ j . On obtient ainsi une population intermédiaire X ′, où les chromosomes les meilleurs au regard de la performance sont présents en plusieurs exemplaires, alors que les pires sont éliminés. Ensuite sont effectués des recombinaisons entre ces chromosomes : μ/2 couples ( X ′ j , X ′ k ) sont tirés au hasard et avec une probabilité pc sont recombinés ; si la recombinaison a lieu, un point de croisement est tiré au hasard et les brins sont échangés. Après cela chaque chromosome subit une mutation : avec une probabilité pm chacun de ses bits est changé en son complément. Au terme de ce processus, on dispose de la génération suivante Xt+1. Dans ce modèle, il n’y a pas de remplacement. Le réglage des paramètres comme μ, pc, pm ou le test d’arrêt est délicat. Indiquons un simple problème : l’optimisation de f est équivalente à l’optimisation de f ′ = af + b avec a une constante positive et b une constante. Cependant l’introduction de a et b peut avoir un effet drastique sur la sélection. On le voit sur la Figure 2, où l’on a supposé que la population comporte quatre individus. À gauche la performance prend les quatre valeurs 1, 2, 3, 4, d’où des secteurs de taille 0,1, 0,2, 0,3, 0,4. Au centre on a augmenté la performance de 10, ce qui donne les valeurs 11, 12, 13, 14 et des secteurs de taille 0,22, 0,24, 0,26, 0,28. Le tirage aléatoire est très fortement modifié et le meilleur individu est à peine avantagé. Ce problème peut être traité par une mise à l’échelle, qui est effectuée à chaque génération. Dans la mise à l’échelle linéaire, a et b sont choisis pour que la moyenne de la performance sur la population reste la même, f ′ = f , mais la meilleure valeur f ′ max satisfait f ′ max = ρfmax avec ρ choisi entre 1 et 2. C’est ce qu’on a appliqué, avec ρ = 1,5 pour obtenir la version de droite, qui correspond à a = 5/6, b = 5/12 et aux quatre valeurs 1,25, 2,08, 2,9, 3,75 pour la performance. 1.2. Algorithme évolutionnaire. La représentation binaire, longtemps dominante, a été vivement critiquée car peu naturelle. Pour résoudre un problème numérique dont les solutions sont, par exemple, cherchées dans [ 0, 1 ] avec une précision de 10−10, elle amène à passer en représentation binaire avec des mots de trente-quatre bits (au moins), parce que 34 est le premier entier k satisfaisant à 2k ≥ 1010. De plus les opérations peuvent ne pas être naturelles ou ne pas faire sens. Par exemple la recombinaison peut produire des chromosomes qui n’ont pas d’interprétation dans M. Schoenauer, summary by Ph. Dumas 115 le modèle. Dans ce cas, on procède généralement à une pénalisation de ces chromosomes, qui vont ainsi être éliminés dans la sélection. Ces questions ont modifié le point de vue des spécialistes, qui parlent maintenant d’algorithmes évolutionnaires. On cherche une représentation naturelle des données et des opérateurs génétiques qui font sens dans le problème. Un bon algorithme évolutionnaire utilise une représentation qui permet à un spécialiste du domaine d’application d’interpréter les caractéristiques de la population et de proposer des choix de paramètres qui font converger l’algorithme vers une solution. 2. Représentation réelle Dans une représentation réelle, l’espace de recherche est une partie Ω d’un RN . La similitude avec le darwinisme se fait par des stratégies évolutionnaires [1] dans lesquelles les mutations sont au premier plan, alors que les algorithmes génétiques misent plutôt sur la recombinaison. Les mutations reposent essentiellement sur l’ajout d’un bruit gaussien centré d’écart-type σ à chaque coordonnées de l’individu, tout l’art étant dans le choix du σ. On peut par exemple appliquer la règle du cinquième. Une mutation est réussie si elle fournit un individu meilleur que son parent ; on note τ la proportion de mutations réussies sur les T dernières générations. Si τ est plus grand que 1/5, on change σ en 1,22σ (on élargit la recherche) ; sinon on change σ en 0,83σ (on restreint la recherche). S’il y a beaucoup de mutations réussies, les individus sont près d’un optimum local, mais l’optimum global risque d’être manqué ; s’il y a peu de mutations réussies, la région explorée est trop vaste et il convient de la restreindre. On envisage aussi des mutations adaptatives. Chaque individu porte un paramètre σ, ce qui signifie que l’espace de recherche est maintenant une partie de RN × R+. La mutation s’effectue en deux temps : on mute d’abord l’écart-type σ (en le multipliant par l’exponentielle d’une variable gaussienne), puis l’individu lui-même en utilisant le nouvel écart-type. Si la valeur de σ est aberrante, elle ne va pas fournir de mutation réussie et l’individu va être éliminé. Par contre les individus qui survivent ont une bonne valeur de σ. L’idée que l’individu porte les paramètres de la stratégie évolutionnaire a été développée en adjoignant à chaque individu une matrice de corrélation entre ses coordonnées, pour que les différentes coordonnées ne soient pas traitées indépendamment. La recombinaison se fait par barycentre z = (1 − α)x + αy, avec un poids α qui peut être une variable aléatoire. À partir de la population de μ individus, les mutations et recombinaisons produisent λ nouveaux individus. La sélection est déterministe et fournit les μ individus de la génération suivante. Dans la stratégie (μ, λ), les μ meilleurs individus parmi les λ nouveaux individus (λ > μ) sont conservés. Dans la stratégie (μ+ λ), ce sont les μ meilleurs parmi les μ+ λ individus disponibles (λ > 1) qui sont conservés. On ainsi appliqué le processus de remplacement de la Figure 1. 3. Autres représentations 3.1. Représentation non structurée. La recherche de structures matérielles optimales amène à une discrétisation de l’espace en cellules par découpages par des plans parallèles aux plans de coordonnées. Une cellule fait partie de la structure si elle est marquée 1 et sinon 0. On a ainsi un tableau de bits. L’inconvénient est qu’une représentation fine demande une énorme place en mémoire. Une représentation plus compacte repose sur la notion de diagramme de Voronöı. On fixe un domaine borné et un individu est une famille de N points marqués dans ce domaine. À cette famille est associé son diagramme de Voronöı, dans lequel la cellule attachée à un point de la famille est constituée des points de l’espace qui sont plus près de ce point que des autres points de 2On voit qu’une évaluation a lieu dans la sélection. Le diagramme de la Figure 1 illustre seulement une idée. 116 Les algorithmes évolutionnaires : état de l’art et enjeux (Evolutionary Algorithms: State of the Art and Stakes) la famille. Si le point de référence est marqué 1, alors tous les points de sa cellule font partie de la structure ; si le point est marqué 0, alors les points de la cellule ne sont pas dans la structure. On définit sur cette représentation des opérateurs d’évolutions. Par exempl
[1]
M. A. Keane,et al.
Evolution of a Low-Distortion, Low-Bias 60 Decibel Op Amp with Good Frequency Generalization using Genetic Programming
,
2004
.
[2]
GUNAR E. LIEPINS,et al.
Representational issues in genetic optimization
,
1990,
J. Exp. Theor. Artif. Intell..
[3]
John H. Holland,et al.
Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence
,
1992
.
[4]
R. Cerf.
Une théorie asymptotique des algorithmes génétiques
,
1994
.
[5]
Günter Rudolph,et al.
Convergence of non-elitist strategies
,
1994,
Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.