Vous êtes sur la page 1sur 20

Réf.

: S7218 V1

Algorithmes génétiques et
Date de publication :
10 juin 2006 algorithmes évolutionnaires
Date de dernière validation :
09 mai 2019

Cet article est issu de : Technologies de l'information | Technologies logicielles


Architectures des systèmes

par Évelyne LUTTON

Résumé Les algorithmes évolutionnaires se basent sur l’observation des phénomènes


biologiques mis en œuvre par des populations d’organismes vivants en vue de s’adapter
à leur environnement. Ces mécanismes de sélection et d’héritage génétique représentent
une version artificielle de la théorie de l'évolution selon Darwin. Cette discipline couvre
ainsi un ensemble de techniques, nommées « algorithmes génétiques »,
« programmation génétique », « stratégies d’évolution », « programmation
évolutionnaire ». Le domaine des algorithmes évolutionnaires est en pleine expansion
tant au niveau théorique qu’au niveau applicatif.

Pour toute question :


Service Relation clientèle
Techniques de l’Ingénieur
Immeuble Pleyad 1 Document téléchargé le : 11/12/2019
39, boulevard Ornano
93288 Saint-Denis Cedex Pour le compte : 7200055112 - universite paris 7 diderot // 81.194.22.198

Par mail :
infos.clients@teching.com
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | tous droits réservés
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

Algorithmes génétiques
et algorithmes évolutionnaires

par Évelyne LUTTON


INRIA – Rocquencourt – Projet FRACTALES
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

1. Algorithmes génétiques, algorithmes évolutionnaires


et darwinisme artificiel .......................................................................... S 7 218 - 2
1.1 Bref historique du domaine ........................................................................ — 2
1.1.1 Darwinisme, évolutionnisme ............................................................. — 2
1.1.2 Version artificielle du darwinisme ..................................................... — 3
1.2 Notions et vocabulaire de base .................................................................. — 3
2. Programmer et utiliser un algorithme évolutionnaire................... — 3
2.1 Structure et ingrédients .............................................................................. — 3
2.2 Représentation du problème et les opérateurs génétiques..................... — 5
2.2.1 Représentation discrète ..................................................................... — 5
2.2.2 Représentation continue .................................................................... — 6
2.2.3 Programmation génétique et représentation fonctionnelle............ — 6
2.3 Sélection et pression sélective ................................................................... — 7
2.4 Exploitation/exploration : un dosage délicat............................................. — 7
3. Aperçu théorique : pourquoi et comment ça marche ? ................ — 8
3.1 Approche intuitive : schémas, théorème des schémas ............................ — 8
3.2 Analyse markovienne.................................................................................. — 9
3.3 Analyse fractale, irrégularité des fonctions de fitness ............................. — 9
4. Extensions du modèle............................................................................. — 10
4.1 Copier la biologie des populations : exemple du nichage
par partage des ressources......................................................................... — 10
4.2 Approche parisienne, co-évolution et approches à base d’agents.......... — 11
4.2.1 Systèmes de classeurs ....................................................................... — 11
4.2.2 Vie artificielle....................................................................................... — 12
4.2.3 Approche parisienne .......................................................................... — 12
4.3 Multi-objectif ................................................................................................ — 12
4.4 Approches interactives................................................................................ — 13
5. Exemples d’applications ........................................................................ — 13
5.1 Vision stéréo pour la robotique par algorithme évolutionnaire :
l’algorithme des mouches........................................................................... — 14
5.2 Dans le domaine artistique, exemple du logiciel ArtiE-Fract ................... — 14
6. Conclusion ................................................................................................. — 14
Références bibliographiques ......................................................................... — 16

es principes de base des algorithmes évolutionnaires (en court AE), dont


L les plus connus sont les algorithmes génétiques, s’inspirent de l’observa-
tion de phénomènes biologiques, plus précisément de la capacité de popula-
tions d’organismes vivants à s’adapter à leur environnement à l’aide de
mécanismes de sélection et d’héritage génétique. En d’autres termes, ces algo-
rithmes évolutionnaires représentent une version artificielle, informatique, de
la théorie de l’évolution selon Darwin.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 1

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

Depuis une quarantaine d’années, de nombreuses méthodes de résolution de


problèmes, d’optimisation stochastique, ont été développées à partir de ces
principes simplifiés à l’extrême pour les besoins informatiques. C’est ce que
l’on commence actuellement à nommer de façon générale le « darwinisme
artificiel ». Le terme « algorithmes évolutionnaires » couvre ainsi un ensemble
de techniques, nommées « algorithmes génétiques », « programmation
génétique », « stratégies d’évolution », « programmation évolutionnaire »,
suivant la façon dont les principes darwiniens sont traduits dans le modèle
artificiel.

1. Algorithmes génétiques, plus loin que d’autres problèmes (comme les problèmes dynami-
ques ou les problèmes interactifs) peuvent être traités à l’aide d’une
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

algorithmes évolutionnaires approche évolutionnaire et qu’il est aussi souvent avantageux


d’hybrider approche traditionnelle et approche évolutionnaire.
et darwinisme artificiel Malgré l’apparente simplicité d’un processus évolutionnaire (ce
qui a conduit de nombreux programmeurs à écrire très vite « leur »
algorithme génétique, parfois bien décevant), fabriquer un
La caractéristique principale de ces algorithmes est qu’ils mani-
algorithme évolutionnaire efficace est une tâche difficile, car les pro-
pulent des populations – qui représentent par exemple des points
cessus évolutionnaires sont très sensibles aux choix algorithmiques
d’un espace de recherche – et les font évoluer via des opérations
et paramétriques, aux représentations du problème notamment. Le
stochastiques. Ces opérations sont usuellement organisées en
design des ingrédients de base d’un algorithme évolutionnaire
générations et copient de façon très simplifiée la génétique natu-
efficace n’est pas une tâche simple et l’expérience prouve que les
relle. Elles sont de deux types :
grandes réussites sont fondées sur une très bonne connaissance du
— la sélection, fondée sur la performance d’un individu, ou plus problème à traiter, sur beaucoup de créativité, et sur une bonne
précisément sur une mesure de la qualité de cet individu vis-à-vis compréhension des mécanismes évolutionnaires. Il est tout
du problème que l’on cherche à résoudre ; bonnement hasardeux de considérer ces techniques en « boîte
— les opérateurs génétiques, le plus souvent nommés croi- noire », comme un « optimiseur universel ».
sement et mutation, pour faire un parallèle avec la génétique, et Cela dit, les « success-stories » sont nombreuses, et les tech-
qui produisent de nouveaux individus, pour la génération suivante. niques évolutionnaires ne sont pas très loin de faire partie de notre
La réussite d’un tel algorithme est fondée sur l’hypothèse que quotidien, il suffit par exemple d’aller visiter le site du réseau euro-
l’action des opérateurs génétiques sur des individus sélectionnés péen EvoNet (http://evonet.dcs.napier.ac.uk/) pour s’en convaincre...
produit statistiquement des individus de plus en plus proches de la En effet, le champ d’application des algorithmes évolutionnaires
solution recherchée. En d’autres termes, le processus stochastique est très large : il va des applications réelles complexes comme le
sous-jacent ainsi produit doit être correctement calibré et paramétré contrôle du flux de pipelines de gaz, le design de profils d’ailes, le
pour que les populations successives convergent vers ce que l’on routage aérien ou la planification de trajectoires de robots, à des
souhaite, c’est-à-dire le plus souvent l’optimum global de la fonction problèmes plus théoriques et combinatoires, en théorie des jeux,
de performance. Une grande part des recherches théoriques sur les en modélisation économique, en finance, en commande de pro-
algorithmes évolutionnaires est consacrée à cet épineux problème cessus et en apprentissage (voir par exemple [2] [20] [30] [34] [45]
de convergence, et à celui de savoir ce qui rend la tâche aisée ou [73] [86]).
difficile pour un algorithme évolutionnaire (notion d’AE-difficulté).
Comme nous le verrons plus loin, un certain nombre de réponses
théoriques rassurantes existent (oui, cela converge, si l’on respecte 1.1 Bref historique du domaine
un certain nombre d’hypothèses), mais d’autres questions cruciales
d’un point de vue pratique (vitesses de convergence, notamment) 1.1.1 Darwinisme, évolutionnisme
restent ouvertes. On peut dire que pour l’instant un certain nombre
de résultats de convergence ont été établis, qui justifient l’efficacité C’est par l’observation patiente et systématique des lignées
des algorithmes évolutionnaires en tant qu’heuristiques de recher- d’espèces, et grâce à un voyage effectué de 1831 à 1836 sur le
che aléatoire, confortant ainsi une connaissance empirique datant « Beagle » à destination des côtes sud-américaines, des mers du
maintenant d’une quarantaine d’années. Sud, du Pacifique, de l’Australie, de la Nouvelle-Zélande, que
Du point de vue de l’optimisation, l’intérêt des algorithmes Charles Darwin a construit sa théorie de l’évolution des espèces. Les
évolutionnaires est que ce sont des méthodes stochastiques d’ordre espèces endémiques des îles Galapagos notamment attirèrent son
0, c’est-à-dire que seule la connaissance des valeurs de la fonction attention, lui rendant évidentes l’extrême variabilité des espèces,
à optimiser aux points d’échantillonnages est nécessaire (pas de accentuée par l’isolement géographique, et l’impitoyable
dérivées), ce qui en fait des méthodes d’optimisation utilisables pour concurrence vitale due au confinement. Selon lui, l’évolution se
des fonctions très irrégulières, mal conditionnées ou complexes à fonde sur trois principes (extrait de La Grande Encyclopédie
calculer. En revanche, un algorithme évolutionnaire a un coût cal- Larousse, 1973) :
culatoire qui peut devenir important. Ces deux caractéristiques en — partout, toujours, et de mille manières, les faunes et les flores
font des méthodes adaptées aux cas où les méthodes standards plus ont varié ;
rapides du point de vue du calcul (par exemple des méthodes de — les lignées observées individuellement par voie d’élevage ou
gradient requérant l’existence et le calcul de dérivées) ne sont plus de culture, présentent d’innombrables variations de détail ;
applicables, du fait qu’elles se trouvent trop rapidement piégées — la lutte pour la vie est si féroce et la sélection naturelle si
dans des optima locaux : espace de recherche trop vaste, fonctions rigoureuse que la moindre variation utile fait triompher la lignée
trop irrégulières, jeu de variables mixtes, par exemple. Nous verrons qui la possède.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 2 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

De nombreux biologistes et philosophes ont suivi ce courant,


opposant la théorie de Darwin à celles de ses prédécesseurs, Tableau 1 – Vocabulaire des AG :
comme Linné et Lamarck, puis proposant des variations autour des une prudente analogie avec la biologie
notions de base du darwinisme.
Algorithme évolutionnaire Méthode d’optimisation
L’évolutionnisme s’est aussi développé en sociologie et en
ethnologie dans le but, parfois controversé, de trouver des modèles Individu Solution : vecteur
du développement des sociétés (du plus simple au plus complexe,
notamment). Nous n’entrerons pas ici dans les querelles de l’évo- Population Ensemble de solutions
lutionnisme, de l’inné et de l’acquis, il nous suffit de savoir que les Chromosome Représentation/codage de la
trois principes darwiniens constituent un modèle d’évolution qu’il solution (réel ou binaire, par
est intéressant d’étudier d’un point de vue informatique. exemple)
Croisement ou recombinaison Opération sur deux codes
1.1.2 Version artificielle du darwinisme Mutation Opération sur un code
Environnement Espace de recherche
■ L’idée d’utiliser les principes des processus d’évolution organique
en tant que technique d’optimisation globale a émergé indépen- « Fitness », degré d’adaptation à Valeur de la fonction
damment des deux côtés de l’océan Atlantique il y a une quarantaine l’environnement d’évaluation
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

d’années. Ces deux approches reposent, comme nous l’avons dit, sur Évolution Maximisation de la fonction
l’imitation du phénomène d’apprentissage collectif – on dit aussi d’évaluation
d’adaptation – d’une population naturelle, fondée sur les obser-
vations de Darwin et sur la théorie moderne de l’évolution. Ces deux
courants ont évolué parallèlement jusqu’à il y a une quinzaine
d’années, chacun ayant son champ d’application particulier, tous ■ Enfin, en s’éloignant quelque peu des préoccupations d’opti-
deux devenant actuellement de plus en plus attirants aussi bien pour misation numérique pure, de nouveaux thèmes de recherche se
les chercheurs que pour les industriels, grâce notamment à la vulga- sont ouverts progressivement : programmation génétique, vie artifi-
risation des calculateurs parallèles, à l’accroissement des puissances cielle, optimisation multiobjectif, contrôle et suivi de données dyna-
de calculs, et enfin à la diffusion d’utilitaires de programmation évo- miques, classification, apprentissage, applications interactives.
lutionnaire (GA-lib lancet.mit.edu/ga/, EO eodev.sourceforge.net/,
EASEA complex.inria.fr/EASEA/).
Le courant américain, initialisé par Holland dans les années 1.2 Notions et vocabulaire de base
soixante, est à l’origine de ce que l’on appelle les Algorithmes
Génétiques (AG) [38]. Bien qu’ils aient été prévus initialement dans L’origine biologique des algorithmes évolutionnaires colore leur
le cadre d’optimisation ou d’adaptations dans le domaine discret, vocabulaire, il mérite ici d’être précisé afin d’éviter toute confusion.
les AG ont été facilement étendus à l’optimisation sur des domai- En effet, comme souvent en pareil cas, ces emprunts de voca-
nes continus [41]. bulaire ont favorisé la dérive (et la simplification parfois abusive !)
de bon nombre de termes.
En Allemagne, sont apparues à peu près en même temps des
méthodes appelées Stratégies d’Évolution (SE) (Rechenberg [71] Les principaux éléments de vocabulaire sont résumés dans le
puis Schwefel [74], voir [37]). Ces méthodes étaient au contraire tableau 1. Les individus représentent des solutions ou des points
prévues initialement pour fonctionner sur des domaines continus, de l’espace de recherche. Cet espace de recherche est appelé
et ont été étendues à des applications en optimisation discrète [74]. environnement, c’est sur cet environnement que l’on cherche à
maximiser une fonction (positive) appelée fonction d’évaluation ou
Ces deux approches ont de nombreux points communs, leurs fitness.Les représentations ou codages (discrets ou continus) des
différences résident principalement dans leurs origines (approche solutions sont appelés chromosomes, et dans le cas de l’AG cano-
continue contre-approche discrète). Le principal reproche que l’on nique, ils sont discrets, binaires et de longueur fixe. On emploie
a pu faire à ces méthodes, par rapport à d’autres méthodes d’opti- aussi le terme de génotype en ce qui concerne les chromosomes,
misation plus classiques, est le manque de résultats théoriques tandis que les solutions (les vecteurs de l’espace de recherche)
généraux de convergence. En effet, la modélisation de ces pro- constituent le phénotype. L’algorithme travaille ainsi au niveau du
cessus stochastiques à base de populations est beaucoup plus génotype, qui à l’aide des opérateurs génétiques induit une topo-
ardue, et il a fallu attendre assez longtemps pour voir établir des logie de recherche dans l’espace phénotypique, et conditionne
théorèmes de convergence convaincants (voir § 3). Un historique l’efficacité de la recherche.
plus complet sur les AG peut se trouver dans [30] ou [19].
L’algorithme évolutionnaire fait évoluer sa population de façon à
■ Parallèlement à des recherches théoriques dont les bases les plus adapter les individus à l’environnement, cela se traduit au sens
solides (les modèles markoviens) n’ont été posées que relativement algorithmique du terme par une maximisation de la fonction
récemment, on s’est intéressé assez vite à d’autres adaptations des d’évaluation sur les individus de la population.
paradigmes naturels. Cela a donné naissance à de nouveaux
modèles d’algorithmes évolutionnaires : implantation de phéno-
mènes biologiques plus évolués comme le partage des ressources
et les niches écologiques (sharing : voir § 4.1), la co-évolution de 2. Programmer et utiliser un
différentes espèces (notions de prédateurs et de proies) [5] [12] [35]
[40] [44] [46] [47] [78] ou la dominance et la diploïdie* [32] [81] . algorithme évolutionnaire
* Pour les AG diploïdes, les représentations chromosomiques (les codes) contiennent
l’information en double (représentation diploïde). Cette particularité permet semble-t-il de
rendre les algorithmes plus robustes, particulièrement en environnement dynamique, grâce
à cette redondance d’information qui lui donne une sorte de « mémoire » à long terme.(0) 2.1 Structure et ingrédients
■ D’autres approches, plus récentes, comme les algorithmes à esti- Les ingrédients de base d’un algorithme évolutionnaire
mation de distributions, correspondent à une interprétation plus sta- « canonique » peuvent être décrits simplement, mais ce que nous
tistique et plus globale des opérateurs génétiques (travaux de présentons ci-dessous doit être compris comme une « recette
Muhlenbein [65], Pelikan et Goldberg [68], Larranaga [52]). de cuisine ». Les applications efficaces à base d’algorithmes

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 3

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

processus de sélection (elle doit pouvoir permettre de définir une


probabilité ou au minimum un ordonnancement des solutions).
Génération de la population initiale
● Le remplacement, enfin, qui gère la manière dont on constitue

Population des "parents"


la génération n + 1. La stratégie simpliste qui consiste à remplacer
l’ensemble des parents par tous leurs descendants a été expérimen-
talement et théoriquement déboutée dans le cadre des applications
d’optimisation. Il est nécessaire de maintenir un certain taux
Sélection de deux parents d’élitisme, tout simplement pour ne pas perdre la mémoire des
bons individus visités. Les stratégies usuelles de remplacement
Création d’une nouvelle consistent à maintenir un pourcentage donné des meilleurs indivi-
population de "parents" Croisement des deux parents
à partir des "enfants" dus de la population courante dans la population suivante (De
Jong [41], par exemple, emploie un paramètre qui gère le taux de
Mutation des enfants renouvellement de la population, le generation gap ). Ce paramètre
est lui aussi essentiel pour le bon comportement de convergence de
l’algorithme évolutionnaire.
Population des "enfants" Dans les approches de type « stratégie d’évolution », on parle de
stratégies (µ, λ ) ou (µ + λ ) [7] [36] [37] ce qui signifie que λ des-
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

non
cendants sont générés à partir d’une population de µ individus, la
Arrêt de l’évolution ? stratégie « , » consistant à gérer l’élitisme par le biais de la différence
oui µ – λ (on garde les µ – λ meilleurs individus de la population cou-
rante et on complète par les λ descendants), tandis que la stratégie
Extraction des solutions « + » est une version plus adaptative dans sa gestion de l’élitisme :
à partir d’un ensemble intermédiaire de taille µ + λ constitué des µ
Figure 1 – Organigramme de l’algorithme évolutionnaire simple
individus de la population courante et des λ descendants, on sélec-
tionne les µ meilleurs individus de la génération suivante.
Il est aussi possible (dans le cas des implantations parallèles,
notamment) de s’affranchir de la notion de génération, dans un
évolutionnaires sont souvent plus complexes, le problème essen- schéma stationnaire, consistant à produire à chaque itération de
tiel étant d’adapter, de créer même, ses propres opérateurs, pour l’algorithme un ou deux nouveaux individus et à les injecter dans
les faire correspondre aux spécificités du problème. la population courante via une opération de remplacement, ou plus
exactement de « sélection inverse » (déterministe ou aléatoire) de
■ La base d’un algorithme évolutionnaire classique est une boucle façon à remplacer les plus mauvais individus de la population par
générationnelle de populations d’individus (représentés sous forme des nouveaux venus.
discrète ou continue, à l’aide de chromosomes ou gènes) corres-
pondant chacun à une solution au problème considéré (voir [21] [30] ■ Pour que le système fonctionne correctement, il est en outre
[62]). Cela mène au schéma de la figure 1, dont les étapes princi- nécessaire de gérer :
pales sont les suivantes.
● L’initialisation du processus, qui est usuellement faite de façon

La sélection, pour détecter quels individus de la population



aléatoire (diverses stratégies sont d’ailleurs envisageables pour
courante seront autorisés à se reproduire (les parents ). Cette opé- échantillonner correctement un espace de recherche complexe ou
ration est fondée sur la qualité des individus, estimée à l’aide d’une de grande dimension). C’est là que l’on peut injecter la ou les solu-
fonction, nommée fitness, fonction d’évaluation, ou encore perfor- tions initiales au problème que l’on a pu obtenir par ailleurs (par
mance. Dans le schéma canonique de l’AG « à la Goldberg », deux exemple à l’aide d’autres techniques de résolution). Si l’initialisation
parents donnent deux enfants, ainsi on sélectionne un nombre de a théoriquement peu d’importance (on converge en limite toujours
parents égal au nombre d’enfants désirés, mais évidemment bien vers l’optimum global), on constate expérimentalement que cette
d’autres schémas moins conventionnels peuvent être programmés étape influence énormément la variance des résultats (et aussi la
(deux parents pour un enfant, n parents pour p enfants, etc.). Le rapidité d’obtention de ceux-ci !). Il est ainsi souvent très
paramètre principal de cette étape de sélection est ce que l’on avantageux d’injecter le maximum de connaissances a priori sur le
appelle la pression sélective, qui correspond globalement au problème par le biais de l’initialisation.
quotient de la probabilité de sélection du meilleur individu sur la ● L’arrêt du processus, de même, est essentiel du point de vue
probabilité de sélection de l’individu moyen de la population pratique. Si l’on a peu ou pas d’informations sur la valeur-cible de
courante. Ce paramètre, comme nous le verrons plus loin gère la l’optimum recherché (ce qui autorise un arrêt dès que cette valeur
rapidité de concentration de la population autour de son meilleur est atteinte par le meilleur individu de la population courante), il est
individu. délicat de savoir quand arrêter l’évolution. En l’absence de toute
information, une stratégie couramment employée consiste à
● La reproduction, où les parents sélectionnés sont utilisés pour
stopper l’algorithme dès qu’un nombre maximal d’itérations est
générer des descendants. Les deux opérations principales sont le
atteint, ou qu’un stade de « stagnation » est identifié. Il est aussi
croisement, qui combine les gènes de deux parents, et la mutation
possible de tester la dispersion de la population. Il est évident
qui consiste en une légère perturbation du génome. Ces opérations
qu’une bonne gestion de l’arrêt de l’évolution contribue de façon
sont appliquées aléatoirement, et dépendent de deux paramètres, la
importante à l’efficacité de la méthode, et intervient au même titre
probabilité de croisement pc et la probabilité de mutation p m . Ces
que le réglage des principaux paramètres de l’algorithme (taille de
probabilités sont des paramètres très importants, qui influent de
population, probabilités de croisement et de mutation).
façon considérable sur la qualité des résultats globaux
(convergence et qualité des résultats). Nous détaillons ci-dessous les modes de représentation, les
opérateurs, stratégies de sélection et de remplacement les plus
● L’évaluation, qui consiste à calculer (ou estimer) la qualité des classiques, mais on pourra trouver dans la littérature bien d’autres
individus nouvellement créés. C’est là, et uniquement là qu’inter- déclinaisons de ces composantes dans des espaces de recherche
vient la fonction à optimiser. Aucune hypothèse n’est faite sur la non standards, en fonction des applications (espaces de listes, de
fonction elle-même, excepté le fait qu’elle puisse servir de base au graphes...).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 4 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

2.2 Représentation du problème


et les opérateurs génétiques Parents Descendants
1
Le choix d’une représentation est l’un des points fondamentaux. Croisement à un point
2
Usuellement, la correspondance entre les caractères exprimés des
individus (phénotypes) et les chromosomes (génotypes) est directe,
c’est une représentation bijective. Ce n’est pas le cas dans la nature, Parents Descendants
il existe par exemple des gènes qui ne sont pas exprimés dans le 1
Croisement à deux points
phénotype (introns) ou des gènes qui s’expriment condition- 2
nellement à l’environnement ou à des gènes voisins (épistasie).
Le code binaire est la représentation discrète la plus simple que
Parents Descendants
l’on puisse utiliser, nous verrons que d’autres types de codes 1
permettent des extensions très intéressantes, comme par exemple Croisement uniforme
les systèmes de classeurs sont des AG qui manipulent des chaînes 2
représentant des règles (SI < condition > ALORS < action >), qui
sont des chaînes non binaires.
Figure 2 – Croisements binaires
Enfin, pour ce que l’on appelle des problèmes d’ordre (problème
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

du voyageur de commerce, ordonnancement de tâches, par


exemple), le problème du codage est essentiel. En effet, l’algo-
rithme manipule des codes, et tente de trouver pour chaque gène Parent Descendant
de ce code la valeur la meilleure possible, c’est-à-dire qu’il sait trai-
010011010011101001111011110 010010010011101001111011110
ter un problème de valeurs. En revanche les problèmes d’ordre, eux,
demandent une recherche de la meilleure permutation possible des
gènes du code. La solution couramment employée est soit de trans-
former le problème d’ordre en un problème de valeur, soit de
modifier les opérateurs génétiques, voir par exemple [48]. Figure 3 – Mutation binaire
Bien évidemment, les opérateurs génétiques dépendent du choix
de la représentation, nous détaillons ci-dessous trois repré-
sentations classiques ainsi que leurs opérateurs associés. sembler mieux répondre à la contrainte de complexité que le code
binaire classique. Des recherches théoriques, corrélées expérimen-
talement, ont prouvé que cela est faux [53] : il n’y a pas de réponse
2.2.1 Représentation discrète universelle, tout dépend de la fonction de fitness et de la forme de
Cette représentation, et plus particulièrement la représentation l’espace de recherche !
binaire, est la caractéristique historique du courant « algorithme
■ Croisement
génétique » du domaine, même si par la suite on a vu apparaître
des AG à codage réel. L’opérateur de croisement est une composante importante du
mécanisme de convergence de l’AG, intuitivement, il permet une
Chaque individu de la population est représenté par une chaîne
concentration de la population autour des « bons » individus. Le
de longueur fixe, dont les éléments (gènes) sont choisis dans un
choix de la probabilité de croisement pc (qui décide si les infor-
alphabet fini. Cela concerne des problèmes combinatoires discrets
mations génétiques de deux individus sont mélangées ou transmises
mais aussi des problèmes continus que l’on s’autorise à discrétiser.
sans modification aux descendants) correspond à un compromis
Dans ce dernier cas, la longueur du chromosome est un paramètre
subtil des composantes d’exploration et d’exploitation de l’algo-
important, qui contrôle la précision de l’échantillonnage de
rithme. La plupart du temps le choix de cette probabilité est fait par
l’espace, et par voie de conséquence la précision maximale du
tâtonnement expérimental.
résultat [87].
Il existe un grand nombre d’opérateurs de croisement, les plus
Les implantations sur code binaire, c’est-à-dire où l’alphabet est
classiques dans le cadre de l’optimisation stochastique sont (voir
0, 1, sont les plus courantes encore actuellement. Holland [38] a
figure 2) :
argumenté l’optimalité, selon la théorie des Schémas, de l’alphabet
binaire (alphabet le plus petit possible), ce qui a poussé de — le croisement à un point, où un site de croisement est choisi
nombreux programmeurs à adopter ce codage quasi systéma- aléatoirement sur le chromosome, puis les chaînes de code sont
tiquement. Cette stratégie a depuis été de nombreuses fois remise échangées autour de ce site ;
en question. Goldberg [30], par exemple, introduit la notion de — le croisement à deux points, deux sites de croisement sont
complexité d’un code, et explique que, d’un point de vue pratique, choisis, et les portions de code sont échangées alternativement ;
le choix d’un code est un compromis entre taille de l’alphabet et — le croisement uniforme, où chaque gène d’un descendant est
complexité du codage. Cette notion de complexité pour un code choisi aléatoirement parmi les gènes des parents ayant la même
correspond au fait que de petites variations du code peuvent ou position dans le chromosome. Assez souvent le second descen-
non induire de grandes modifications sur les solutions associées. dant est construit en prenant les choix complémentaires du pre-
En d’autres termes, cela traduit la corrélation des tailles des voisi- mier, comme sur la figure 2.
nages au niveau du génotype et au niveau du phénotype. Une D’autres types de croisements existent, comme par exemple le
autre contrainte importante pour le codage, qui intervient aussi croisement multipoint, ou bien des croisements spécialisés comme
dans ce compromis et que l’on oublie parfois, est la complexité dans le cas du problème du voyageur de commerce ou des pro-
algorithmique du processus de codage/décodage. En effet ces blèmes d’ordonnancement, qui tiennent compte de la structure
opérations sont effectuées un grand nombre de fois au cours de particulière du codage employé.
l’évolution de l’algorithme.
Pour la plupart des applications des AG binaires en optimisation, ■ Mutation
le chromosome est simplement une concaténation des codes De façon schématique, la mutation effectue une perturbation
binaires de toutes les composantes du vecteur de l’espace de mineure du chromosome de l’individu, par exemple dans le cas
recherche. L’espace de recherche doit donc être borné. On a parlé d’un codage binaire, un site de mutation est choisi aléatoirement,
aussi beaucoup dans ce contexte des codes de Gray, qui pourraient et le bit correspondant est inversé (voir figure 3).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 5

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

L’effet de cet opérateur est de « troubler » la tendance à la La généralisation de ce croisement à un croisement à plus de
concentration induite par la sélection et le croisement, de façon à deux parents, voire même à l’ensemble de la population (croi-
laisser à la population la possibilité de « visiter » d’autres régions sement « global ») est assez directe [75].
de l’espace de recherche. Il a été prouvé que cet opérateur limite
la « dérive génétique » due au processus de sélection élitiste (voir ■ Mutation
par exemple [32]). Beaucoup d’opérateurs de mutation ont été proposés et expé-
La probabilité de mutation reste usuellement très faible et, très rimentés pour la représentation réelle, nous détaillons ci-dessous
souvent, elle est maintenue à une valeur fixée tout au long de les plus classiques.
l’évolution de l’AG. Des schémas génétiques fondés sur une pro- ● La mutation gaussienne consiste à ajouter un bruit gaussien N
babilité de mutation variable, qui décroît au fur et à mesure de aux composantes du vecteur-individu concerné, ce qui implique
l’évolution de l’AG sont aussi utilisés. D’un point de vue théorique, l’ajustement d’un paramètre supplémentaire, σ , la déviation
il a été prouvé qu’un tel AG converge vers l’optimum global de son standard de ce bruit :
espace de recherche pour une taille de population finie, si sa
probabilité de mutation pm (k ) décroît à chaque génération en ∀i ∈ 1, ..., n, x ′i = x i + N ( 0, σ )
respectant la borne minimale [22] :
L’ajustement de σ est relativement complexe (trop petit, il ralentit
1 l’évolution, trop grand, il perturbe la convergence de l’AE), de
– ---------
1 ML
p m ( k ) --- k nombreuses stratégies ont été proposées, consistant à rendre ce
2
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

paramètre variable au cours de l’évolution, soit en fonction du


avec M taille de la population, temps, de la valeur de fitness, des axes de l’espace de recherche
(mutations non isotropes), ou encore autoadaptatif, comme
L longueur des chromosomes. ci-après. Des études ont aussi été menées sur l’emploi de bruits
Bien sûr une telle décroissance est extrêmement lente*, et non gaussiens.
nécessite un nombre infini de générations pour arriver à zéro. Il est ● La mutation log-normale autoadaptative est une des grandes
extrêmement rare que l’on ait besoin d’employer dans la pratique innovations des stratégies évolutionnaires, et consiste à faire gérer
la formule de décroissance théorique précédente pour pouvoir les paramètres σ directement par l’AE, en l’intégrant au code géné-
faire converger l’algorithme. L’emploi d’un taux de décroissance tique. Les individus sont donc des vecteurs (x, σ ), et la mutation se
plus rapide permet d’améliorer l’efficacité de l’AG en permettant traduit simplement comme suit :
dans les premières générations une exploration large de l’espace
de recherche, puis une concentration plus marquée (exploitation ∀i ∈ 1, ..., n, σ i′ = σ i exp [ N ( 0, τ ) ]
des zones les plus intéressantes) lors des dernières générations.
* Un calcul de la formule pour une population de 100 individus ayant des chromosomes
et x i′ = x i + N ( 0, σ i′ )
de longueur 32 nous donne une valeur de probabilité de mutation qui décroît de 0,5 à 0,499
en 1 000 générations !
De nombreux travaux théoriques et expérimentaux ont montré
l’intérêt et la puissance de ces méthodes autoadaptatives.
2.2.2 Représentation continue ● La mutation uniforme, inspirée des approches AG consiste à
tirer uniformément la nouvelle valeur de la composante x i de
La représentation continue, aussi dite représentation réelle, définit l’individu x dans un intervalle Min i , Max i , c’est un opérateur plus
un algorithme évolutionnaire qui effectue sa recherche dans  ou
n « brutal, » mais qui peut être efficace malgré tout lorsqu’il convient
de maintenir une bonne diversité (en complément d’autres opé-
une partie de celui-ci. Cette représentation est historiquement liée
rateurs de mutation, par exemple).
aux approches de type stratégies d’évolution, elle s’est ensuite
étendue aux algorithmes génétiques. Elle implique le plus souvent — Il existe de nombreuses autres mutations spécialisées, par
qu’on identifie l’espace des génotypes et l’espace de phénotypes. exemple pour le traitement des contraintes, particulièrement utiles
Les opérateurs génétiques que l’on peut employer dans cette repré- lorsque les solutions recherchées se trouvent près des limites de
sentation sont soit des extensions continues des opérateurs discrets, l’espace contraint. Une excellente revue des divers opérateurs
soit directement des opérateurs continus (exploitant la géométrie de génétiques se trouve dans [9].
l’espace).

■ Croisement 2.2.3 Programmation génétique


et représentation fonctionnelle
Les croisements discrets consistent à mélanger les gènes réels
d’un chromosome, sans toucher à leur contenu, on peut ainsi Le thème de la programmation génétique (PG) correspond à une
adapter directement les opérateurs de croisement binaires pré- représentation de structures de longueurs variables, sous forme
cédents, par exemple les croisements à un point, plusieurs points d’arbres. La PG avait été prévue à l’origine pour manipuler des
ou les croisements uniformes. programmes codés en LISP [45], afin de créer des programmes qui
L’avantage de la représentation continue est certainement mieux puissent résoudre des problèmes pour lesquels ils n’ont pas été
exploitée avec des croisements continus qui mélangent plus explicitement programmés ( créer des programmes sans
intimement les composantes des vecteurs parents pour fabriquer programmer ! ). Un grand nombre de problèmes de nature très
de nouveaux individus : par exemple le croisement barycentrique, différentes peuvent en fait être formulés comme un problème
encore appelé croisement intermédiaire ou arithmétique, produit d’induction de programme et donc abordés grâce à la PG. La
n richesse de la représentation arborescente de taille variable (cf.
un descendant x ′ à partir d’un couple de vecteurs (x, y ) de  figure 4) fonde le succès de ce courant dans le milieu évolutionnaire.
grâce au tirage aléatoire d’une constante α, souvent choisie de
façon uniforme dans [0, 1] ou bien dans [– ε, 1 + ε ] pour une Un algorithme de PG explore un espace de programmes,
version étendue du croisement (BLX-ε ), tel que : composés à partir d’éléments d’un ensemble de fonctions et
d’éléments d’un ensemble de terminaisons, qui sont typiquement
∀i ∈ 1, ..., n, x ′i = α x i + ( 1 – α )y i des ensembles de symboles sélectionnés comme étant appropriés
à la solution des problèmes dans le domaine d’intérêt (variables,
La constante α peut être tirée une fois pour toute pour l’ensemble données d’entrée, constantes, etc...). Plus précisément, les individus
des coordonnées de x ′, ou tirée indépendamment pour chacune de de la population sont des programmes qui, lorsqu’ils sont exécutés,
ses coordonnées (variante dite « uniforme » de ce croisement). sont eux-mêmes des solutions possibles au problème posé.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 6 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

*
Proportionnel
+ + ... à f (X1)
... X1

cos * 1 x ...

X3
X2
x 2 y

Figure 4 – Un arbre de représentation de la fonction Figure 6 – Sélection proportionnelle : tirage aléatoire uniforme
((cos (x ) + 2 ∗ y ) ∗ (1 + x )) (∗ = multiplication) sur un disque, où chaque solution occupe un secteur
de taille proportionnelle à la valeur de sa fonction d’évaluation
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

2.3 Sélection et pression sélective


1 2 La sélection des individus d’une population est faite en rapport
avec leur adaptation à l’environnement (leur fitness ). La fonction à
optimiser, qui est employée pour évaluer l’adaptation à l’environ-
nement, doit pouvoir être rendue positive (par une transformation
quelconque) : c’est la seule contrainte qui lui est imposée. En
Parents aucun cas elle a besoin d’être continue ou dérivable.
Nœuds 1 et 2 sélectionnés L’idée est de sélectionner aléatoirement des individus pour la
pour le croisement phase de reproduction, en favorisant les meilleurs individus. La
figure 6 montre une sélection simple, dite sélection proportion-
Enfants nelle, qui se fait par tirage aléatoire biaisé. L’influence de la pres-
sion sélective vis-à-vis de la diversité génétique est énorme, et le
bon déroulement de l’algorithme en dépend étroitement.
La sélection proportionnelle de la figure 6 peut par exemple
favoriser la domination d’un « super individu, » ayant une valeur
de fitness largement supérieure aux autres individus de la popu-
lation. Cela peut mener à une convergence prématurée, par
sur-sélection de cet individu qui impliquera le blocage des popu-
Figure 5 – Croisement en PG
lations au voisinage de ce point. De même, un ralentissement de
l’évolution peut provenir de l’aplatissement des valeurs de fitness
au sein de la population, amenant à des probabilités de sélection
Les croisements se font par échange de sous-arbres (voir quasi uniforme au sein de la population.
figure 5). Les mutations sont plus complexes, on en distingue
plusieurs, suivant leur action sur la structure du génome : Il est ainsi nécessaire de construire des méthodes de sélection où
l’on peut avoir un contrôle sur la pression sélective. Nous donnons
— suppression/ajout de nœud ; ci-dessous quelques méthodes parmi les plus fréquemment utilisées.
— modification de la fonction d’un nœud en conservant son
arité ; ● Le scaling se fait par transformation linéaire sur la fonction de
— mutation des constantes (valeurs continues), par exemple par fitness pour que le maximum de la fitness réétalonnée soit C fois sa
ajout d’un bruit gaussien ; moyenne sur la population courante. C représente une mesure de la
— mutation des variables discrètes, par permutation ou tirage pression sélective (voir [30]). Les coefficients de réétalonage sont
aléatoire uniforme dans un ensemble de valeurs. recalculés à chaque génération, de façon à maintenir C à une valeur
fixée (usuellement entre 1,2 et 2).
L’évolution d’un programme au sein de la PG se fait simulta-
nément sur sa taille, sa structure et son contenu. L’ensemble des ● La sélection par le rang consiste à affecter une probabilité de
structures possibles d’un programme est l’ensemble de toutes les sélection proportionnelle au rang de chaque individu dans la
compositions récursivement possibles de fonctions à partir d’un population classée par ordre de fitness décroissant.
ensemble de fonctions F = {f 1 , f 2 ,..., f Nf } et d’un ensemble de ● La sélection par tournoi consiste à chaque fois qu’il faut
terminaisons T = {a 1 , a 2 ,..., a Nt }. sélectionner un individu, à tirer aléatoirement T individus dans la
Les fonctions de F peuvent inclure : des opérations arithméti- population (indépendamment de leurs valeurs de fitness), et à
ques (+, –, ∗,...), des fonctions mathématiques (sin, cos, exp, log), choisir le meilleur d’entre eux. La pression sélective est directement
des opérations booléennes (ET, OU, NOT), des opérateurs reliée à la taille du tournoi : plus T est grand, plus elle est importante.
conditionnels (if, then, else ), des commandes d’itérations
(do – until ), des commandes de récursion, n’importe quelle fonc-
tion spécifique à l’application envisagée. 2.4 Exploitation/exploration :
Les terminaisons sont par exemple des constantes ou des un dosage délicat
variables qui représentent une mesure, une variable d’état.
Les applications de la programmation génétique sont très Intuitivement, la sélection agit comme un opérateur de
nombreuses et très variées, voir par exemple [45] (contrôle optimal, « concentration », tandis que le croisement a plutôt une action dite
planification de trajectoires et d’actions en robotique, régression d’exploration. Sélection et croisement favorisent donc la concen-
symbolique). tration de la population dans des régions de l’espace de recherche

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 7

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

où la fonction d’évaluation a des valeurs élevées, avec le risque lorsque l’on joue au jeu du « Master mind ». La formalisation de
cependant d’obtenir une convergence prématurée par perte de cette recherche de similarités entre codes est fondée sur la notion
« diversité génétique » (on dit aussi : par « dérive génétique »). Au de schéma.
contraire la mutation agit comme un opérateur de « dispersion » au En effet, l’évaluation d’un code particulier contribue assez peu à
sein de la population, il est même démontré théoriquement que la comprendre dans quelle direction rechercher un meilleur code,
mutation permet de maintenir la diversité génétique de la popu- même si celui-ci est bon, car cette évaluation n’indique en rien
lation, et ainsi de limiter la dérive génétique. L’efficacité d’un AE est quelle partie a contribué à donner une bonne évaluation. La seule
donc liée au dosage subtil de ces diverses composantes, afin de chose que l’on peut en déduire est que ce ou ces paramètres sont
converger le plus efficacement possible vers l’optimum global de présents dans ce code particulier. On voit donc l’intérêt de traiter
la fonction à optimiser. simultanément une population de codes, pour extraire des
informations liées à la similarité et à la qualité des codes de la
population, et pour guider la recherche future.

3. Aperçu théorique : La théorie des schémas a été développée à l’origine pour les AG
à chaînes binaires, puis a été étendue à d’autres représentations,
pourquoi et comment notamment à la représentation fonctionnelle [69]. Dans le modèle
de représentation binaire, un schéma correspond à un sous-espace
ça marche ? de l’espace de recherche : par exemple, le schéma 01##11#0 repré-
sente l’ensemble des codes binaires de longueur 8 suivant (le
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

caractère # représente soit un 0 soit un 1) :


La grande question est de savoir quand et comment utiliser effi-
cacement des AE, puisque ce sont des algorithmes d’optimisation 01001100
assez complexes à mettre en œuvre (on l’a dit, l’approche en « boîte
01001110
noire » n’est pas raisonnable) et relativement coûteux en temps de
calcul. La réponse à cette question n’est pas simple. Cependant, 01011100
d’assez nombreuses analyses théoriques et expérimentales fournis-
sent quelques éléments de réponse, pour comprendre quand 01011110
l’emploi d’un AG se justifie ou peut apporter quelque chose en 01101100
comparaison ou en collaboration avec des techniques classiques.
01101110
Historiquement, la théorie des schémas représente la première
« théorie » de convergence globale des algorithmes génétiques, 01111100
c’est en fait une modélisation extrêmement simplifiée du compor-
tement d’un AE [30] [38], résidant sur des hypothèses valides uni- 01111110
quement dans les premiers pas de l’algorithme et dans le cas de Les schémas permettent de condenser de diverses manières des
populations de taille infinie. Cette approche a été relativement informations sur la fonction d’évaluation et, ce, sur l’espace de
décriée, car elle repose sur des approximations peu réalistes, elle recherche en entier : un schéma, associé à la moyenne des valeurs
reste cependant une excellente base intuitive pour comprendre les de fitness des codes qu’il représente, constitue une description
mécanismes de convergence, notamment concernant le rôle de dégénérée de l’environnement. L’interprétation de fonctionnement
l’opérateur de croisement. associée à cette représentation, le traitement d’informations glo-
Parallèlement, ont été développés des résultats de convergence bales, donne quelques intuitions sur les raisons de la robustesse
locale pour les stratégies d’évolution [6] [26] [27], puis ensuite des de recherche d’un AG [20].
modèles globaux plus rigoureux, comme les modélisations
Plus formellement, un code de longueur  peut être défini
markoviennes, à base de systèmes dynamiques [3] [22] [39] [67]
[91], ou selon des modèles de physique statistique [1] [76] [77]. Ces généralement par la chaîne discrète prenant ses valeurs dans un
approches beaucoup plus complexes nous donnent des résultats alphabet V ({0, 1} pour un code binaire), un schéma est simplement
précis sur la dynamique de populations de taille finie, mais encore une chaîne dont l’alphabet est V * = V ∪ {#}. Le caractère # repré-
sur des modèles simplifiés. sente indifféremment un élément de l’alphabet du code. Pour un
 
La modélisation des AE est un sujet théorique très complexe et alphabet de taille k, il existe ( k + 1 )
schémas possibles, 3 dans
très actif, qui peu à peu attire les mathématiciens. Les enjeux le cas d’un alphabet binaire de longueur  .
théoriques et pratiques sont importants et les thèmes sont actuel-
lement les suivants : L’analyse de la variation du nombre de représentants de divers
schémas au sein d’une population au cours de l’évolution donne
— la convergence des AG et l’estimation d’une vitesse de quelques interprétations quant aux mécanismes de convergence et
convergence ; aux rôles des divers opérateurs génétiques [20] [30]. Il faut
— la facilité ou difficulté des paysages de fitness pour un AE (étude cependant comprendre que les schémas servent uniquement en
des fonctions « déceptives », NK-landscapes, analyse d’épistasie) ; tant qu’outil pour expliquer la structure des codes, et pour décrire
— le choix des divers paramètres d’un AG ; de façon compacte les similarités entre codes.
— le choix d’une bonne représentation. Si on suppose qu’un schéma H apparaît avec une certaine fré-
Nous présentons rapidement ci-après les deux grands courants quence m (H, t ) dans la population à la génération t, le théorème
actuels de ce thème de recherche. des schémas donne une borne sur l’espérance du nombre de
représentants d’un schéma H à la génération n + 1, pour le modèle
de l’AG canonique (sélection proportionnelle, sans réétalonage,
croisement à un point et mutation binaire) avec population de taille
3.1 Approche intuitive : schémas, infinie :
théorème des schémas
δ(H)
Bien qu’un AG manipule directement une population de codes
f (H )
f

E ( m ( H, t + 1 ) )m ( H, t ) ------------- 1 – p c ------------ – p m  ( H )
–1
 (1)
au cours de son évolution, on peut comprendre et analyser
globalement son fonctionnement en considérant qu’il recherche et Les termes de cette inégalité traduisent les actions des différents
manipule implicitement des similarités entre codes, tout comme opérateurs.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 8 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

— La sélection dépend de l’évaluation d’un schéma, mesurée par


la valeur moyenne des évaluations de ses représentants f ( H )
dans la population courante, respectivement à la valeur moyenne ###001#1#0###
de fitness f de l’ensemble de cette population. Il faut préciser que Longueur
de définition = 7
l’évaluation moyenne d’un schéma est une valeur artificielle qui
indique dans une certaine mesure comment continuer la recherche
dans l’espace de recherche (quel est le sous-espace le plus inté-
f (H ) Figure 7 – Longueur de définition d’un schéma : δ ( H )
ressant à explorer). Le terme m ( H, t ) ------------- dit que plus un schéma
f
a une valeur moyenne élevée, plus il sera reproduit dans la géné-
ration n + 1. de dérive n’est pas possible à l’aide de la théorie des schémas
— Dans cette approche, on ne sait modéliser les opérateurs géné- puisque ce phénomène est une conséquence directe de la manipu-
tiques que par leur action destructrice (d’où le signe  de la lation de populations de taille finie. Goldberg et Segrest ont exa-
miné en détail l’évolution de la dérive génétique en fonction de la
formule (1)). Un schéma de longueur  est détruit par le croisement pression sélective, ce qui a permis de comprendre certains phéno-
δ(H ) mènes de convergence prématurée, ainsi que le rôle fondamental
à un point avec une probabilité ------------- . δ (H ) est la distance entre le
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

–1 de l’opérateur de mutation en ce qui concerne la limitation de la


premier et le dernier bit fixé du schéma, c’est la longueur de dérive génétique. En outre, leur étude de l’influence de la pression
définition du schéma (voir figure 7). Plus la longueur de définition sélective sur la probabilité de converger vers le bon optimum a
d’un schéma est longue, plus il a de chance d’être cassé par un permis de proposer des bornes pour la valeur de pression sélective
croisement. (c’est de là que vient la recommandation de fixer la pression sélec-
tive entre 1,2 et 2 lorsque l’on fait un réétalonnage de la fonction
— De même, l’effet de la mutation est lié à ce que l’on définit
d’évaluation, voir paragraphe 2.3).
comme l’ordre du schéma, c’est-à-dire le nombre de bits fixés du
schéma :  ( H ) (l’ordre du schéma de la figure 7 est 5, par exem- Les travaux de Davis et Principe en 1991 [22], sur des chromo-
somes de longueur supérieure à 1 sont fondés sur un modèle
ple). Si p m est la probabilité de mutation d’un bit (p m << 1), la pro-
simple à trois opérateurs (sélection, croisement mutation) avec une
babilité pour un schéma d’être détruit est taille de population finie, constante tout au long de l’évolution de
 (H )
( 1 – pm ) ≈ 1 –  ( H )p m . l’AG. Ils considèrent cependant que les probabilités de mutation et
de croisement peuvent varier, ce qui leur a permis de dériver la
Une interprétation du théorème des schémas consiste à dire que contrainte sur la probabilité de mutation que nous avons décrite
les « bons » schémas, de longueur de définition faible et d’ordre dans le paragraphe 2.2.1, et d’assurer la convergence en un temps
faible, ont tendance à croître exponentiellement dans la popu- infini si cette contrainte est respectée.
lation. L’idée qu’il faut minimiser la destruction de morceaux inté-
Une approche similaire, mais moins directement utilisable, pro-
ressants de solution implique par exemple que l’on doit rechercher
posée par Nix et Vose en 1992 [67] a permis d’obtenir des résultats
des codages pour lesquels les bons schémas (de fitness moyen
de convergence, mais en examinant le cas où la taille de la popu-
élevé) sont aussi des schémas courts (longueur de définition et
lation varie au fur et à mesure de l’évolution de l’AG, les probabi-
ordres faibles) [30], des « building blocks ».
lités de mutation et de croisement restant constantes.
Cette interprétation fournit des outils d’analyse des représen-
tations, grâce à l’analyse de la nature des « building blocks » Enfin, les travaux de Raphaël Cerf [13] [14] proposent un cadre
(notamment en utilisant les fonctions de Walsh [30]) et permet mathématique plus général qui recoupe à la fois les résultats de
d’approcher la notion d’épistasie [20]. Cela permet en outre de Davis et Principe et ceux de Nix et Vose. Cette approche permet en
construire et d’analyser des fonctions « difficiles » pour un AG (les plus de dériver une décroissance de la probabilité de mutation en
fonctions « AG-déceptives »). Par exemple des fonctions dont les fonction de la taille de la population, et ouvre la voie sur l’analyse
optima sont isolés sont difficiles : les meilleurs points sont entourés de la vitesse de convergence d’un AG simple en fonction de la
par les pires dans la topologie induite par le code. complexité de la fonction à optimiser, et de la taille de population
choisie.

3.2 Analyse markovienne 3.3 Analyse fractale, irrégularité


Une des limitations des analyses fondées sur la théorie des des fonctions de fitness
schémas est l’hypothèse de population de taille infinie, il est assez
vite devenu nécessaire d’avoir des modèles plus rigoureux et plus Dans le cadre de la modélisation d’AE comme systèmes dyna-
précis. Si l’on considère la séquence des populations produites par miques, des comportements « fractals » ont été mis en évidence [42].
un AE comme la réalisation d’un processus stochastique dans un Cette approche a principalement permis de générer des images
espace d’états fini, la façon dont est construit l’algorithme permet fractales (figures de stabilité) et l’aspect fractal des AG pourrait de
de dire que ce processus est markovien (une réalisation de ce pro- ce fait éventuellement être considéré comme anecdotique. Mais le
cessus ne dépend que de son état précédent) [22]. rapport entre algorithmes génétiques et fractales est plus profond.
Les premiers travaux selon cette approche concernaient des En effet, s’il est vrai que les AE sont adaptés à l’optimisation de
modèles extrêmement simples, mais ont très vite permis de modé- fonctions irrégulières en général, il est difficile d’être plus précis sans
liser des comportements inaccessibles aux modèles à population spécifier le type d’irrégularité auquel on s’intéresse. Or la géométrie
de taille infinie. Goldberg et Segrest en 1987 [29], par exemple ont fractale se donne justement pour tâche de quantifier cette notion,
proposé une modélisation d’un AG de population de taille finie, et à l’intérieur d’une classe de fonctions définie par son irrégularité,
avec des chromosomes de longueur 1, et ont abouti à une analyse il devrait être possible d’obtenir des résultats théoriques plus fins
de la dérive génétique. Le phénomène de dérive génétique connu sur le comportement d’un AE.
et étudié depuis longtemps par les biologistes, a été mis en paral- D’un point de vue général la géométrie fractale doit sa célébrité
lèle avec le comportement d’un AG sur une population de taille actuelle principalement à ses aspects « graphiques » : images
finie, sans pression sélective. Cette compréhension du phénomène fractales (ensembles de Julia ou de Mandelbrot, montagnes ou

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 9

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

paysages fractals), qui possèdent une infinité de détails et des


propriétés dites d’autosimilarité. Il existe cependant d’autres
aspects de la géométrie fractale, concernant l’analyse de signaux F (x)
complexes (qui ne sont pas nécessairement fractals) où la théorie
fractale et multifractale* connaît actuellement un large succès pour
des domaines d’application très variés comme l’analyse d’images,
la finance ou l’analyse de trafic dans les réseaux, voir par
exemple [90]. f min
* Brièvement, l’approche multifractale fournit à la fois des outils de quantification des
irrégularités locales des signaux considérés, et des outils d’estimation de la fréquence
d’apparition de ces irrégularités locales.
Dans ce domaine, les algorithmes évolutionnaires se sont 2 * σshare
révélés être des outils efficaces pour plusieurs applications
« fractales » :
— la résolution du problème inverse pour les IFS [57] [60] [66] Espace de recherche
[87] [92] [93], avec une application en modélisation de signaux de
parole [88] ;
— la compression d’images [28] [89] ; Optima sélectionnés
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

— le débruitage multifractal de signaux et d’images [59] ;


— l’optimisation d’antennes fractales [16]. = individu
Ce succès est naturellement lié au fait que lorsque que l’on fait
une analyse d’un signal irrégulier, on est souvent confronté à des Figure 8 – Répartition de la population après un partage
problèmes d’optimisation complexes, où les fonctions à optimiser
sont extrêmement irrégulières (pour lesquelles il est très souvent
difficile de définir des dérivées) et possèdent de très nombreux
maxima locaux. Les méthodes stochastiques et tout particu- simuler effectivement un partage des ressources locales dans la
lièrement les algorithmes évolutionnaires sont bien adaptés à ce population [30] [31] [39].
genre de problèmes d’optimisation. Ces méthodes ont été étudiées avec beaucoup d’attentions ces
D’un point de vue théorique, le fait de se placer dans un cadre dernières années, et la capacité de la technique de partage à per-
fractal, c’est-à-dire de supposer que les signaux considérés pos- mettre la localisation de plusieurs bonnes solutions dans un
sèdent certaines propriétés précises de régularité locale, permet espace de recherche a été démontrée en modélisant la suite des
d’analyser plus précisément le comportement d’un modèle d’AE. populations de l’AG comme une chaîne de Markov [39].
Par exemple dans [53] [56] l’étude concerne l’influence de quelques Notons aussi l’existence de techniques qui créent explicitement
paramètres d’AG canonique sur une mesure de déceptivité, et des sous-populations, comme celle de Cohoon en 1991 [17], sur
fournit des indications sur la façon d’ajuster ces paramètres. Cela des processeurs séparés, et échangent des individus entre ces
débouche sur un outil d’analyse de l’influence du codage des sous-populations à intervalles fixes, lorsqu’on estime que ces
chromosomes dans un AG. Les travaux présentés dans [49] sont sous-populations sont stabilisées (Punctuated Equilibria), en créant
fondés sur un modèle markovien, et ouvrent la voie à une analyse ainsi une sorte de « catastrophe ».
des temps de convergence. Ces méthodes reposent toutes sur la définition d’une distance
sur l’espace de recherche, calculée soit entre les chromosomes
(distance génotypique), soit sur l’espace de recherche lui-même
(distance phénotypique), et qui sert à définir le voisinage d’un
4. Extensions du modèle point de l’espace de recherche (où intervient le paramètre de taille
de voisinage σ share ). Par exemple, le partage est implanté en divi-
sant la fonction d’évaluation F par une mesure du nombre d’indi-
4.1 Copier la biologie des populations : F(i )
vidus dans la niche (ou le voisinage) mi : F′ ( i ) = ----------- .
mi
exemple du nichage
par partage des ressources L’effet du partage est de séparer la population en sous-population
de tailles proportionnelles à la hauteur de l’optimum. Goldberg et
Lorsque les fonctions à optimiser présentent plusieurs optima Richardson [31] ont justifié cela en expliquant que l’AG avec partage
globaux l’AE classique converge aléatoirement vers un seul des Fh Fk
optima. Or dans de nombreuses applications, il est parfois impor- se stabilise lorsque ------- - (∀h, k avec h et k des optima locaux
- = -------
mh mk
tant de pouvoir détecter tous ces optima, c’est-à-dire faire plus
qu’une simple recherche de la solution optimale. Des extensions de différents), voir figure 8.
l’AE classique, copiées sur le phénomène naturel de création de Les résultats d’un partage dépendent essentiellement du réglage
niches écologiques, sont fondées sur la gestion implicite ou expli- du paramètre de diamètre du voisinage σ share , qui règle la sépa-
cite de sous-populations (ou de niches). Plus particulièrement, les ration minimale entre deux pics détectés. Des méthodes d’esti-
méthodes de partage des ressources (sharing ) sont très mation du paramètre σ share ont été proposées [23].
employées : si les individus d’une même sous-population ont à par- Cette méthode de partage peut être complétée par une res-
tager les ressources, la croissance de cette sous-population est limi- triction des croisements. En effet, si l’on examine l’évolution d’un
tée, et lorsqu’il y a surpopulation, les individus tendent à rechercher AE avec partage sur une fonction multimodale simple, on peut
de nouvelles régions à coloniser. remarquer que certains individus dérivent entre deux optima. Cela
On peut séparer grossièrement les méthodes de nichage en est dû au fait que le croisement de deux individus appartenant à
deux classes. La première classe [41] [61] comprend des techni- deux niches différentes résulte rarement en un individu proche
ques qui ont pour but de maintenir la diversité au sein de la popu- d’un des deux optima correspondants. Booker [10] a proposé de
lation tout au long de l’évolution de l’algorithme, et qui, dans une limiter le croisement entre espèces différenciées en modifiant
certaine mesure, favorisent la séparation en sous-populations. La l’opérateur de sélection. Goldberg et Richardson [31] ont prouvé
seconde classe de méthodes modifie la fonction d’évaluation pour sur des fonctions multimodales simples que la restriction de

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 10 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

croisement (bien que plus coûteuse en temps de calcul) améliore


l’efficacité du partage des ressources.
Exemple : pour illustrer cela, la figure 9 montre l’effet d’un sharing
sur la convergence d’une population (exemple tiré de [58]). L’appli-
cation consiste à détecter des segments sur des images de contours
(les contours sont dessinés en gris).
On commence par tirer aléatoirement une population d’individus, qui
sont des segments, représentés sur la figure 9a. En faisant agir un AG
classique sur cette population de segments (l’évaluation de l’adaptation
à l’environnement d’un segment est faite par comptage de points de
contours de l’image en coïncidence avec ce segment), on obtient une
concentration de la population de segments comme celle de la
figure 9b. Si l’on emploie une technique de sharing, on obtient une
convergence comme celle de la figure 9c. L’intérêt du sharing dans ce
cas est évident, puisqu’il permet, par simple clusterisation de la popu-
lation finale, de dégager plusieurs segments en une fois sur l’image.
a population initiale aléatoire
(segments)
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

4.2 Approche parisienne, co-évolution


et approches à base d’agents
L’idée de faire « plus que de l’optimisation » avec les AE est née
très tôt. Nous avons vu précédemment qu’il est possible d’aborder
des problèmes d’optimisation multimodale. On peut aller plus loin,
et formuler les problèmes comme des tâches d’apprentissage
collectif, de façon à ce que la solution recherchée soit construite à
partir de l’ensemble d’une population évoluée et non plus à partir
du seul meilleur individu de la population finale.
Les thèmes les plus marquants de cette tendance sont les sys-
tèmes de classeurs (qui sont aussi la base historique des AG),
l’approche parisienne, les techniques de co-évolution (proie/préda-
teurs), et les techniques à base de colonies d’insectes sociaux, dont
les plus connus sont les ACO, algorithmes à colonies de fourmis
(ant colony algorithms ) [24] [25].

4.2.1 Systèmes de classeurs b convergence avec un AG classique


(80 générations)
Un système de classeurs (classifier system ), peut être défini
comme un système d’apprentissage qui apprend des règles syn-
tactiques simples (appelées « classeurs ») pour guider ses perfor-
mances dans un environnement arbitraire [30]. Un tel système est
classiquement composé de :
1. un système de règle et de messages ;
2. un système d’attribution de crédits ;
3. un algorithme génétique.
Le système de classeurs (SC) manipule des règles (ou classeurs)
de la forme :
SI < condition > ALORS < action >
Le schéma d’un SC est présenté à la figure 10 : les informations
venant de l’environnement sont codées dans les détecteurs sous
forme de un ou plusieurs messages de tailles finies. Ces messages
provenant de l’environnement sont stockés dans la liste de mes-
sages et peuvent alors activer les règles ou classeurs. Lorsqu’il est c convergence avec sharing
activé, un classeur renvoie un message à la liste de messages. Ces
messages peuvent alors à leur tour activer d’autres classeurs, ou Figure 9 – Effet d’un sharing sur la convergence d’une population
bien déclencher une action transmise à l’environnement par l’inter-
médiaire de déclencheurs. De cette façon, le système combine des
interactions avec l’extérieur et des actions de « réflexion » internes,
pour déterminer quelle sera la prochaine action. En un sens, il
coordonne les flux d’informations venant de l’extérieur (détecteurs) La condition est un système de reconnaissance des formes où le
et les traitements internes (liste de messages et population de caractère # a été ajouté à l’alphabet binaire (# correspond soit à un
classeurs) pour effectuer des actions (déclencheurs). 0, soit à un 1). Une fois que la condition du classeur est remplie,
ce classeur devient candidat à poster son message dans la liste des
Un message dans un SC est simplement une chaîne de bits ; les
messages à la prochaine étape. Le fait que le classeur délivre effec-
classeurs sont les éléments fondamentaux des échanges d’infor-
tivement son message est conditionné par le résultat d’une sorte
mations. Un classeur est une règle de production :
de tirage aléatoire fondé sur l’évaluation de la valeur (ou poids) du
< condition > : < action > classeur.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 11

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

4.2.3 Approche parisienne


ENVIRONNEMENT
Cette idée de coévolution peut s’exploiter aussi dans le cadre de
l’optimisation pure. Ce qu’on appelle actuellement l’approche pari-
sienne est une exploitation relativement récente de ce concept [18] ;
SYSTÈME DE CLASSEURS elle est fondée sur la capacité des EA à attirer l’ensemble d’une
population dans des zones quasi-optimales de l’espace de
recherche. L’idée est donc de fabriquer un paysage de fitness et un
processus d’évolution où l’ensemble de la population (ou du moins
une grande partie) représente la solution recherchée. Les individus
ne représentent plus une solution potentielle au problème posé,
Information Détecteurs Liste de messages Déclencheurs mais une partie seulement de cette solution. La solution au pro-
1 1 Action blème est construite à partir de plusieurs individus de la population
Récompense 101
0 1 qui « collaborent » pour produire la solution.
000
1 111 1 C’est donc bien une approche à relier aux autres techniques de
co-évolution : une population est une société qui construit en
Population de commun la solution recherchée. Cependant, contrairement aux
classeurs approches de coévolution classiques, les espèces ne sont pas
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

10#:111 clairement identifiées, on ne fonctionne pas sur un modèle


00#:000 proie/prédateur par exemple.
ATTRIBUTION
DES CRÉDITS Bien entendu, la spécification et le calibrage de tels algorithmes
devient plus complexe que dans le cas des approches évolution-
ALGORITHME GÉNÉTIQUE
naires classiques, et la diversité des populations devient un facteur
crucial pour le succès des méthodes d’évolution parisiennes. En
outre, le fractionnement d’un problème en sous-problèmes inter-
Figure 10 – Schéma d’un système de classeurs connectés qui se prête à une approche parisienne n’est pas toujours
possible.
De façon schématique, les AE parisiens ont tous les
composantes des AE classiques plus :
L’évaluation de la valeur d’un classeur est faite par le système
d’attribution des crédits tout au long de l’évolution du SC. Ce — deux fonctions de fitness : une fonction globale qui est cal-
système est un algorithme relativement complexe, appelé culée sur l’ensemble de la population, ou sur une grande proportion
bucket-brigade. Schématiquement, il distribue la récompense à de celle-ci (par exemple à la suite d’un processus de clusterisation,
une action renvoyée par l’environnement aux classeurs qui ont été ou d’élimination des individus trop mauvais), et une fonction locale
activés pour générer cette action [30]. calculée sur chaque individu, qui mesure la proportion dans laquelle
cet individu contribue à la solution globale ;
L’algorithme des bucket brigades est donc une procédure d’éva- — un processus de redistribution qui répartit à chaque généra-
luation des classeurs qui permet de décider parmi plusieurs tion le fitness global sur les individus ayant contribué à la solution ;
concurrents quel classeur activer. Une modification de l’AG simple — un mécanisme de maintien de la diversité, afin d’éviter les
que nous avons décrit dans le paragraphe 2.1 est alors employée modes dégénérés où tous les individus sont concentrés sur la
pour générer de nouveaux classeurs, afin d’améliorer la population même zone de l’espace de recherche.
des classeurs.
Cette approche a permis de nombreuses applications, et
notamment des applications « en ligne » (text-retrieval [50] [51],
4.2.2 Vie artificielle applications artistiques [15]) et temps-réel (vision stéréo par algo-
rithme des mouches [55]), ce qui est tout à fait notable pour des
Des applications des SC comme les animats * ouvrent la voie à algorithmes ayant une réputation d’extrême gourmandise en temps
la simulation de comportements « intelligents » collectifs ou de calcul !
individuels [94] et à ce que l’on nomme la vie artificielle. Ce
domaine peut être actuellement considéré comme un domaine de
recherche à part entière, où les méthodes évolutionnaires jouent un 4.3 Multi-objectif
rôle important.
* Les animats (pour « animaux artificiels ») sont des systèmes qui doivent résoudre des Se poser des questions liées à l’optimisation conduit souvent à
problèmes simples, comme trouver de la nourriture et éviter les obstacles, en construisant
des modèles comportementaux fondés sur des ensembles de règles. se poser le problème de l’identification précise de ce que l’on
souhaite optimiser. Cela est particulièrement important dans des
Nous n’entrerons pas dans la polémique de la définition de ce cas complexes où il existe par exemple plusieurs critères de
qu’est la vie artificielle, citons cependant une formulation [11] due jugement, parfois non compatibles entre eux (maximiser la résis-
à Langton : « La vie artificielle est le champ d’études dédié à la tance d’une pièce mécanique, tout en minimisant son poids et son
compréhension de la vie, qui essaie de trouver une abstraction des coût de fabrication, par exemple). Ces optimisations sont d’autant
principes dynamiques fondamentaux mis en jeu dans les phéno- plus complexes à traiter que l’on ne sait pas forcément estimer des
mènes biologiques, en re-créant cette dynamique dans d’autres poids relatifs des divers critères et contraintes en jeu. On parle alors
milieux physiques (comme un ordinateur) les rendant ainsi acces- non plus d’optimisation simple mais d’optimisation multicritère,
sibles à un nouveau genre de manipulations expérimentales. » sans donner de priorité relative entre les divers critères : minimiser
Plus précisément, on peut dire que la vie artificielle regroupe les (f1 (x ), f 2 (x ),..., f n (x )).
programmes de recherche qui concernent les systèmes autono-
mes, leurs caractérisations et leurs modes spécifiques de survie. Pour aborder cela on se fonde sur la notion de domination : pour
deux solutions x 1 et x 2 au problème précédent, x 1 domine x 2 (on
Dans ce cadre, les AE sont l’une des techniques employées pour écrit x 1 q x 2) si et seulement si :
modéliser l’évolution des systèmes artificiels. Nous voyons ainsi
que les AE trouvent leur utilité aussi bien en tant qu’outil pour ∀j ∈ 1, ..., n, f j ( x 1 )f j ( x 2 )
résoudre des problèmes pratiques (d’optimisation par exemple)
qu’en tant que modèle scientifique des processus d’évolution [63]. ∃i ∈ 1, ..., n, f i ( x 1 )>f i ( x 2 )

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 12 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

La solution au problème d’optimisation multicritère précédent En outre, l’interaction avec l’humain pose plusieurs problèmes,
est donc un ensemble de solutions, formant ce que l’on nomme le que l’on peut lier à ce que l’on appelle le « goulot d’étranglement
front de Pareto, et qui est l’ensemble des solutions non dominées de l’utilisateur » [70], autrement dit la lassitude de celui-ci. Dans de
dans l’espace de recherche. L’idée d’utiliser des AE pour trouver le tels systèmes d’optimisation, il faut trouver des moyens d’éviter
front de Pareto d’un problème multicritère a paru assez naturelle, des interactions répétitives, ennuyeuses ou mal perçues de l’utili-
mais cela nécessite de modifier légèrement le schéma évolution- sateur. Le travail de l’artiste Steven Rooke [72] montre bien par
naire classique. La procédure de sélection doit notamment être exemple la quantité extraordinaire d’interactions nécessaires à
adaptée de façon à pousser la population vers le front de Pareto, l’apparition d’images esthétiques lorsqu’on part d’une « soupe
tout en maintenant une bonne diversité pour assurer un bon primordiale » de composantes primitives. Les techniques actuel-
échantillonnage du front de Pareto (éviter les solutions dégénérées lement employées [8] [70] [82] proposent par exemple :
où toutes les solutions sont concentrées en un seul point du front — de réduire la taille des populations et du nombre de
de Pareto). Une étude comparative des diverses méthodes évo- générations ;
lutionnaires pour l’optimisation multicritère se trouve dans [95]. — de choisir des modèles spécifiques pour contraindre la
recherche dans des zones a priori intéressantes de l’espace de
recherche ;
— de faire de l’apprentissage automatique (fondé sur un nom-
4.4 Approches interactives bre limité de quantités caractéristiques) afin de proposer une pré-
notation automatique des individus et de ne présenter à
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

l’interaction que les individus les plus intéressants de la popula-


Nous l’avons vu, la tâche d’optimisation se complique sévè- tion, en considérant les votes antérieurs de l’utilisateur.
rement lorsque l’on cherche à aborder des problèmes pratiques, et
l’on est parfois obligé de développer des stratégies spécifiques dans
le cas où l’on ne sait pas précisément définir « ce que l’on
recherche. » C’est le cas par exemple pour les techniques d’optimi-
sation multicritères, où une réelle optimisation multicritère
s’impose lorsque l’on ne sait pas donner de poids relatifs aux dif-
5. Exemples d’applications
férents critères en jeu (ce qui permettrait par exemple de construire
une unique fonction de fitness, comme combinaison pondérée des Nous l’avons dit, les EA touchent des domaines d’application
critères). Le problème se complique encore lorsqu’on se trouve extrêmement variés (voir [30] pages 126 à 129, pour des applications
dans des cas où ce que l’on souhaite optimiser n’est pas mesurable développées jusqu’à 1989, et site du réseau Européen EvoNet
à l’aide d’une fonction mathématique (par exemple la simple notion (http://evonet.dcs.napier.ac.uk/ pour un panel d’applications
de « satisfaction de l’utilisateur »), il devient nécessaire par exemple récentes), et intéressent des chercheurs et des ingénieurs de disci-
d’introduire un utilisateur humain dans la boucle évolutionnaire. plines très diverses, par exemple :
Cela a donné naissance à un thème « Algorithmes évolutionnaires — En optimisation numérique : lorsque les fonctions à optimiser
interactifs », très attrayant, car touchant des domaines d’appli- sont complexes, de forte dimensionnalité, irrégulières, mal connues.
cations très variés. — En optimisation combinatoire : pour des problèmes de théorie
Les premiers travaux sur le sujet [4] [79] [80] [84] étaient orientés des graphes (voyageur de commerce, coloration de graphes), de
vers la création artistique et la synthèse d’images numériques. De séquencement de tâches, de répartition de ressources, d’emploi du
nombreuses études touchent maintenant divers domaines d’appli- temps, du sac à dos, dont la résolution efficace est fondée le plus
cation, où les quantités à optimiser sont liées à des jugements sub- souvent sur des AE hybridés avec des techniques « classiques ».
jectifs (visuels ou auditifs), et sont clairement dans la tendance C’est dans ce cadre que de nombreuses études sur la représentation
scientifique actuelle qui vise à recentrer les systèmes informatiques des problèmes et le traitement des contraintes ont été menées.
sur leurs utilisateurs (autrement dit à mettre réellement le système — En intelligence artificielle et sciences cognitives : où l’on
artificiel au service de l’humain). Des travaux tout à fait caractéris- exploite plutôt les capacités adaptatives des AE et les techniques
tiques sur le sujet sont par exemple [83] pour l’adaptation de pro- fondées sur les systèmes de classeurs (réseaux de neurones, évo-
thèse auditive [43], pour le développement de lois de contrôle de lution de langages, grammaires).
bras de robot qui correspondent à des mouvements souples, proches — En informatique : où les gens s’intéressent plus parti-
de l’humain et psychologiquement bien perçus par l’utilisateur, culièrement à la parallélisation des AE, au design de langages de
ou [64] pour le design de pages HTML. On pourra trouver une revue spécification, à leur implantation efficace, mais traitent aussi des
de ce vaste sujet dans [82]. problèmes d’allocation de ressources ou de test de logiciel.
— En robotique : où l’on s’intéresse aux MOBOTS (MObile
La définition initiale des algorithmes évolutionnaires interactifs roBOTS) et autres animats, individuellement ou en population, qui
(AE-I) comme des AE dont la fonction de fitness est donnée par doivent pouvoir se mouvoir et agir dans des environnements
une interaction humaine a été maintenant étendue à une notion inconnus, variables et accomplir des tâches parfois complexes.
plus complète de l’interaction homme-machine au sein de l’AE. La — En physique et en ingénierie : source de nombreux pro-
fonction de fitness peut n’être établie que partiellement par inter- blèmes réels complexes, par exemple pour l’optimisation de struc-
action, des interventions de l’utilisateur directement au niveau des tures mécaniques [33] [54] [85] de profils d’ailes d’avion, de
génomes, des opérateurs génétiques, des paramètres et des tuyères de réacteurs, ou de processus chimiques industriels.
diverses stratégies peuvent être envisagées. — En économie et en finance : pour la simulation d’économies
artificielles (systèmes à base d’agents), l’optimisation de porte-
Une définition de AE-I pourrait être raisonnablement « un AE où
feuilles bancaires.
le processus évolutionnaire est contraint par une interaction avec
un utilisateur humain » : les AE ont accès uniquement à un espace — En traitement d’images, du signal, pour détecter des formes
de paramètres n’ayant pas de signification précise, exceptée celle caractéristiques, problème que l’on peut comprendre soit comme
qui peut être traduite en termes de fonction de fitness automatique une optimisation, soit comme une application de règles de décision
(que l’on passe ou non par un espace « phénotypique » inter- (SC), en vision stéréo [55], en débruitage d’images [59].
médiaire). L’évaluation subjective produite par un utilisateur — En biologie et en médecine, pour certaines tâches de séquen-
humain peut soit remplacer ou compléter cette fonction de fitness cement du génome, dans l’analyse du repliement de protéines, en
automatique, soit intervenir dans chacune des composantes du sys- analyse de données et imagerie médicale.
tème évolutionnaire (initialisation, moteur évolutionnaire, varia- Nous détaillons ci-après à titre d’exemple deux applications en
tions de structure du génome, paramétrisation). vision robotique et design graphique.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 13

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

5.1 Vision stéréo pour la robotique 5.2 Dans le domaine artistique,


par algorithme évolutionnaire : exemple du logiciel ArtiE-Fract
l’algorithme des mouches (figure 11) (figure 12)

Dans l’approche parisienne, décrite plus haut, la représentation Les formes fractales sont des objets artistiques attrayants, car
de la solution d’un problème est répartie sur l’ensemble de la elles combinent complexité et structure « hiérarchique » non tri-
population. Cela sert de base à l’algorithme des « mouches, » un viale. La théorie mathématique sous-jacente est assez complexe et
algorithme d’exploration de l’espace des paramètres conçu pour ne permet pas une manipulation directe de ces formes. ArtiE-Fract
les applications de reconnaissance des formes. L’application de est un logiciel interactif élaboré à partir d’un algorithme évolu-
cette méthode au problème de stéréovision permet d’obtenir une tionnaire, de façon à faciliter pour le non-mathématicien et le
analyse 3-D de la scène de manière élégante et rapide, exhibant non-informaticien la création de telles images.
une capacité inattendue des AE à traiter des problèmes en « temps L’utilisateur (l’artiste) contrôle une recherche aléatoire dans
réel » notamment dans les systèmes mobiles robotisés où la puis- l’espace des formes fractales, et l’algorithme évolutionnaire s’efforce
sance de calcul disponible est réduite [55]. de s’approcher de ce que l’utilisateur recherche précisément ou intui-
Une « mouche » est un point 3-D de la scène, codée par ses trois tivement, par le biais de l’analyse des évaluations successives
coordonnées. La population des mouches est initialisée aléatoi- d’ensemble d’images qui lui sont présentées. Cette idée d’approche
rement dans le champ de vision des caméras, puis soumise à un aléatoire évolutionnaire n’est pas neuve, voir par exemple les travaux
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

algorithme d’évolution dont le but est de faire converger le plus de Karl Sims* ou de William Latham** dans le domaine de la
grand nombre possible de mouches sur les surfaces des objets de synthèse graphique.
la scène. Pour cela, le rôle central est joué par la fonction de fitness * http://www.genarts.com/karl
dont le but est d’évaluer, pour chaque mouche, sa conformité aux **Evolutionary Art and Computers, Academic Press, 1992.
données. Dans le cas de l’analyse de couple stéréo, supposant que Cependant ArtiE-Fract permet en plus une interaction directe très
les caméras soient déjà calibrées, est utilisé le fait que si une poussée, grâce aux modèles d’images fractales employés (les
mouche est située sur la surface visible d’un objet, alors ses pro- systèmes de fonctions itérées – ou IFS – non linéaires) de façon à
jections dans les deux images sont deux pixels dont les voisinages autoriser une réelle démarche créatrice. Ainsi, deux modes d’inter-
sont fortement corrélés. Le calcul de la fitness se réduit donc à action sont disponibles à tout moment dans ArtiE-Fract :
deux calculs géométriques (le calcul des projections de la mouche) — une interaction « passive », où l’utilisateur donne des notes
et une corrélation de voisinages. aux images qui lui sont présentées à l’écran (recherche aléatoire
L’algorithme est complété par des opérateurs génétiques de orientée) ;
facture assez classique dans les stratégies d’évolution : mutation — une interaction « directe », où les images peuvent être mani-
adaptative, croisement à deux parents, croisement à trois parents, pulées de façon non triviale : modifiées colorimétriquement ou
ainsi qu’un opérateur de sharing jouant un rôle de régularisation structurellement, ou même distordues géométriquement via des
en empêchant les trop fortes concentrations locales de mouches. points de contrôle. Divers types de morphings et de transfor-
mations sont en outre accessibles, pour créer des animations.
Après les premiers essais sur des couples d’images stéréo
statiques (synthétiques et naturelles), et en vue de l’application L’interaction directe au niveau des phénotypes donne un
robotique, la méthode a été testée avec succès sur des séquences contrôle plus complet à l’utilisateur (l’artiste), de façon à rendre le
stéréo dynamiques, où les mouches jouent le rôle de support de la concept classique d’AE interactif plus souple dans le cadre de la
représentation de l’environnement dans le robot et tirent ainsi parti création artistique. L’idée est d’exploiter les capacités de recherche
efficacement de la continuité temporelle de la scène. Ainsi, il n’est aléatoire d’un EA pour assister l’artiste.
pas nécessaire (ni souhaitable) de réinitialiser la population à Une autre caractéristique d’ArtiE-Fract est la disponibilité d’un
chaque nouvelle image : une fois obtenue la convergence initiale, mode d’évolution parisienne, et à tout instant de l’évolution un
la population de mouches est capable de suivre de manière mécanisme permet de passer du mode parisien au mode global, ce
continue le déplacement relatif des objets dans la scène. De plus, qui donne une grande souplesse dans le contrôle du comportement
la fonction de fitness étant calculée pour chaque mouche à l’aide plus ou moins aléatoire (« mélangeant ») du système.
des données-image disponibles les plus récentes, l’algorithme ArtiE-Fract a été élaboré avec soin pour permettre au designer
n’est pas contraint par le cadencement de la délivrance des images d’utiliser une large variété de stratégies et de paramètres de
par les caméras (algorithme asynchrone), ce qui lui permettra le contrôle prédéfinis, tout en lui laissant la possibilité, s’il le souhaite,
moment venu d’exploiter pleinement l’asynchronisme naturel des de les régler directement lui-même pour ses besoins spécifiques.
imageurs CMOS, contrairement aux algorithmes classiques de ArtiE-Fract donne ainsi un accès souple et convivial à des modèles
stéréovision. classiques de fractales (formes autoaffines) mais aussi et surtout à
Si cette méthode ne prétend pas être aussi performante (du des images fractales peu courantes (des systèmes de fonctions
moins en termes de précision et d’exhaustivité d’analyse) que les itérées non-linéaires)*.
méthodes classiques de stéréovision basées sur une segmentation * http://fractales.inria.fr/ArtiE-Fract
préalable et une mise en correspondance de primitives, elle permet
d’obtenir des résultats immédiats et de qualité progressive même
avec une puissance de calcul réduite, ce qui la rend particulièrement
bien adaptée aux applications en robotique mobile. Elle a été expé- 6. Conclusion
rimentée pour l’évitement d’obstacles en robotique mobile, ce qui
a été l’occasion d’y ajouter plusieurs fonctionnalités :
Mis à part un certain effet de mode, il est actuellement évident
— la fusion de capteurs extéroceptifs, par l’ajout d’un terme sup- que le domaine des algorithmes évolutionnaires est en pleine
plémentaire par capteur dans la fonction de fitness ; expansion tant au niveau théorique qu’au niveau applicatif.
— la fusion de capteurs proprioceptifs (mouvement propre du — Au niveau théorique : un certain nombre de travaux récents,
robot) par mise à jour continue des positions des mouches ; essentiellement en ce qui concerne l’étude de la convergence de
— la génération de commandes d’évitement d’obstacles par ces algorithmes (modélisation par chaînes de Markov), ont permis
adaptation de méthodes classiques de planification (méthodes par de poser des bases plus solides en ce qui concerne les AG, souvent
potentiels) à la représentation particulaire des obstacles. critiquées à cause de leur aspect « empirique ». Ces approches
L’intégration dans un système de navigation en temps-réel d’un fournissent un cadre théorique riche, qui permettra de raffiner bon
robot mobile autonome (Cybercar de l’INRIA) est en cours. nombre d’analyses de convergence et d’efficacité.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 14 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

Couple stéréo

Initialisation Reconstruction

Évaluation

Paramètres des
caméras
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

Sélection

Paramètres Évolution
génétiques

Figure 11 – L’algorithme des mouches pour la vision stéréo : chaque individu de la population est un point 3D (une « mouche ») l’évolution de
cette population a pour but de positionner les mouches sur les surfaces visibles de la scène

Figure 12 – Quelques images fractales créées avec ArtiE-Fract

il est clairement vain de vouloir appliquer un AE dans des cas où


des techniques comme les méthodes de gradients marchent bien.
Ce qui fonde une recommandation classique consistant à dire :
« employez les AG lorsque rien d’autre ne marche » !
Mais, cela nous amène à revenir et à insister sur l’importance de
la représentation des solutions et du design des opérateurs
associés. Ces algorithmes, pour être vraiment efficaces ne doivent
pas être considérés comme une boîte noire (ou une roue de
secours !) : s’il est facile de fabriquer un algorithme évolutionnaire
de base, il est aussi facile d’en faire un gaspilleur de ressources
informatiques (temps de calcul, espace mémoire et autre). À cet
égard, il est toujours très formateur de comparer son algorithme
évolutionnaire à un algorithme de recherche aléatoire pure, pour
en évaluer l’efficacité... En résumé, faire un algorithme évolution-
Figure 13 – Une œuvre de l’artiste Emmanuel Cayla avec ArtiE-Fract naire efficace est souvent complexe, car cela nécessite de
comprendre précisément aussi bien le domaine d’application
concerné que les subtilités des mécanismes évolutionnaires.
— Au niveau applicatif : les domaines d’applications, nous
l’avons vu, sont très variés, et ces algorithmes intéressent de
Remerciements
nombreux chercheurs et industriels.

D’un point de vue expérimental, on constate que ces algorithmes L’auteur tient à remercier pour leur aide Messieurs Jean
sont efficaces pour effectuer une recherche au sein d’espaces Louchet et Amine Boumaza, auteurs de la méthode décrite dans
multidimensionnels et irréguliers, en limitant le risque de le paragraphe 5.1, qui m’ont aimablement autorisée à repro-
convergence prématurée. D’un autre côté, vu leur coût calculatoire, duire la figure 13.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 15

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES ______________________________________________________________________________

Références bibliographiques

[1] Chapter Modelling GA Dynamics, Procee- ring 97, INRIA, Hot Topic Session, Arcachon, [31] GOLDBERG (D.E.) et RICHARDSON (J.). –
dings Theoretical Aspects of Evolutionary France, 25-27 juin 1997. Genetic algorithms with sharing for multimo-
Computing, p. 59-86 (2001). [17] COHOON (J.P.), MARTIN (W.N.) et RICHARDS dal function optimization. In J. J. Grefens-
[2] ALBERT (J.), FERRI (F.), DOMINGO (J.) et (D.S.). – Genetic algorithms and punctuated tette, editor, Genetic Algorithms and their
VINCENS (M.). – An approach to natural equilibria in VLSI. In H. P. Schwefel and A p p l i c a t i o n s , H i l l s d a l e , N e w Je r s e y.
scene segmentation by means of genetic R. Männer, editors, Parallel Problem Solving Lawrence Erlbaum Associates, p. 41-49
algorithms with fuzzy data. In Pattern Reco- from Nature – Proceedings of 1st Workshop, (1987).
gnition and Image Analysis. Selected papers PPSN 1, volume 496 of Lecture Notes in [32] GOLDBERG (D.E.) et SMITH (R.E.). – Nonsta-
of the 4th Spanish Symposium (sept. 90), Computer Science, Dortmund, Germany. tionary function optimization using genetic
Perez de la Blanca Ed., p. 97-113 (1992). Springer-Verlag, Berlin, Germany, p. 134-144, algorithms with dominance and diploidy. In
[3] ALTENBERG (L.). – Evolutionary computation 1-3 oct. 1991. J. J. Grefenstette, editor, Proceedings of the
models from population genetics. part 2 : An [18] COLLET (P.), LUTTON (E.), RAYNAL (F.) et second international conference on genetic
historical toolbox. In Congress on Evolutio- SCHOENAUER (M.). – Polar ifs + parisian algorithms and their applications, Hillsdale,
nary Computation, Tutorial (2000). genetic programming = efficient ifs inverse New Jersey. Lawrence Erlbaum Associates,
problem solving. Genetic Programming and p. 59-68 (1987).
[4] ANGELINE (P.J.). – Evolving fractal movies. In
Genetic Programming 1996 : Proceedings of Evolvable Machines Journal, 1 (4) : 339-361, [33] HAMDA (H.), JOUVE (F.), LUTTON (E.),
the First Annual Conference, John R. Koza oct. 2000. S C H O E N AU E R ( M . ) e t S E B AG ( M . ) . –
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

and David E. Goldberg and David B. Fogel [19] DAVIDOR (Y.). – Robot programming with a Compact unstructured representations in
and Rick L. Riolo (Eds), p. 503-511 (1996). genetic algorithm. In Proceedings of the 1990 evolutionary topological optimum design.
IEEE International Conference on Computer Applied Intelligence, 16 (2002).
[5] ANGELINE (P.J.) et POLLACK (J.B.). – Compe-
titive environments evolve better solutions Systems and Software Engineering, number [34] HILL (A.) et TAYLOR (C.J.). – Model-Based
for complex tasks. In Proceedings of the Fifth Cat. No. 90CH2867-0, Tel-Aviv, Israel, IEEE Image Interpretation using Genetic Algo-
International Conference on Genetic Algo- Computer Society Press, Los Alamitos, CA, rithms. Image and Vision Computing, 10 (5) :
rithms, San Mateo, California, Morgan Kauf- p. 186-191, 8-10 mai 1990. 295-301, juin 1992.
mann (1993). [20] DAVIDOR (Y.). – Genetic Algorithms and [35] HILLIS (W.D.). – Co-evolving parasites
[6] BAECK (T.), HOFFMEISTER (F.) et SCHWEFEL Robotics. A heuristic Strategy for Optimiza- improve simulated evolution as an optimiza-
(H.P.). – A survey of evolution strategies. In tion. World Scientific Series in Robotics and tion procedure. Cambridge, MA, MIT
International Conference on Genetic Algo- Automated Systems – vol 1, World Scientific, Press/North-Holland. (also as Physica D,
rithms, p. 2-10, 13-16 juil. 1991. Teaneck, NJ (1991). vol. 42), p. 228-234 (1990).
[21] DAVIS (L.). – Genetic Algorithms and Simula- [36] HOFFMEISTER (F.) et BÄCK (T.). – Genetic
[7] BAECK (T.) et SCHWEFEL (H.P.). – An over-
ted Annealing. Pittman, London (1987). algorithms and evolution strategies : similari-
view of evolutionary algorithms for parame-
ties and differences. In H. P. Schwefel and
ter optimisation. Technical report. University [22] DAVIS (T.E.) et PRINCIPE (J.C.). – A simulated R. Männer, editors, Parallel Problem Solving
of Dortmund (1992). annealing like convergence theory for the from Nature – Proceedings of 1st Workshop,
[8] BANZHAF (W.). – Handbook of Evolutionary simple genetic algorithm. In Proceedings of PPSN 1, volume 496 of Lecture Notes in
Computation. Chapter Interactive Evolution, the Fourth International Conference on Gene- Computer Science, Dortmund, Germany.
Oxford University Press (1997). tic Algorithm, p. 174-182, 13-16 juil. 1991. Springer-Verlag, Berlin, Germany, p. 455-469,
[9] BEN HAMIDA (S.). – Algorithmes [23] DEB (K.) et GOLDBERG (D.E.). – An investiga- 1-3 oct. 1991.
évolutionnaires : prise en compte des tion of niche and species formation in genetic [37] HOFFMEISTER (F.) et BAECK (T.). – Genetic
contraintes et applications réelles. PhD the- function optimization. In ICGA89, p. 42-50 algorithms and evolution strategies : Simila-
sis, Université Paris-Sud XI, spécialité infor- (1989). rities and differences. Technical Report
matique, 2001, 29 mars 2001. [24] DORIGO (M.) et DI CARO (G.). – The ant SYS-1/92, University of Dortmund, févr. 1992.
[10] BOOKER (L.B.). – Recombination distribu- colony optimization metaheuristic. New [38] HOLLAND (J.H.). – Adaptation in Natural and
tions for genetic algorithms. In FOGA-92, Ideas in Optimization, D. Corne, M. Dorigo Artificial System. Ann Arbor, University of
Foundations of Genetic Algorithms, Vail, and F. Glover, editors, McGraw-Hill, p. 11-32 Michigan Press (1975).
Colorado, Email : booker@mitre.org, (1999).
[39] HORN (J.). – Finite Markov Chain Analysis of
24-29 juil. 1992. [25] DORIGO (M.), DI CARO (G.) et GAMBAR- Genetic Algorithms with Niching. IlliGAL
[11] BOURGINE (P.) et VARELA (F.J.). – Towards a DELLA (L.M.). – Ant Algorithms for discrete Report 93002, University of Illinois at Urbana
practice of autonomous systems. In Towards optimization. Artificial Life, 5 (2) : 137-172 Champaign, Department of General Enginee-
A Practice of Autonomous Systems : Procee- (1999). ring, 117 Transportation Building, 104 South
dings of the First European Conference on [26] FOGEL (D.B.). – An analysis of evolutionary Mathews Avenue, Urbana, IL 61801-2996,
Artificial Life, Paris, France, p. xi-xvii, Edited programming. In D.B. Fogel and W. Atmar, févr. 1993.
by F. J. Varela and P. Bourgine, MIT Press editors, Proceedings of the First Annual [40] HUSBANDS (P.) et MILL (F.). – Simulated
(1991). Conference on Evolutionary Programming, co-evolution as the mechanism for emergent
[12] BULL (L.) et FOGARTY (T.C.). – Co-evolving La Jolla, California, p. 43-51 (1992). planning and scheduling. San Diego, Morgan
communicating classifier systems for trac- [27] FOGEL (D.B.). – Asymptotic convergence pro- Kaufmann Publishers, p. 264-270, 13.-16. juil.
king. Innsbruck, Austria, Springer-Verlag, perties of genetic algorithms and evolutio- 1991.
Wien, p. 522-527, 13-16 avr. 1993. nary programming : Analysis and [41] DE JONG (K.A.). – Analysis of the Behavior of
[13] CERF (R.). – Une théorie asymptotique des experiments. In Journal of Mathematical Bio- a Class of Genetic Adaptive Systems. PhD
Algorithmes Génétiques. PhD thesis, Univer- logy (1992). thesis, University of Michigan, 5140B (1975).
sité Montpellier II (1994). [28] GOERTZEL (B.). – Fractal image compression [42] JULIANY (J.) et VOSE (M.D.). – The genetic
[14] CERF (R.). – Artificial Evolution, European with the genetic algorithm. Complexity Inter- algorithm fractal. Evolutionary Computation,
Conference, AE 95, Brest, France, September national, 1 (1994). 2 (2) : 165-180 (1994).
1995, Selected papers, volume Lecture Notes [29] GOLDBERG (D.E.) et SEGREST (P.). – Finite [43] KAMOHARA (S.), TAKAGI (H.) et TAKEDA (T.).
in Computer Science 1063, chapter Asympto- Markov Chain Analysis of Genetic Algo- – Control rule acquisition for an arm wrest-
tic convergence of genetic algorithms. Sprin- rithms. In Genetic Algorithms and their ling robot. In IEEE Int. Conf. on System, Man
ger Verlag, p. 37-54 (1995). Applications : Proceedings of the Second a n d C y b e r n e t i c s ( S M C ’ 9 7 ), vo l u m e 5 ,
[15] CHAPUIS (J.) et LUTTON (E.). – Artie-fract : International Conference on Genetic Algo- Orlando, FL, USA (1997).
Interactive evolution of fractals. In 4th Inter- rithms, p. 1-8 (1987). [44] KAUFFMAN (S.A.) et JOHNSEN (S.). –
national Conference on Generative Art, [30] GOLDBERG (D.A.). – Genetic Algorithms in Co-evolution to the edge of chaos : Coupled
Milano, Italy, 12-14 déc. 2001. Search, Optimization, and Machine Learning. fitness landscapes, poised states, and
[16] COHEN (N.). – Antennas in chaos : Frac- Addison-Wesley Publishing Company, inc., co-evolutionary avalanches. In A LifeII
tal-element antennas. In Fractals in Enginee- Reading, MA, janv. 1989. conference (1992).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 218 − 16 © Techniques de l’Ingénieur

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

_____________________________________________________________________________ ALGORITHMES GÉNÉTIQUES ET ALGORITHMES ÉVOLUTIONNAIRES

[45] KOZA (J.R.). – Genetic Programming. MIT solution of an inverse problem. Complex Sys- Evolutionary Computation and Its Applica-
Press (1992). tems, 3 : 37-62 (1989). tions, Moscow. Plenary Lecture (1996).
[46] KOZA (J.R.). – Evolution and co-evolution of [61] MAULDIN (M.L.). – Maintening diversity in [78] SIEGEL (E.). – Competitively evolving deci-
computer programs to control independently genetic search. In Proceeding of the National sion trees against fixed training cases for
acting agents. In Proceedings SAB90, Conference on Artificial Intelligence (1984). natural language processing. In Advances in
p. 366-375 (1990). [62] MICHALEWICZ (Z.). – Genetic Algorithms + Genetic Programming, ed. Kim Kinnear,
[47] KOZA (J.R.). – Genetic evolution and co-evol- Data Structures = Evolution Programs. Artifi- Cambridge, MA : MIT Press (1994).
ution of computer programs. In A LifeII cial Intelligence. Springer Verlag, New York [79] SIMS (K.). – Interactive evolution of dynami-
conference, p. 603-629 (1991). (1992). cal systems. In First European Conference on
[48] KRUEGER (M.). – Méthode d’analyse d’algo- Artificial Life, p. 171-178, Paris, déc. 1991.
[63] MITCHELL (M.) et FORREST (S.). – Genetic
rithmes d’optimisation stochastique à l’aide algorithms and artificial life. Artificial Life [80] SIMS (K.). – Artificial evolution for computer
d’algorithmes génétiques. PhD thesis, Télé- (1993). graphics. Computer Graphics, 25 (4) :
com Paris (1993). 319-328, juil. 1991.
[64] MONMARCHE (N.), NOCENT (G.), VENTU-
[49] LANDRIN-SCHWEITZER (Y.) et LUTTON (E.). RINI (G.) et SANTINI (P.). – Artificial Evolution, [81] SMITH (R.E.) et GOLDBERG (D.E.). – Diploidy
– Perturbation theory for evolutionary European Conference, AE 99, Dunkerque, and dominance in artificial genetic search.
algorithms : towards an estimation of France, November 1999, Selected papers. Complex Systems, 6 : 251-285 (1992).
convergence speed. In M. Schoenauer, Volume Lecture Notes in Computer Science [82] TAKAGI (H.). – Interactive evolutionary com-
K. Deb, G. Rudolf, X. Yao, E. Lutton, Merelo. 1829, chapter On Generating HTML Style putation : System optimisation based on
J.J., and H.-P. Schwefel, editors, Parallel Pro- Sheets with an Interactive Genetic Algorithm human subjective evaluation. In IEEE Int.
Parution : juin 2006 - Dernière validation : mai 2019 - Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198

blem Solving from Nature – PPSN VI 6th Based on Gene Frequencies. Springer Verlag Conf. on Intelligent Engineering Systems
International Conference, Paris, France, (1999). (INES’98), Vienna, Austria, 17-19 sept. 1998.
Springer Verlag, LNCS 1917, 16-20 sept. 2000.
[65] MUHLENBEIN (H.) et PAASS (G.). – From [83] TAKAGI (H.) et OHSAKI (M.). – Iec-based hea-
[50] LANDRIN-SCHWEITZER (Y.), COLLET (P.) et recombination of genes to the estimation of ring aids fitting. In IEEE Int. Conf. on System,
LUTTON (E.). – Interactive gp for data retrie- distributions. i. binary parameters. In Parallel Man and Cybernetics (SMC’99), volume 3,
val in medical databases. In EUROGP’03, Problem Solving from Nature (1996). Tokyo, Japan, 12-15 oct. 1999.
LNCS, Springer Verlag (2003).
[66] NETTLETON (D.J.) et GARIGLIANO (R.). – [84] TODD (S.J.P.) et LATHAM (W.). – Evolutionary
[51] LANDRIN-SCHWEITZER (Y.), COLLET (P.), Evolutionary algorithms and a fractal inverse Art and Computers. Academic Press (1992).
LUTTON (E.) et PROST (T.). – Introducing late- problem. Biosystems, 33 : 221-231. Technical
ral thinking in search engines with interactive [85] TROMPETTE (P.), MARCELIN (J.L.) et
note (1994).
evolutionary algorithms. In Annual ACM SCHMELDING (C.). – Optimal damping of vis-
[67] NIX (A.E.) et VOSE (M.D.). – Modelling gene- coelastic constrained beams or plates by use
Symposium on Applied Computing (SAC
tic algorithms with markov chains. Annals of of a genetic algorithm. In IUTAM, Zakopane
2003), Special Track on « Computer Applica-
Mathematics and Artificial Intelligence, 5 (1) : Pologne (1993).
tions in Health Care » (COMPAHEC 2003),
79-88, avr. 1992.
Melbourne, Florida, USA, du 9 au 12 mars [86] TRUVÉ (S.). – Using a genetic algorithm to
2003. [68] PELIKAN (M.), GOLDBERG (D.G.) et LOBO (F.). solve constraint satisfaction problems gene-
– A survey of optimization by building and rated by an image interpreter. In Theory and
[52] LARRANAGA (P.) et LOZANO (J.A.). – Estima-
using probabilistic models. Computational Applications of Image Analysis : 7th Scandi-
tion of Distribution Algorithms : A New Tool
Optimization and Applications, (21) : 5-20, navian Conference on Image Analysis.
for Evolutionary Computation. Kluwer, Bos-
also as IlliGAL Report No 99018 (2002). Aalborg (DK), p. 378-386, août 1991.
ton, MA (2002).
[69] POLI (R.) et LANGDON (W.B.). – Schema [87] LÉVY VÉHEL (J.) et LUTTON (E.). – Optimiza-
[53] LEBLANC (B.) et LUTTON (E.). – Bitwise regu-
theory for genetic programming with tion of fractal functions using genetic algo-
larity and gahardness. In ICEC 98, Anchorage,
one-point crossover and point mutation. Evo- rithms. In Fractal 93, London (1993).
Alaska, 5-9 mai.
lutionary Computation Journal, 6 (3) :
[54] LERICHE (R.) et HAFTKA (R.T.). – Optimization 231-252 (1998). [88] LÉVY VÉHEL (J.), DAOUDI (K.) et LUTTON
of laminate stacking sequence for buckling (E.). – Fractal modelling of speech signals.
[70] POLI (R.) et CAGNONI (S.). – Genetic pro- Fractals, 2 (3) : 379-382, sept. 1994.
load maximization by genetic algorithm.
gramming with user-driven selection : Expe-
AIAA Journal, 31 (5) : 951-969, mai 1993. [89] VENCES (L.) et RUDOMIN (I.). – Fractal
riments on the evolution of algorithms for
[55] LOUCHET (J.), GUYON (M.), LESOT (M.-J.) et compression of single images and image
image enhancement. In 2nd Annual Conf. on
BOUMAZA (A.). – Dynamic flies : a new pat- sequences using genetic algorithms. The
Genetic Programming (1997).
tern recognition tool applied to stereo Eurographics Association (1994).
[71] RECHENBERG (I.). – Evolutionsstrategie :
sequence processing. Pattern Recognition [90] LÉVY VÉHEL (J.), LUTTON (E.) et TRICOT (C.)
Optimierung Technicher System nach Prinzi-
Letter s, No 23, Elsevier Science BV (Eds). – Fractals in Engineering : From Theory
pien der Biologischen Evolution. Fromman
pp. 335-345 (2002). to Industrial Applications. Springer Verlag.
Holzboog, Stuttgart (1973).
[56] LUTTON (E.) et LÉVY VÉHEL (J.). – Hölder ISBN 3-540-76182-9 (1997).
[72] ROOKE (S.). – The evolutionary art of steven
functions and deception of genetic algo- [91] VOSE (M.). – Modelling simple genetic algo-
rooke.
rithms. IEEE transactions on Evolutionary rithms. In FOGA-92, Foundations of Genetic
http://www.azstarnet.com/~srooke/
computation, 2 (2) : 56-72, juin 1998. Algorithms, Vail, Colorado, 24-29 juil. 1992.
[57] LUTTON (E.), LÉVY VÉHEL (J.), CRETIN (G.), [73] ROTH (G.) et LEVINE (M.D.). – Geometric pri- Email : vose@cs.utk.edu
GLEVAREC (P.) et ROLL (C.). – Mixed ifs : reso- mitive extraction using a genetic algorithm.
[92] VRSCAY (E.R.). – Fractal Geometry and Ana-
lution of the inverse problem using genetic In IEEE Computer Society Conference on CV
lysis, chapter Iterated function Systems :
p r o g r a m m i n g . C o m p l e x Sy s t e m s , 9 : and PR, p. 640-644 (1992).
theory, applications and the inverse problem,
375-398, (see also Inria Research Report [74] SCHWEFEL (H.P.). – Evolutionsstrategie und p. 405-468 (1991).
No 2631) (1995). numerische Optimierung. PhD thesis, Tech-
[93] VRSCAY (R.). – Moment and collage methods
[58] LUTTON (E.) et MARTINEZ (P.). – Détection de nische Universität, Berlin, mai 1975.
for the inver se problem of fractal
primitives géométriques bidimensionnelles [75] SCHWEFEL (H.-P.). – Numerical optimization construction with iterated function systems.
dans les images à l’aide d’un algorithme of computer models. John Wiley & sons, New In Fractal 90 Conference. Lisbonne, 6-8 juin
génétique. In Évolution Artificielle, 94, Tou- York, 1995 2nd edition (1981). 1990.
louse, France, 19-23 sept. 1994. [76] SHAPIRO (J.L.) et PRÜGEL-BENNETT (A.). – [94] WILSON (S.T.). – Knowledge Growth in an
[59] LÉVY VÉHEL (J.) et LUTTON (E.). – Evolutio- Maximum entropy analysis of genetic algo- Artificial Animal. In Fir st International
nary signal enhancement based on hölder rithm operators. Lecture Notes in Computer Conference on Genetic Algorithms. Pittsburg,
regularity analysis. In EVO-IASP 2001 Works- Science, 993 : 14-24 (1995). p. 16-23 (1985).
hop, Artificial Evolution in Image Analysis [77] SHAPIRO (J.L.), RATTRAY (M.) et [95] ZITZLER (E.), DEB (K.) et THIELE (L.). –
and Signal Processing (2001). PRÜGEL-BENNETT (A.). – The statistical Comparison of multiobjective evolutionary
[60] MANTICA (G.) et SLOAN (A.). – Chaotic opti- mechanics theory of genetic algorithm dyna- algorithms : Empirical results. Evolutionary
mization and the construction of fractals : mics. In First International Conference on Computation, 8 (2) : 173-195 (2000).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur S 7 218 − 17

tiwekacontentpdf_s7218 v1 Ce document a ete delivre pour le compte de 7200055112 - universite paris 7 diderot // 81.194.22.198
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE

Techniques de l’Ingénieur propose la plus importante


collection documentaire technique et scientifique
en français !
Grâce à vos droits d’accès, retrouvez l’ensemble
des articles et fiches pratiques de votre offre,
leurs compléments et mises à jour,
et bénéficiez des services inclus.

   
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES

 + de 350 000 utilisateurs


 + de 10 000 articles de référence
 + de 80 offres
 15 domaines d’expertise
Automatique - Robotique Innovation
Biomédical - Pharma Matériaux
Construction et travaux publics Mécanique
Électronique - Photonique Mesures - Analyses
Énergies Procédés chimie - Bio - Agro
Environnement - Sécurité Sciences fondamentales
Génie industriel Technologies de l’information
Ingénierie des transports

Pour des offres toujours plus adaptées à votre métier,


découvrez les offres dédiées à votre secteur d’activité

Depuis plus de 70 ans, Techniques de l’Ingénieur est la source


d’informations de référence des bureaux d’études,
de la R&D et de l’innovation.

www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com
LES AVANTAGES ET SERVICES
compris dans les offres Techniques de l’Ingénieur

  
ACCÈS

Accès illimité Téléchargement des articles Consultation sur tous


aux articles en HTML au format PDF les supports numériques
Enrichis et mis à jour pendant Pour un usage en toute liberté Des contenus optimisés
toute la durée de la souscription pour ordinateurs, tablettes et mobiles

 
SERVICES ET OUTILS PRATIQUES

Questions aux experts* Articles Découverte Dictionnaire technique multilingue


Les meilleurs experts techniques La possibilité de consulter des articles 45 000 termes en français, anglais,
et scientifiques vous répondent en dehors de votre offre espagnol et allemand

 
Archives Impression à la demande Alertes actualisations
Technologies anciennes et versions Commandez les éditions papier Recevez par email toutes les nouveautés
antérieures des articles de vos ressources documentaires de vos ressources documentaires

*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.

ILS NOUS FONT CONFIANCE

www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com

Vous aimerez peut-être aussi