Principes Mathématiques et Utilisations des Algorithmes Génétiques

Christophe Bontemps1

18 Novembre 1995


 Home


Pdf Version
Abstract: Un algorithme génétique est un ``algorithme stochastique itératif'' qui opère sur des ensembles de points codés, à partir d'une population initiale, et qui est bâti à l'aide de trois opérateurs : croisement, mutation, sélection. Les deux premiers sont des opérateurs d'exploration de l'espace, tandis que le dernier fait évoluer la population vers les optima d'un problème. Nous détaillons ici les principes de fonctionnement de ces opérateurs ainsi que les fondements mathématiques sur lesquels ils reposent.

Ces méthodes ne se réduisent cependant pas à la simple recherche d'optima d'une fonction, et s'avèrent être également de puissants outils pour l'analyse de situations dynamiques complexes comme l'on en rencontre sur les marchés financiers, ou en théorie des jeux (voir Axelrod [6]). On peut ainsi modéliser les comportements d'agents ou de stratégies et examiner la survie et l'évolution de ceux-ci, c'est à dire l'émergence de certaines stratégies dominantes.


1   Introduction

Par définition même l'étude de l'économie se base sur l'optimisation, et les deux mots sont souvent associés. La sophistication des modèles économiques conduit de plus en plus souvent à des problèmes d'optimisation toujours plus complexes. Le seul contexte des modèles dynamiques nous fournit bon nombre de problèmes de résolution ou d'estimation. Les études économiques s'en trouvent limités, et le modélisateur doit alors incorporer des contraintes techniques pour faire face à ces problèmes. Cette situation est quelque peu paradoxale, si l'on considère l'augmentation des moyens et des puissances de calcul disponibles2.

Un grand nombre de méthodes économétriques, comme les moindres carrées généralisés et le maximum de vraisemblance, reposent sur la maximisation d'une fonction souvent complexe. Parmi toutes les méthodes d'optimisation, les méthodes de gradient sont les plus exigeantes en matière de conditions nécessaires de convergence. Ce sont des méthodes d'optimisation locales, qui connaissent une grande popularité. Pour le maximum de vraisemblance, Cramer [CRAMER], recense les désagréments possibles lors de l'application de cette méthode. L'algorithme de maximisation peut ainsi ne pas converger en un temps acceptable, il peut ``s'éloigner'' et donner des valeurs infinies pour certaines composantes des paramètres, il peut également boucler, et revenir sans cesse au même point, etc.... Ces algorithmes d'optimisation conventionnels3 (de la famille du gradient ou de Newton-Raphson) sont des algorithmes ``grimpeurs'' qui se basent sur l'évaluation préalable du gradient, la pente, pour déterminer la direction de recherche de l'optimum. Goffe et al. [16] comparent cette situation à celle d'un aveugle cherchant le sommet d'une montagne. La connaissance du terrain passe alors uniquement par ses pieds. Pour peu que le terrain soit régulier et le point de départ bon, il atteindra le sommet. Toutefois ces deux conditions sont rarement simultanément réalisées. Avec beaucoup de chance, c'est à dire avec une très bonne sensibilité et beaucoup de points de départs, il pourra atteindre le sommet pour autant que ce dernier soit unique. De plus, les hypothèses sur les fonctions à optimiser sont souvent tres fortes4, et ne sont pas vérifiées dans la pratique.

A l'inverse, les techniques de recherche aléatoires pures ne requièrent aucune hypothèse particulière sur la fonction d'évaluation et explorent l'espace sans tirer partie des propriétés de la fonction objectif. Les algorithmes génétiques et le recuit simulé se situent entre ces deux extrêmes.

Une des particularités séduisantes des algorithmes génétiques et du recuit simulé, réside dans l'absence d'hypothèses particulière sur la régularité de la fonction objectif. Aucune hypothèse sur la continuité de cette fonction n'est requise, ses dérivées successives ne sont pas nécessaires, ce qui rend très vaste le domaine d'application de ces algorithmes.

Les premiers travaux sur les algorithmes génétiques ont commencé dans les années cinquante lorsque plusieurs biologistes américains ont simulé des structures biologiques sur ordinateur. Puis entre 1960 et 1970, John Holland [18], sur la base des travaux précédents, développa les principes fondamentaux des algorithmes génétiques dans le cadre de l'optimisation mathématique. Malheureusement, les ordinateurs de l'époque n'étaient pas assez puissants pour envisager l'utilisation des algorithmes génétiques sur des problèmes réels de grande taille. L'ouvrage de Goldberg [17] qui décrit l'utilisation des algorithmes génétiques dans le cadre de résolution de problèmes concrets a permis de mieux faire connaître ces derniers et a marqué le début d'un nouvel intérêt pour ces techniques.

Le peu d'hypothèses requises sur la fonction objectif permet de traiter des problèmes très complexes. La fonction objectif peut ainsi être le résultat d'une simulation. On peut même imaginer, pour régler certains paramètres de l'algorithme génétique lui-même tels que la taille de la population, les différents pourcentages de croisement et de mutation, d'utiliser un algorithme génétique. La rapidité de convergence du premier devenant ainsi fonction d'évaluation du second.


Ces méthodes ne se réduisent cependant pas à la simple recherche d'optima d'une fonction, et s'avèrent être également de puissants outils pour l'analyse de situations dynamiques complexes comme l'on en rencontre sur les marchés financiers, ou en théorie des jeux (voir Axelrod [6]). On peut ainsi modéliser les comportements d'agents par des suites d'éléments binaires correspondant à des stratégies et examiner la survie et l'évolution de ces agents, c'est à dire l'émergence de certaines stratégies5.

Ces méthodes ne sont apparues que très récemment dans la littérature économique et économétrique. Pourtant les modèles économétriques actuels génèrent bon nombre de problèmes de maximisation sur des espaces de dimensions grandissantes. Dorsey et Mayer [12] ont ainsi étudié récemment onze problèmes économétriques classiques en utilisant six procédures de maximisation différentes et leurs conclusions sont élogieuses envers les algorithmes génétiques. Andréoni et Miller [2] ont utilisé cet outil pour organiser des enchères, remplaçant les agents par des algorithmes adaptatifs basés sur des algorithmes génétiques. De leur étude, quoique fort restrictive, résulte une meilleure connaissance des procédures menant à l'équilibre de Nash dans différent types d'enchères.

Holland et Miller [19] proposent d'étendre encore le champ de ces techniques par l'utilisation d'Agents Artificiels Adaptatifs (AAA). Ils concluent leur article ainsi :

``By executing these models (AAA) on a computer we gain (..) an opportunity to check the various unfolding behavior for plausibility, a kind of ``reality check''. Whether or not agents behave in an optimal manner, the very act of contemplating such systems will lead to important questions and answers.''
Nous proposons ici une présentation simple de ces nouveaux outils que sont les algorithmes génétiques et le recuit simulé. Notre but est d'expliquer les mécanismes généraux de ces algorithmes et d'en faire découvrir les usages et potentialités. La présente section est consacrée aux principes généraux qui animent ces algorithmes. Des illustrations mathématiques, économiques et économétriques sont présentés dans la section 4.. Nous proposons une synthèse des résultats théoriques les plus récents dans la section 5. Ces résultats sont apparus très tardivement, probablement à cause de la complexité induite par ces algorithmes et il faudra attendre 1993 pour qu'une démonstration complète et rigoureuse de convergence stochastique soit établie par R. Cerf [11]. La section 6 est consacrée aux perspectives qu'offrent ces outils dans les différents domaines de l'économie mathématique et de l'économétrie. En outre, nous donnons en appendice le traitement complet d'un exemple simple.

2   Principes

Les algorithmes génétiques sont des procédures qui s'inspirent des mécanismes de sélection naturelle et des phénomènes génétiques. Le principe de base consiste à simuler le processus d'évolution naturelle dans un environnement hostile. Ces algorithmes utilisent un vocabulaire similaire à celui de la génétique, cependant, les processus auxquels ils font référence sont beaucoup plus complexes.

On parlera ainsi d'individu dans une population. L'individu est composé d'un ou plusieurs chromosomes. Les chromosomes sont eux-mêmes constitués de gènes qui contiennent les caractères héréditaires de l'individu. Les principes de sélection, de croisement, de mutation introduits dans ce cadre artificiel, s'appuient sur les processus naturels du même nom.

Pour un problème d'optimisation donné, un individu représente un point de l'espace d'état. On lui associe la valeur du critère à optimiser. L'algorithme génère ensuite de façon itérative des populations d'individus sur lesquelles on applique des processus de sélection, de croisement et de mutation. La sélection a pour but de favoriser les meilleurs élements de la population, tandis que le croisement et la mutation assurent une exploration efficace de l'espace d'état.

2.1   Principes généraux des algorithmes génétiques

Le mécanisme consiste à faire évoluer, à partir d'un tirage initial, un ensemble de points de l'espace vers le ou les optima d'un problème d'optimisation. l'ensemble du processus s'effectue à taille de population constante, que nous notons N. Par analogie avec la génétique, on parle alors de générations successives. L'ensemble du processus s'effectue à taille de population constante, que nous notons N, de sorte que les générations successives comportent toutes N individus.

Afin de faire évoluer ces populations de la génération k à la génération k+1, trois opérations (voir figure ??) sont effectuées pour tous les individus de la génération k :

ftbpFUX13.9991cm15.0007cm0ptPrincipe général des Algorithmes GénétiquesPRINCIPEchromoso.epslanguage "Scientific Word";type "GRAPHIC";display "FRAME";valid_file "F";width 13.9991cm;height 15.0007cm;depth 0pt;cropleft "0";croptop "0.9783";cropright "1.2037";cropbottom "0";filename 'C:/CHRIS/ALGOS/CHROMOSO.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1SO4X3.EPS';

Cette procédure en trois points est ensuite renouvelée à taille de population constante. Les critères d'arrêts sont alors de deux natures :

Il est a noter qu'a ce stade, aucune certitude concernant la bonne convergence de l'algorithme n'est assuréée. Comme dans toute procédure d'optimisation l'arrêt est arbitraire, et la solution ``en temps fini'' ne constitue qu'une approximation de l'optimum.


Pour utiliser un algorithme génétique sur un problème particulier on doit disposer des cinq éléments suivants :ftbFU14.5658cm3.1302cm0ptModélisation et codagecodagecodage.epslanguage "Scientific Word";type "GRAPHIC";display "PICT";valid_file "F";width 14.5658cm;height 3.1302cm;depth 0pt;cropleft "0";croptop "1.0022";cropright "0.9998";cropbottom "-0.3082";filename 'C:/CBONVIEU/ARTICLES/DJTBK0WS.EPS';tempfilename 'C:/CHRIS/ARTICLES/DL1SO6XB.EPS';


Il s'agit donc d'un ``algorithme stochastique itératif'' qui opère sur des ensembles de points codés, à partir d'une population initiale, et qui est bâti à l'aide de trois opérateurs : croisement, mutation, sélection. Les deux premiers sont des opérateurs d'exploration de l'espace, tandis que le dernier fait évoluer la population vers les optima du problème. Nous détaillons dans la section suivante les différentes phases de l'algorithme ainsi les principes de fonctionnement de ces opérateurs.

2.2   Codage et Opérateurs

2.2.1   Coder ou ne pas coder ?

Historiquement, les individus intervenant dans un algorithme génétique étaient codés sous forme de chaînes de bits7. Ce codage binaire contenant toute l'information nécessaire à la description d'un point dans l'espace d'état (voir également Alliot et Schiex [1]). Les opérateurs précités agissent alors sur les individus codés, c'est à dire sur de chaînes de bits.

A titre d'exemple, considérons le problème de maximisation d'une fonction f(x) définie sur le domaine [0,1], dont le maximum est atteint pour x*=0.5.

Pour traiter ce problème, on associe les points du domaine [0,1] à une chaîne de bits V dont la longueur P déterminera la précision de résolution. La chaîne V sera donc composée de P éléments binaires V=(vi)i=1,..,PviÎ {0,1}. Le point xV correspondant sera défini par :
xV=
P
å
i=1
vi· 2-(i-1)

Ceci nous permet d'obtenir 2P éléments différents dans l'intervalle [0,1], ce qui nous donne une précision de 12P-1

En examinant le codage au voisinage de 0.5, on constate que deux points très proches dans l'espace d'état peuvent être codés très différemment8.

En effet :

Variable Codage
0.49999... 0111111111...
0.50000... 1000000000...

On évite cet inconvénient en utilisant un codage de Gray9.


Pour des problèmes d'optimisation dans des espaces de dimension supérieure, on concatène les chaînes de bits bout à bout. Par exemple, pour une fonction de deux variables z=f(x,y), on code x et y sur leur domaine respectif puis on concatène x et y en une chaîne unique xy. Ce type de codage fonctionne bien mais présente l'inconvénient de perdre la structure du problème en fusionnant x et y dans une chaîne unique.


Il est également possible de ne pas coder les éléments de l'espace admissible du problème. Les opérateurs agissant directement sur les éléments de la population. Ainsi, les algorithmes génétiques utilisant des vecteurs réels étudiés par Golberg [GOL91] et Wright [WRIGHT] évitent ce problème en conservant les variables du problème dans le codage de l'élément de population sans passer par le codage binaire intermédiaire. L'exemple précédent serait codé à l'aide d'un vecteur à deux dimensions, on conserve ainsi la structure du problème dans le codage.

Nous verrons par la suite comment agissent les opérateurs sur des éléments codés sous forme de chaînes de bits, et sur des éléments réels.

2.2.2   Gestion des contraintes

La gestion des contraintes liées au problème est une tâche difficile et sensible pour laquelle l'utilisateur aura à arbitrer entre différentes techniques suivant son appréhension du problème. Ces contraintes sont de diverses natures et peuvent intervenir sur l'espace d'état (contraintes de signe, restrictions à un sous-espace, etc..), ou de manière plus complexe dans le problème lui même.

Dans le cas de contraintes sur l'espace dans lequel doit se faire la recherche, on pourra sélectionner les individus rapidement (sans avoir à les réévaluer) par différentes méthodes. Un individu ``hors champ'' pourra être :

Enfin il est bon de noter qu'il peut être préférable de garder des individus ``hors champ''mais qui conservent une direction originale, plutôt que de confiner la population à un sous-espace.

Dans l'hypothèse où la gestion des contraintes ne peut se faire directement, les contraintes peuvent être incluses dans le critère à optimiser sous forme de pénalités. Ainsi, un individu qui viole une contrainte se verra attribuer une mauvaise fitness et sera donc éliminé, avec une forte probabilité, par le processus de sélection (voir section 2.2.4). Cette façon de gérer les contraintes est difficile. En effet, inclure les contraintes dans la fonction d'évaluation peut se faire de diverses façons, et un ``dosage'' s'impose pour ne pas favoriser la recherche de solutions admissibles au détriment de la recherche de l'optimum ou inversement. On risque alors de fournir une solution admissible certes, mais éloignée de l'optimum.

2.2.3   Génération aléatoire de la population initiale

Comme dans tout problème d'optimisation, une connaissance de ``bons'' points de départ conditionne la rapidité de la convergence vers l'optimum.

Si la position de l'optimum dans l'espace d'état est totalement inconnue, il est naturel de générer aléatoirement des individus en faisant des tirages uniformes dans chacun des domaines associés aux composantes de l'espace d'état, en veillant à ce que les individus produits respectent les contraintes.

Si par contre, des informations a priori sur le problème sont disponibles, il parait bien évidemment naturel de générer les individus dans un sous-domaine particulier afin d'accélérer la convergence.

Une nouvelle fois, les contraintes du problème pourront être incorporées (ou non) dans le tirage de la génération initiale.


Disposant d'une population d'individus non homogène, la diversité de la population doit être entretenue au cours des générations afin de parcourir le plus largement possible l'espace d'état, c'est le rôle des opérateurs de croisement et de mutation. Toutefois cette méthode diffère de la méthode de recherche aléatoire, puisque les générations successives doivent être évaluées et modifiées afin de converger, c'est ici qu'intervient l'opérateur de sélection.

2.2.4   Sélection

La sélection permet d'identifier statistiquement les meilleurs individus d'une population et d'éliminer les mauvais. On trouve dans la littérature un nombre important de principes de sélection plus ou moins adaptés aux problèmes qu'ils traitent. Les trois principes de sélection suivants ont retenu notre attention :

Ordonnancement (Ranking)



C'est le principe de sélection le plus simple, il consiste à attribuer à chaque individu son classement par ordre d'adaptation. Le meilleur (c'est à dire celui qui possède la meilleure fitness) sera numéro un, et ainsi de suite. On tire ensuite une nouvelle population dans cet ensemble d'individus ordonnés, en utilisant des probabilités indexées sur les rangs des individus. Cette procédure semble toutefois assez simpliste et exagère le rôle du meilleur élément au détriment d'autres élément potentiellement exploitables. Le second, par exemple, aura une probabilité d'être sélectionné nettement plus faible que celle du premier, bien qu'il puisse se situer dans une région d'intérêt. Des procédures plus évoluées permettent de pondérer cette dominance des meilleurs éléments, c'est le cas des principes de roulette.

Roue de la fortune (Roulette wheel selection)





Le principe de la Roue de la fortune consiste à associer à chaque individu q i une probabilité Pi proportionnelle à sa fitness f(q i) dans la population. Cette probabilité pourra être calculée comme :
Pi=
S ( f(q i) )
N
 
j=1
S ( f(q j) )

S est une fonction régulière et croissante, au sens large.


Chaque individu est alors reproduit avec la probabilité Pi, certains individus (les ``bons'') seront alors ``plus'' reproduits et d'autres (les ``mauvais'') éliminés.


Remarque :


Dans la pratique, il est aisé de tirer N individus, affectés de la probabilité Pi, parmi N avec remise. Pour cela, on associe à chaque individu un segment dont la longueur est proportionnelle à sa fitness (ou à S(f(q i)), plus exactement). On reproduit ici le principe de tirage aléatoire utilisé dans les roulettes de foire10 avec une structure linéaire. Ces segments sont ensuite concaténés sur un axe que l'on normalise entre 0 et 1 (voir figure ??). On tire alors un nombre aléatoire, de distribution uniforme entre 0 et 1, puis on ``regarde'' quel est le segment sélectionné. Avec ce système, les grands segments, c'est-à-dire les bons individus, seront plus souvent adressés que les petits, on privilégie ainsi les individus ayant une forte fitness au détriment des individus moins forts, tout en gardant une structure aléatoire, voir également l'exemple élémentaire détaillé en annexe..

Dans l'exemple présenté ci-dessous, la probabilité théorique de sélectionner l'individu q 5 est de 20 pour cent11.


Exemple :
Indices 1 2 3 4 5 6 7 8 9 10
Pop. initiale q 1 q 2 q 3 q 4 q 5 q 6 q 7 q 8 q 9 q 10
Fitness 3.2 0.5 0.2 1.5 2.5 0.3 0.2 0.4 1.5 0.3
Proba. Pi 0.30 0.04 0.01 0.14 0.23 0.02 0.01 0.03 0.14 0.02
Nouvelle pop. q 1 q 4 q 2 q 6 q 9 q 5 q 1 q 9 q 5 q 7

Mais au regard de la faible dimension de cette population (10) on constate qu'il sera difficile d'obtenir cette espérance mathématique de sélection en raison du peu de tirages effectués. Un biais de sélection plus ou moins fort existe suivant la dimension de la population. Certains individus sont ainsi représentés plusieurs fois (q 5, q 1), tandis que d'autres disparaissent (q 10, q 3,..), d'autres enfin survivent ``par chance'', bien qu'ayant un adaptation faible (q 7). La roue modifiée permet d'éviter ce genre de problèmes.

Roue modifiée (Stochastic remainder without replacement)



Décrivons ce principe de sélection à l'aide de l'exemple simple proposé ci-dessus (N=10) :ftbFUX12.2813cm6.0583cm0ptSélection de la roue de la fortunerouletteroulette.epslanguage "Scientific Word";type "GRAPHIC";display "USEDEF";valid_file "F";width 12.2813cm;height 6.0583cm;depth 0pt;cropleft "0";croptop "1.0002";cropright "0.9996";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/ROULETTE.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1SAH2B.EPS';

Le principe consiste à créer un sous-tableau TM un tableau de dimension M (M<N) tel que :

Sur notre exemple, µ =1.06, ainsi l'individu aura 3 représentants dans ce tableau (f( q 1) /µ =3.01). Pour notre exemple, TM est de dimension M=7 :
Indices du tableau 1 2 3 4 5 6 7
Individus q 1 q 1 q 1 q 4 q 5 q 5 q 9

La création de ce tableau est purement déterministe. L'assurance d'un nombre précis de représentants pour la génération suivante élimine le biais du principe de sélection décrit précédemment. L'ajout d'un principe aléatoire permet de ne pas éliminer complètement les mauvais individus. En effet, dans la pratique, ces individus sont nécessaires car ils peuvent occuper des positions stratégiques pour l'obtention de l'optimum. Le tableau TM est alors étendu à TN de dimension N, de la façon suivante :

Sur notre exemple, TM pourrait être complété de la façon suivante :
Indices du tableau 1 2 3 4 5 6 7 8 9 10
Individus q 1 q 1 q 1 q 4 q 5 q 5 q 9 q 1 q 3 q 6

A cette étape du processus, on dispose déjà de ``bons'' individus pour la nouvelle population, certains ont déjà été éliminés (comme q 2, q 7, et q 10). Pour assurer la non homogénéité de la population, on effectue un brassage aléatoire du tableau d'indices TN avant de reconstituer la nouvelle population et d'élargir la recherche à l'aide des opérateurs de croisement et de mutation.

2.2.5   Croisement

Le croisement a pour but d'enrichir la diversité de la population en manipulant les composantes des individus (chromosomes). Classiquement, les croisements sont envisagés avec deux parents et génèrent deux enfants.

Initialement, le croisement associé au codage par chaînes de bits ou chromosomes, est le croisement à découpage de chromosomes (slicing crossover). Pour effectuer ce type de croisement sur des chromosomes constitués de M gènes, on tire aléatoirement une position de découpage. On échange ensuite les deux sous-chaînes terminales de chacun des deux chromosomes (les parents) P1 et P2, ce qui produit deux nouveaux chromosomes (les enfants) C1 et C2 (voir figure ?? ).ftbFUX10.379cm9.988cm0ptCroisement chromosomique à un pointchromosochromoso.epslanguage "Scientific Word";type "GRAPHIC";display "FULL";valid_file "F";width 10.379cm;height 9.988cm;depth 0pt;cropleft "0";croptop "1.0003";cropright "0.9998";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/CHROMOSO.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RT8XI.EPS';

On peut étendre ce principe en découpant le chromosome non pas en deux sous-chaînes mais en trois, quatre, etc.. Ce type de croisement est illustré par la figure ?? (voir Bridges et Goldberg [BRID]).ftbhFUX13.6169cm7.6311cm0ptCroisement chromosomique à deux pointschromoso2slicing2.epslanguage "Scientific Word";type "GRAPHIC";display "FULL";valid_file "F";width 13.6169cm;height 7.6311cm;depth 0pt;cropleft "0";croptop "1.0005";cropright "0.9995";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/SLICING2.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RTBAL.EPS';

Le croisement à découpage de chromosomes est très rapide à mettre en oeuvre lorsqu'on travaille sur des problèmes utilisant des codages entiers (binaires ou autres).

Pour les problèmes où l'on utilise un codage réel, un croisement ``barycentrique'' est souvent utilisé. Deux parents P1et P2 sont sélectionnés ;  deux nouveaux points sont créés sur la droite qui les relie créant ainsi C1 et C2 de la façon suivante (voir également la figure ??) :

ì
í
î
C1=a P1+(1-a )P2
C2=(1-a )P1+a P2

a est un coefficient de pondération aléatoire adapté au domaine d'extension des gènes12.

Le croisement barycentrique permet de générer des points entre, ou à l'extérieur des deux éléments considérés. Toutefois ce type de croisement peut connaître des limitations importantes si les individus se situent sur la même droite (ou plus généralement dans le même sous espace). L'opérateur de croisement, utilisé seul, ne permet alors pas de rechercher les nouveaux éléments en dehors de cette droite.


Dans le cas particulier d'un chromosome matriciel constitué par la concaténation de vecteurs, on peut étendre ce principe de croisement aux vecteurs constituant les gènes. Deux composantes P1(i) et P2(i) sont sélectionnés dans chacun des parents à la même position i. Ils définissent deux nouveaux éléments par pondération. On crée ainsi C1(i) et C2(i) de la façon suivante  : ftbhFX9.2082cm10.6954cm0ptBARYcroiseme.epslanguage "Scientific Word";type "GRAPHIC";display "FULL";valid_file "F";width 9.2082cm;height 10.6954cm;depth 0pt;cropleft "0";croptop "1.0003";cropright "1.0003";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/CROISEME.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RTF2T.EPS';

ì
í
î
C1(i) = a P1(i) + (1 - a) P2(i)
C2(i) = (1 - a) P1(i) + a P2(i)

On peut imaginer et tester des opérateurs de croisement plus ou moins complexes sur un problème donné mais l'implémentation de ces principes est souvent liée intrinsèquement au problème.


Remarque :


Cette méthode de diversification des éléments rappelle la méthode du simplexe ou des polytopes. Dans cette méthode, les solutions du problèmes sont recherchée de manière itérative en considérant une population initiale13 constituant des sommets de polytopes de l'espace d'état et où les éléments successifs sont construits de manière barycentriques. Nous pouvons pousser la comparaison, puisque les éléments sont réévalués après cette diversification dans les deux méthodes. Les algorithmes génétiques offrent cependant un aspect stochastique important (les éléments sont reproduits avec la probabilité Pc) et une efficacité supérieure.

2.2.6   Mutation

L'opérateur de mutation apporte aux algorithmes génétiques l'aléa nécessaire à une exploration efficace de l'espace. Cet opérateur nous garantit que l'algorithme génétique sera susceptible d'atteindre tous les points de l'espace d'état, sans pour autant les parcourir tous dans le processus de résolution. Ainsi, en toute rigueur, l'algorithme génétique peut converger sans croisement, et certaines implantations fonctionnent de cette manière (Fogel et al.[FOGEL]) et sont conformes aux résultas théoriques de R. Cerf [11], voir section 5. Les propriétés de convergence des algorithmes génétiques sont donc fortement dépendantes de cet opérateur.

Pour bien comprendre l'utilité de l'opérateur de mutation, considérons un problème discret pour lequel les individus sont codés sous forme de chaînes chromosomiques constituées de trois valeurs entières et prenons une population de dix individus. On suppose de plus que le croisement utilisé est un croisement à découpage de chromosomes à un point peu importe lequel. Si par malchance, la population initiale ne présente pas de ``7'' en troisième position, par exemple :
q 1: 5 4 0
q 2: 7 3 3
q 3: 4 6 6
q 4: 2 7 4
q 5: 6 8 5
q 6: 5 5 2
q 7: 9 8 8
q 8: 4 9 9
q 9: 7 3 0
q 10: 8 2 3

et que l'optimum se trouve en ``4.5.7'' , il est impossible d'atteindre ce point avec l'opérateur de croisement. L'opérateur de mutation permet alors de faire varier aléatoirement la valeur des composantes de ces termes, c'est à dire des gènes.

La mutation consiste généralement à tirer aléatoirement un gène dans le chromosome et à le remplacer par une valeur aléatoire (voir ci dessous). Si la notion de distance existe, cette valeur peut être choisie dans le voisinage de la valeur initiale. Dans le cas d'éléments codés en binaire, on remplacera la valeur ``0'' par ``1'' et vice-versa.

element initial  
g1
g2
·
·
gi
gi+1
·
·
·
gn
¾® æ
ç
ç
ç
ç
ç
è
mutation de gi
 
gi g
 
 
i
ö
÷
÷
÷
÷
÷
ø
¾®
g1
g2
·
·
gi
gi+1
·
·
·
gn
   element mute



Dans les codages réels, on procède un peu de la même manière en tirant aléatoirement un élément, auquel on ajoute un bruit aléatoire en veillant à ce que l'élément résultant reste dans le domaine d'extension qui lui est propre.

Le choix pratique des probabilités Pm et Pc dépend de la complexité du problème étudié, cependant il parait souhaitable de faire dépendre ces paramètres de la génération courante, afin d'explorer plus largement l'espace, au ``début'' de l'algorithme, et moins sur la ``fin''.


Comme nous l'avons déjà précisé, les opérateurs de croisement et de mutation ne font pas intervenir la fonction à optimiser, ce sont des opérateurs stochastiques d'exploration du domaine admissible. C'est l'opérateur de sélection qui guide la population vers les valeurs élevées de la fonction.

3   Améliorations classiques

3.1   Introduction

Les processus de sélection présentés sont très sensibles aux écarts d'adaptation entre individus et dans certains cas, un très bon individu risque d'être reproduit trop souvent et peut même provoquer l'élimination complète de ses congénères ; on obtient alors une population homogène contenant un seul type d'individu. Ainsi, dans l'exemple de la figure ?? le second mode M2 risque d'être le seul représentant pour la génération suivante et seule la mutation pourra aider à atteindre l'objectif global M1 au prix de nombreux essais successifs.ftbhFUX10.0012cm7.9891cm0ptExemple où les sélections classiques risquent de ne reproduire qu'un individuselectionhyper.epslanguage "Scientific Word";type "GRAPHIC";maintain-aspect-ratio TRUE;display "FRAME";valid_file "F";width 10.0012cm;height 7.9891cm;depth 0pt;cropleft "0";croptop "0.5544";cropright "0.7044";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/HYPER.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RTQL1.EPS';

Pour éviter ce comportement, il existe d'autres modes de sélection ainsi que des principes (scaling, sharing) qui empêchent les individus ``forts'' d'éliminer complètement les plus ``faibles''.

3.2   Scaling

Le scaling ou mise à l'échelle, modifie les fitness afin de réduire ou d'amplifier artificiellement les écarts entre les individus. Le processus de sélection n'opère plus sur la fitness réelle mais sur son image après scaling. On souhaite ainsi aplatir ou dilater la fonction d'évaluation. La perte de précision14 qui s'ensuit est au prix d'une meilleure convergence.

Parmi les fonctions de scaling, on peut envisager le scaling linéaire et le scaling exponentiel.

3.2.1   Scaling linéaire

Dans ce cas la fitness initiale fr est redéfinie en une nouvelle fitness fs par l'opération homothétique suivante (voir Michalewicz [21])

fs = a fr +b

En règle générale, le coefficient a est inférieur à un, ce qui permet de réduire les écarts de fitness et donc de favoriser l'exploration de l'espace. Par contre ce scaling est statique par rapport au numéro de génération et pénalise la fin de convergence lorsque l'on désire favoriser les modes dominants.

3.2.2   Scaling exponentiel

Il est défini de la façon suivante  (voir figure ??):

fs=(fr)n(k)

ftbhFUX8.9688cm8.9688cm0ptFonction de scaling exponentiellescalingfscalin2.epslanguage "Scientific Word";type "GRAPHIC";display "FRAME";valid_file "F";width 8.9688cm;height 8.9688cm;depth 0pt;cropleft "0";croptop "0.9998";cropright "0.9998";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/FSCALIN2.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RTUP6.EPS';

k est la génération courante.

Dans la pratique, on fait généralement varier n(k) des faibles valeurs vers les fortes valeurs au cours des générations. Pour cela on utilise une fonction de type de celle représentée par la figure ??, et dont la formule est donnée par :

n(k)=a 1 æ
ç
ç
è
tan
é
ê
ê
ë
æ
ç
ç
è
k
K+1
ö
÷
÷
ø
p
2
ù
ú
ú
û
ö
÷
÷
ø
a 2



 

k étant la génération courante, K le nombre total de générations prévues, et a 1et a 2 sont des paramètres à choisir. L'évolution de n(k) en fonction de la génération k est donnée par la figure ??.ftbhFUX12.3824cm6.4625cm0ptAllure de l'évolution de n(k) en fonction des générationsCOURBEfscalin1.epslanguage "Scientific Word";type "GRAPHIC";display "FRAME";valid_file "F";width 12.3824cm;height 6.4625cm;depth 0pt;cropleft "0";croptop "1";cropright "1.0003";cropbottom "0";filename 'C:/CBONVIEU/ARTICLES/DJTDPQRO.EPS';tempfilename 'C:/CHRIS/ARTICLES/DL1RTUBK.EPS';

Ce dernier principe de scaling donne dans la pratique de meilleurs résultats que le scaling linéaire. Dans le cas des fonctions objectifs possédant plusieurs modes et présentant des optimaux quasi équivalents, cette technique de scaling, en amplifiant les écarts de fitness en fin de convergence, va effectivement favoriser le mode dominant mais aussi masquer les modes sous-optimaux qui peuvent tout de même présenter un intérêt. Le scaling permet donc une bonne exploration de l'espace d'état mais ne favorise pas la répartition des individus sur les différents optima de la fonction objectif. Cette répartition souhaitable est obtenue en utilisant l'opérateur de partage.

3.3   Partage (sharing)

L'objectif du partage est de répartir sur chaque sommet de la fonction à optimiser, un nombre d'individus proportionnel à la fitness associée à ce sommet. La figure ?? présente deux exemples de répartitions de populations dans le cas d'une fonction à cinq sommets : le premier sans partage, le second avec partage.ftbhFUX13.9991cm6.9984cm0ptObjectif du ``partage''sharingobjeshar.epslanguage "Scientific Word";type "GRAPHIC";maintain-aspect-ratio TRUE;display "USEDEF";valid_file "F";width 13.9991cm;height 6.9984cm;depth 0pt;cropleft "0";croptop "1.0012";cropright "1.0004";cropbottom "-0.3371";filename 'C:/CBONTEMP/ARTICLES/GRAPH/OBJESHAR.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RTW6N.EPS';

3.3.1   Principe

De la même façon que le scaling, le partage consiste à modifier la fitness utilisée par le processus de sélection. Pour éviter le rassemblement des individus autour d'un sommet dominant, le partage pénalise les fitness en fonction du taux de concentration (voir la remarque ci-dessous) de la population dans le voisinage d'un individu. Plus cet individu est entouré, plus on pénalisera sa reproduction15. Il requiert l'introduction d'une notion de distance. Dans la pratique, il faut définir une distance indiquant la dissimilarité entre deux individus. Ce qui n'est pas toujours chose facile16. Cette distance est alors utilisée pour calculer la nouvelle fitness de la façon suivante :

f
 
 
(q i)=
f(q i)
m
 
 
i
   ou    m
 
 
i
=
N
å
j=1
S ( d(q i,q j) )     (1)
avec
S(d)= ì
ï
ï
í
ï
ï
î
1- ( ds share )
a
 
 
  si   d<s share
     
0   si   d>s share

Le paramètre s share permet de délimiter le voisinage d'un point et dépend du problème traité. La figure ?? donne l'allure de S(d) pour différentes valeurs de a .


Remarque :


Ce calcul du terme pénalisant (au dénominateur) est très proche d'un calcul de densité par estimation non paramétrique. Le dénominateur mi intervenant en (3.3.1), jouant le rôle d'estimateur de la densité autour de l'individu q i, la fonction S faisant office de noyau et s share de fenêtre. Il s'agit donc d'un opérateur qui pondère la fitness d'un individu par l'inverse de sa densité. On pénalise donc bien les individus se situant dans une zone ``dense''.


Suivant la valeur donnée à a le partage sera plus ou moins efficace. Ainsi pour a <1, on pénalise les groupes très agglomérés. A titre d'exemple, la figure ?? donne les fitness moyennes après partage pour deux répartitions possibles d'une population, dans le cas d'une fonction bi-modale (dans le cas 1, tous les points sont sur le même sommet, dans le cas 2 les points sont répartis sur les deux sommets). Le cas 2 donne une fitness moyenne, sur les individus, double de celle du cas 1, ce qui justifie l'intérêt du partage.ftbhFUX11.3543cm5.2675cm0ptAllure de S( ds share)S(d)sharing1.epslanguage "Scientific Word";type "GRAPHIC";display "FRAME";valid_file "F";width 11.3543cm;height 5.2675cm;depth 0pt;cropleft "0";croptop "1.0015";cropright "1.0001";cropbottom "-0.5061";filename 'C:/CBONTEMP/ARTICLES/GRAPH/SHARING1.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RU1BZ.EPS';

Dans la pratique ce type de partage donne effectivement de bons résultats mais au prix de N2 calculs de distances entre chromosomes à chaque génération pour une population de taille N. Or les algorithmes génétiques induisent une complexité en N sans partage et le fait de passer en N2 est très pénalisant.ftbhFUX12.457cm9.7266cm0ptInfluence du partage dans le cas d'une fonction bi-modalesharing2.epslanguage "Scientific Word";type "GRAPHIC";display "FULL";valid_file "F";width 12.457cm;height 9.7266cm;depth 0pt;cropleft "0";croptop "0.9999";cropright "1";cropbottom "0";filename 'C:/CBONTEMP/ARTICLES/GRAPH/SHARING2.EPS';file-properties "NPEU";tempfilename 'C:/CHRIS/ARTICLES/DL1RU2T9.EPS';

Pour réduire ce nombre de calculs , on utilise un partage par ``bouquets17''.

3.3.2   Partage par bouquets (Clustered sharing)

Pour effectuer ce type de partage (voir [AGSH6]), on commence par identifier les différents ``bouquets '' d'individus dans la population. On utilise pour cela utilise deux paramètres dmin et dmax afin de fusionner des bouquets ou en créer de nouveaux. Initialement, chaque individu de la population est considéré comme le centre d'un bouquet. On applique alors successivement deux principes, l'un intervenant sur les bouquets, le second sur les individus eux-mêmes :

Ce principe de fusion-agrégation permet d'obtenir un nombre de bouquets fluctuant avec la répartition des individus dans l'espace d'état. On applique ensuite le principe de partage en modifiant les fitness de la façon suivante :

f
 
 
i
=
fi
m
 
 
i
;   ou   m
 
 
i
=nc æ
ç
ç
ç
ç
ç
è
1- æ
ç
ç
è
dic
2dmax
ö
÷
÷
ø
a



 
ö
÷
÷
÷
÷
÷
ø

avec

Ces améliorations ont été développées au sein du LOG18

Remarque :


La quantité mi représente une sorte de densité intra-bouquet, on cherche ainsi à pénaliser les bouquets trop denses ou trop importants au profit de bouquets plus petits, qui peuvent révéler des optimums locaux.


On montre que ce type de partage induit une complexité en O(Nlog N) (voir e.g.[AGSH6]), pour des résultats tout à fait comparables à ceux fournis par le partage classique. Dans la pratique, on remarque que le réglage des coefficients dmin et dmax est assez délicat car l'efficacité de ces derniers dépend essentiellement de la connaissance a priori des distances entre les optimums dans l'espace d'état, distance inconnue qu'il est très difficile d'estimer.

3.4   Algorithmes génétiques et recuit simulé

3.4.1   Introduction

Les algorithmes génétiques et le recuit simulé étant deux techniques d'optimisation stochastique travaillant sur les mêmes types de problèmes, il est logique de chercher à les associer afin de tirer partie de leurs avantages respectifs. Il semble (voir Chansou [CHANSOU]) que le recuit simulé converge plus vite vers la solution optimale mais ne donne qu'une solution dans le cas des problèmes à optimums multiples, ceci confirme les résultats donnés dans  ??? [AGRS4]. A l'inverse, les algorithmes génétiques fournissent plusieurs solutions quasi-optimales mais au prix d'un temps de convergence plus long. Il semble alors naturel d'associer ces deux techniques afin d'améliorer la convergence des algorithmes génétiques.

Il y a eu de nombreuses tentatives de fusion entre les algorithmes génétiques et le recuit simulé, les travaux les plus intéressants étant ceux de Mahfoud et Goldberg [AGRS3].

3.5   Recuit simulé

3.5.1   Principe

3.6   Croisement avec recuit

3.6.1   Principe du croisement avec recuit simulé

Pour appliquer ce principe de croisement, on commence par sélectionner deux parents P1 et P2 dans la population (voir figure ??). On applique ensuite l'opérateur de croisement classique qui génère deux enfants C1 et C2. Un tournoi est alors effectué entre les parents et les enfants pour lequel les deux vainqueurs sont sélectionnés par le schéma de recuit suivant. On considère l'individu C1. On tire ensuite aléatoirement un des deux parents, soit Pi ce parent :

On fait de même pour C2 avec le parent restant et l'on détermine ainsi deux individus C1 et C2.

L'évolution de la variable tn se fait de la façon suivante. On utilise un schéma de recuit standard géométrique à un palier de basculement. Pratiquement, on calcule trois ``températures'' dont les valeurs dépendent de la connaissance des écarts min et max des fitness de la population initiale.

ì
í
î
ts=-D fmax
ln ( 1k-1 )
k=0.75 Température initiale
tx=-D fmax
ln ( 1k-1 )
k=0.99 Température de basculement
tf=-D fmin
ln ( 1k-1 )
k=0.99 Température finale

D fmin, D fmax représentent les écarts minimum et maximum des fitness de la population initiale. Le schéma géométrique fait évoluer la température courante de la façon suivante :

ì
í
î
t0=ts
tn+1=a 1tn   pour   ts >tn > tx;
tn+1=a 2tn   pour   tx >tn > tf;

avec 0 < a 1 < a 2 < 1 .

Pour chaque palier, on calcule le nombre d'itérations de stabilisation à l'aide des formules :

N1=
ln ( txts )
ln a 1
N2=
ln ( tftx )
ln a 2

Ces deux formules, nous permettent de calculer le nombre total de générations pour un problème donné.

4   Utilisation et exemples

Comme nous l'avons déjà remarqué ces techniques permettent de fournir des éléments de population correspondant à une ``zone optimale'' pour un problème donné. Ces éléments, ou individus, ne donnent pas précisément une solution du problème mais des positions proches de l'optimum. C'est en sens qu'il faut interpréter les algorithmes de façon pratique. Ainsi, lorsqu'on utilise un algorithme génétique dans une optique de maximum de vraisemblance par exemple, il convient de prolonger cette procédure par un algorithme classique ``grimpeur'', afin d'augmenter la précision de la recherche et d'obtenir le(s) maximum(s) de manière précise (voir Goffe et al. [16], ou Dorsey et Mayer [12]).

Dans un cadre économique, il s'agira moins de déterminer le maximum précisément que d'en comprendre la signification. En effet, si l'on modélise la stratégie d'un joueur par ses actions passées dans un jeu répété, la population initiale comportera des éléments interprétables, puisque issus de comportements théoriques que l'on souhaite examiner. Il n'en sera pas de même de la population après quelques générations, les opérateurs de croisement et de mutation ayant effectué des bouleversements importants dans la structure même des individus (voir Andreoni et Miller [2], ou les vulgarisations autour du dilemme du prisonnier [SCIENCE1] et [SCIENCE2]).

Ces mêmes algorithmes génétiques peuvent également être utilisés comme aides à la décision dans une situation évoluant rapidement, on ne demande alors pas la meilleure solution mais une solution raisonnable dans un temps limité. Cette situation, qui est à l'étude dans le cadre de procédures d'évitement d'avions (voir Durand[13]), pourrait également s'appliquer aux marchés financiers.


Nous proposons ici une revue d'ensemble des problèmes économiques et économétriques traités, en totalité ou en partie, par algorithme génétique.

Optimisation (Alliot et Schiex [1])

Economie : Exemple du dilemme du prisonnier d'Axelrod [6] et des enchères d'Andréoni et Miller [2]

Econométrie 11 exemples( Dorsey et Mayer [12]) +2 en projet (avec C. Bisiere et E. Malin).

Autres : Evitement des avions (Durand [13]), Othello (Alliot et Schiex [1]), Sectorisation (Delahaye [DELA]), etc..

5   Résultats théoriques

Les algorithmes génétiques ont monté leur efficacité pratique bien avant que les résultats de convergence théorique ne soient établis. Nous disposons aujourd'hui de trois approches théoriques différentes permettant de mieux comprendre le fonctionnement des algorithmes génétiques, ces trois approches donnant des résultats asymptotiques.

Cette dernière approche est la plus satisfaisante tant sur le plan mathématique, que sur celui de la modélisation, les différents opérateurs étant présentés comme ``perturbant'' un processus Markovien représentant la population à chaque étape. Ici encore il est démontré l'importance de l'opérateur de mutation, le croisement pouvant être totalement absent. Nous présentons ici une version simplifiée de cette théorie et les principaux résultats de convergence.

5.1   Modélisation de l'algorithme génétique

Les principaux résultats asymptotiques portant directement sur les algorithmes génétiques, ont étés développés par R. Cerf [11] sur la base des travaux de Catoni [10] et de Trouvé [24]. Ces travaux se fondent sur la théorie des petites perturbations aléatoire d'un processus dynamique de type Markovien. Plus particulièrement, la théorie de Freidlin et Wentzell [15] constitue la pierre d'angle de ces études. Nous donnons ici, quelques résultats particulièrement révélateurs de la dynamique des algorithmes génétiques, développés par Cerf. Nous les présentons simplifiés et dans un cadre restreint, laissant le lecteur intéressé se reporter à la difficile lecture des références citées ici.


Afin de préciser le cadre de cette section, nous travaillerons ici sur la base d'un codage binaire à , P représente le nombre d'éléments binaires (bits) utilisés pour le codage(voir section 2.2 pour plus de détails). La fonction d'évaluation, f sera donc définie sur l'espace E={0,1}P à valeurs dans R+. Le problème est donc de localiser l'ensemble des maxima (globaux ou non) de f , ou, à défaut, de trouver rapidement et efficacement des régions de l'espace, où se situent ces maxima.

Comme nous l'avons vu l'algorithme génétique est un algorithme stochastique itératif qui opère sur des ensembles de points, et qui est bâti à l'aide de trois opérateurs: mutation, croisement et sélection, que nous présentons plus formellement a présent.

5.2   Description rapide de l'algorithme

Soit N la taille (fixe) de la population, notons Xk la population de la génération k : il s'agit d'une matrice Xk=(Xk1,Xk2,.. XkN) de EN dont les N éléments sont des vecteurs (chromosomes) de taille P composés de 0 et de 1(les gènes)19. Le passage de la génération k à la génération k+1, c'est à dire de Xk à Xk+1 se décompose en trois étapes :
Xk
   Mutation  
¾®
 
Yk
   Croisement  
¾®
 
Zk
   Selection  
¾®
 
Xk+1

chacune de ces étapes peur être modélisée formellement.

5.2.1   Mutation Xk¾® Yk

L'opérateur considéré ici est l'opérateur de mutation chromosomique binaire (voir section ??). Pour chaque composante de chaque élément Xki, une variable de Bernouilli de paramètre Pc est tirée indépendamment et suivant le résultat l'élément binaire examiné est changé ou non. S'il y a mutation les ``0" sont changés en ``1'' et vice versa.

La probabilité Pc est la probabilité de mutation doit être préalablement choisie et est généralement ``faible''.


Comme nous le verrons par la suite, cet opérateur joue un rôle clé dans la convergence de l'algorithme génétique.

5.2.2   Croisement Yk¾® Zk

L'opérateur étudié ici est l'opérateur chromosomique à un point de découpage (slicing crossover). Ici encore, un paramètre Pm est fixé initialement, c'est la probabilité de croisement. Pour construire la population Zk, N/2 couples sont formés à partir de la population Yk (par exemple en appariant les individus consécutifs de Yk, ou bien en choisissant au hasard et uniformément des individus dans Yk). Pour chaque couple, une variable de Bernoulli de paramètre Pm est tirée pour décider si le croisement a lieu. Si c'est le cas, un site de coupure est tiré au hasard, et les segments finaux des deux chromosomes sont échangés.

Une nouvelle paire d'individus est ainsi obtenue (identique à l'ancienne s'il n'y a pas eu de croisement) et est stockée dans la population Zk. En général, le paramètre Pm est choisi ''grand''.


Remarquons que les opérateurs de mutation et de croissement ne font pas intervenir la fonction f, ce sont des opérateurs stochastiques d'exploration. C'est le troisième et dernier opérateur, la sélection, qui guide la population vers les valeurs élevées de la fonction f.

5.2.3   Sélection Zk¾® Xk+1

Les N individus de la population Xk+1 sont obtenus d'après la sélection effectuée sur les individus de Zk. On sélectionne ainsi les ``meilleurs'' individus de Zk, indépendamment à l'aide d'une distribution de probabilité qui favorise les individus de Zk les mieux adaptés.

Le choix le plus fréquent est l'unique distribution telle que la probabilité d'un individu soit proportionnelle à son adaptation, i.e la probabilité de sélection de l'individu Zki est :
Pi=P(Zki)=
f(Zki)
N
 
j=1
f(Zkj)

En tirant les individus dans la population Zk conformément aux probabilités Pi, on constitue la nouvelle génération Xk+1.

5.3   Modélisation

La présentation rapide des opérateurs nous permet de modéliser la suite des (Xk)kÎ N en une chaîne de Markov, d'espace d'états E=( {0,1}P) N. L'algorithme génétique ne doit donc pas être interprété comme une procédure d'optimisation mais plutôt comme une marche aléatoire dans l'espace d'état, attirée vers les fortes valeurs de f .

La propriété première de cette formalisation est que la loi de Xk est déterminée de manière unique par :

Ce mécanisme de transition possède toutefois des propriétés essentielles qui font l'intérêt et la puissance de cette formalisation, voir Cerf ([11], chapitre 1) :

Ces propriétés permettent de conclure à l'ergodicité de la chaîne de Markov, et à l'existence d'un processus limite.

Une chaîne de Markov homogène irréductible apériodique d'espace d'états fini est ergodique et possède une unique mesure de probabilité stationnaire ou invariante.

Cette mesure stationnaire correspond à la loi régissant l'équilibre du processus, elle est définie , pour tout y, comme :
µ (y)=
 
lim
k® ¥
P [ Xk=y| X0=x ]

Nous savons également que tout élément de l'espace d'état est de probabilité non nulle pour cette mesure.

Toutefois, si ce résultat nous permet de savoir qu'il existe une dynamique de fond de l'algorithme génétique, il nous reste à en déterminer les propriétés, l'influence des opérateurs (et des paramètres associés) qui jouent un grand rôle dans le processus.

Pour cela nous introduisons les notations suivantes :


Notations



Si x=(x1,...,xN) est un élément de EN et i un point de E, nous notons :
f(x) =
f(x1,...,xN)=max { f(xi):1£ i£ N }
x =
{ xkÎ arg maxf(x) }
[ x ]
=
{ xk : 1£ k£ N }

De manière générale, les lettres z, y, z, u, v.. désignent des populations, i.e. des éléments de EN, et les lettres i, j des points de E.

5.3.1   Processus de fond (Xk¥)

C'est à partir de ce processus de fond qu'est reconstitué l'algorithme génétique en étudiant ses perturbations aléatoires par les différents opérateurs. Il est défini comme processus limite, lorsque les perturbations ont disparu. C'est également une chaîne de Markov sur EN dont le mécanisme de transition est très simple puisque correspondant à la situation limite suivante :

Les N composantes de Xk+1¥ sont choisies indépendamment et suivant la loi uniforme sur l'ensemble Xk¥.

Cette chaîne est tout d'abord piégée dans l'ensemble S des populations ayant la même adaptation (ou ensemble des population d'équi-adaptation),
S= { x=(x1,...,xN)Î EN   : f(x1)=f(x2)=··· =f(xN) }

Cette population représente les attracteurs de la chaîne (voir 5.4 plus loin), puis elle est absorbée par une population uniforme, de sorte que :
" xÎ EN      P é
ê
ê
ë
$ xiÎ x    $ K   " k³ K   X
¥
 
k
=xi| X
¥
 
0
=xini ù
ú
ú
û
=1

Lorsque la population est devenue uniforme et en l'absence ici de perturbations, il ne se passe plus rien.

Ceci peut également se traduire en définissant les populations uniformes comme les états absorbants de la chaîne Xk¥.


Nous allons maintenant étudier la situation ou se processus est perturbé.


5.3.2   Processus perturbé (Xkl)




La modélisation proposée par Cerf, part du processus de fond (Xk¥),décrit ci-dessus, qui est perturbé aléatoirement, les perturbations sont indicées par le paramètre l. La chaîne de Markov (Xk¥) devient donc une suite de chaînes de Markov (Xkl), dont le mécanisme de transition est donné par la succession des transformations générées par les opérateurs.
Xkl
   Mutation  
¾®
 
Ukl
   Croisement  
¾®
 
Vkl
   Selection  
¾®
 
Xk+1l

Il nous faut pour cela modéliser précisément les opérateurs.


Mutation Xkl¾® Ukl





Les mutations sont définies comme de petites perturbations aléatoires indépendante des individus, de la population Xkl. Il est assez naturel d'introduire la probabilité pl(i,j) de transition20 de mutation entre les points i et j de E, comme un noyau Markovien pl.

Trivialement on a " iÎ E     jÎ Epl(i,j)=1. Sur la chaîne Xkl, la probabilité de transition entre les points x et u de EN est :
P [ Ukl=u| Xkl=x ] =pl(x1,u1)· pl(x2,u2)··· pl(xN,uN)

Plus précisément et afin d'analyse la dynamique de (Xkl) lorsque l tend vers l'infini, nous reportons ici les hypothèses sur le mode et la vitesse de convergence des probabilité de transition. Pour cela nous supposons l'existence d'un noyau irréductible, a , sue E, i.e. :


"  i,jÎ E, $  ioi1,··· , ir (c'est à dire un chemin dans E) tels que i0=i et ir=j tels que :
 
 
0£ s£ r-1
 a (ik,ik+1)>0

L'hypothèse d'irréductibilité du noyau a est essentielle, elle assure que tout point de l'espace est potentiellement visitable.


La vitesse de convergence du noyau pl, est caractérisée par le réel positif a, tel que pl admette le développement suivant :
" i,jÎ E     " s     pl(i,j)= ì
ï
í
ï
î
a (i,j)· l
-a
 
+o(l-s)
  si i¹ j
     
1-a (i,j)· l
-a
 
+o(l-s)
  si i=j
    (2)

La condition de positivité de a nous permettent de faire disparaître les perturbations lorsque l tend vers l'infini.
" i,jÎ E    
 
lim
l® ¥
 pl(i,j)=d (i,j)= ì
í
î
0   si i¹ j
1   si i=j
    (3)



Croisement Ukl¾® Vkl



Ici encore l'opérateur est modélisé comme effectuant de petites perturbations aléatoires sur des couples de la population Ukl. Ces couples sont ici formés par les éléments successifs de la population, les transitions sont gérées par le noyau Markovien ql sur E× E, cette fois, de sorte que :
P [ Vkl=v| Ukl=u ] =ql ( (u1,u2)· (u3,u4)··· (uN-1,uN) )

Pour ce noyau ql nous supposerons l'existence d'un noyau irréductible b sur E× E, la vitesse de convergence est alors paramétrée par le réel positif b tel que :
" ( i1,j1 ) Î E× E     " ( i2,j2 ) Î E× E     " s
 
ql ( ( i1,j1 ) , ( i2,j2 ) ) = ì
ï
í
ï
î
b ( ( i1,j1 ) , ( i2,j2 ) ) · l
-b
 
+o(l-s)
si  ( i1,j1 ) ¹ ( i2,j2 )
   
1-b ( ( i1,j1 ) , ( i2,j2 ) ) · l
-b
 
+o(l-s)
si  ( i1,j1 ) = ( i2,j2 )
    (4)
L'évanouissement asymptotique des croisements est également imposée par la positivité de b :
" i1i2j1j2Î E    
 
lim
l® ¥
 ql ( (i1,i2)(j1,j2) ) =d (i1,i2)· d (j1,j2)     (5)



Sélection Vkl¾® Xk+1l



C'est l'opérateur le plus compliqué et également le plus important puisqu'il permet la convergence vers les optima de f.

Il est modélisé à l'aide d'une fonction de sélection Fl dont Cerf nous donne une définition précise, pouvant être résumée par :

Fl   :
{1,··· ,N ( R+ )
N
 
 
¾® [ 0,1 ]
     
 
( if1,f2,··· fN )
¾® Fl ( if1,f2,··· ,fN )

telle que :

Cet outil, dont on voit qu'il modélise les probabilité de sélection définies section ??, nous permet d'écrire la probabilité de transition correspondant à la dernière étape.
P [ Xk+1l=x| Vkl=v ] =
N
 
r=1
¡ l(xr,vr)

ceci signifie que la probabilité de transition est le produit des probabilités sur chacune des N composantes de E.

La probabilité ¡ l entre deux composantes (xr,vr) est donnée par :
¡ l(xr,vr)=
 
 
k : vk=xk
Fl ( kf(v1),f(v2),··· ,f(vN) )

De même que pour les autres opérateurs, la fonction de sélection doit être choisie et sa vitesse de convergence caractérisée :
Fl ( if1,f2,··· ,fN ) =
exp ( c· fi· ln (l) )
N
 
r=1
exp ( c· fr· ln (l) )
    (6)

Ce choix correspond bien à une probabilité de sélection avantageant les fortes adaptation au détriment des faibles, le réel positif c indexant cette fonction.

Le mécanisme de sélection opérant sur le processus de fond (Xk¥), correspond à la fonction de sélection F¥ définie par :
F
 
¥
( k,f(x1),f(x2),··· ,f(xN) ) =1x(xk)card(x)

C'est à dire, la loi uniforme sur l'ensemble x= { xkÎ arg max f(x)}

La suite (Fl)lÎ N des fonctions de sélection tend vers cette loi uniforme
" xÎ EN     " k
 
 
lim
l® ¥
 Fl ( k,f(x1),f(x2),··· ,f(xN) ) =F
 
¥
( k,f(x1),f(x2),··· ,f(xN) )
    (7)

Les conditions 5.3.2, 5.3.2, et 5.3.2 nous permettent d'assurer que le mécanisme de transition de la chaîne (Xkl) converge vers celui du processus de fond (Xk¥) :
" y,zÎ EN         
 
lim
l® ¥
 P [ Xk+1l=z| Xkl=y ] P é
ê
ê
ë
X
¥
 
k+1
=z| X
¥
 
k
=y ù
ú
ú
û

C'est également en ce sens que l'on interprète la chaîne (Xkl) comme une perturbation de la chaîne (Xk¥).

Les vitesses de convergence intervenant dans chacun des opérateurs jouent un rôle important. La formulation proposée en (5.3.2), (5.3.2) et (5.3.2), permet un ajustement équitable de ces vitesses (elles sont logarithmiquement du ordre) de sorte qu'aucun opérateur ne domine les autres dans la dynamique. lorsque l tend vers l'infini, les conditions (5.3.2), (5.3.2), et (5.3.2) nous permettent d'assurer que le mécanisme de transition de la chaîne (Xkl) converge vers celui du processus de fond (Xk¥), et on a21 :
" y,zÎ EN         
 
lim
l® ¥
 P [ Xk+1l=z| Xkl=y ] P é
ê
ê
ë
X
¥
 
k+1
=z| X
¥
 
k
=y ù
ú
ú
û

La chaîne (Xkl) se comporte alors comme le ferait (Xk¥). La théorie de Freidlin-Wentzell nous donne les outils pour simplifier l'étude de ces processus à temps continu.

5.4   La théorie de Freidlin et Wentzell

5.4.1   Principe

Soit le système différentiel de RN satisfaisant les équations déterministes :
ì
í
î
dxt=b(xtdt
x0=xini
    (8)

Sous de ``bonnes'' hypothèses, il existe une solution (trajectoire) unique, x(t) à l'équation (5.4.1) et à la condition initiale associée. l'une des préoccupation immédiates est de savoir si cette solution va, ou non, tendre vers un équilibre (qui n'est pas forcément unique). Et si oui, quel en est l'ensemble de stabilité. L'équilibre est défini comme une fonction constante x* telle que x*=limt® ¥  xt , et l'ensemble de stabilité comme l'ensemble K( x*) des points de départ qui mènent à cet équilibre22. On peut élargir cette notion, d'équilibre et de stabilité, par celles, très proches, d'attracteur et de bassin d'attraction.

Un attracteur du système est le voisinage compact Ki d'un point visité une infinité de fois, et le bassin d'attraction l'ensemble des points de départ qui mènent à cet attracteur. Nous supposerons que Rd possède un nombre fini d'attracteurs K1, ··· ,Kr.

La théorie de Freidlin-Wentzell étudie la perturbation du système 5.4.1, par des perturbation Browniènes, d'intensité . Le système déterministe 5.4.1 devient alors un système différentiel stochastique.
ì
ï
ï
í
ï
ï
î
dX
 
 
t
=b(X
 
 
t
dt+ dw t
X
 
 
0
=xini
    (9)

Le processus (Xt)tÎ R+ est maintenant un processus stochastique perturbé par le mouvement brownien (w t)tÎ R+ et dépendant de . La situation change alors puisque les perturbations brownienne permettent au processus de s'échapper de n'importe quel bassin d'attraction, et en fait le processus les visite tous.

De plus, le processus est ergodique et admet une unique mesure de probabilité invariante, i.e.
" B borelien de R d    
 
lim
t® ¥
P é
ê
ê
ë
X
 
 
t
Î B | X
 
 
0
=xini ù
ú
ú
û
 
 
( B)

existe est la probabilité de présence du processus dans le Borélien B , lorsque le système a atteint son état d'équilibre. Cette probabilité µ est invariante avec le point de départ xini.

Lorsque les perturbation cessent, le processus se comporte comme dans 5.4.1 et reste presque sûrement au voisinage V(K1È ··· È Kr) des attracteur,.tandis que la probabilité de présence dans n'importe quel Borélien A disjoint de K1È ··· È Kr disparaît.
 
lim
® 0
µ
 
 
( V(K1È ··· È Kr) )
= 1
     
 
lim
® 0
µ
 
 
( A )
= 0

Le résultat principal de Freidlin et Wentzell repose sur l'équivalence du processus (Xt)tÎ R+ à temps continu et espace d'état Rd et du processus (Zn)nÎ N à temps discret et espace d'état fini {1,··· .r} décrivant les visites au nième attracteur.

La construction précise de (Zn)nÎ N, n'est pas reportée ici mais nous en donnons un aperçu afin de mieux comprendre ce dernier processus.

La chaîne de Markov23 ainsi crée a pour espace d'états {1,··· .r}, est irréductible, et possède une unique mesure de probabilité invariante n .

L'étude du comportement asymptotique de la mesure µ est ``équivalente'' à l'étude du comportement asymptotique de la mesure n

Nous passons sous silence l'étude des probabilité de transition P[ Zn=i| Zn=j] de la chaîne (Zn)nÎ N qui s'écrivent comme des intégrales sur l'ensemble des fonctions f qui lient les attracteurs Ki et Kj, laissant le lecteur intéressé se reporter à la lecture de Freidlin et Wentzell [15], ou de Cerf [11].

Notons toutefois que ces probabilité de transition s'écrivent :
P é
ê
ê
ë
Z
 
 
n
=i| Z
 
 
n
=j ù
ú
ú
û
ln ~ exp -
V(i,j)
2

V(i,j)=inf {V(f ), f (· ) continue [ 0.1] Rd, f ( 0) Î Ki, f ( T) Î Kj}

et V(f )=ò01| f ( t) -b( f ( t) ) · | 2dt. est une constant associée à f et caractérisant sa vitesse de convergence.

La quantité V(i,j) ou coût de communication, mesure le coût de passage de l'attracteur Ki à l'attracteur Kj.


Les intensités de transitions de la chaîne (Zn)nÎ N, nous ouvrent la voie pour déterminer la mesure invariante n .


5.4.2   Mesure invariante n

Les outils qui permettent de déterminer cette mesure invariante ont été développés, une nouvelle fois par Freidlin et Wentzell, nous aurons besoins de certains d'entre eux.


Définition :Soit i un élément de {1,...,r}.

Un i-graphe sur {1,...,r} est un graphe g sur {1,...,r} possédant les propriétés suivantes :

Il s'agit donc d'un graphe sans cycles formé de chemins qui aboutissent en i. On note G(i) l'ensemble des i-graphes sur {1,...,r}.


Définition :La fonction d'énergie virtuelle W est la fonction de {1,...,r} dans R+ définie par :
" iÎ  {1,...,r}     W(i)=
 
min
gÎ G(i)
 
 
 
( a ® b ) Î g
 V(a ,b )

a cette fonction est associé l'ensemble W* des minima globaux de W.


Finalement, la mesure invariante n est caractérisée par :
" iÎ  {1,...,r}     n
 
 
(i)ln ~ exp -W(i)-W(W*) 2

W(W*)=min { W(i) : iÎ {1,...,r}} .

Le comportement asymptotique de n (et par la même occasion de µ ) est donc connu : la mesure n se concentre sur les attracteurs dont l'indice est dans W* et décroît vers zéro à la vitesse exp -Cste/ 2 pour les autres attracteurs. Il existe donc un sous-ensemble de W* de l'ensemble des attracteurs sur lequel se concentre la mesure invariante du processus.
 
lim
® 0
 
 
lim
t® ¥
 P é
ê
ê
ë
X
 
 
t
Î V æ
ç
ç
è
 
È
iÎ W*
Ki ö
÷
÷
ø
| X
 
 
0
=xini ù
ú
ú
û
=1

La dynamique du processus est donc caractérisable.


5.4.3   Dynamique du processus.

Dans sa thèse, Cerf nous donne une très claire interprétation de la hiérarchie des cycles qui caractérisent la dynamique du processus. Supposons que le processus soit initialement dans le bassin d'attraction de K1. I1 quitte K1 au bout d'un temps fini. Parmi toutes les trajectoires de sortie, il en existe une plus ``probable'' que les autres, qui l'amène vers un nouvel attracteur; par exemple K2 puis, bientôt K3. L'ensemble des attracteurs étant par hypothèse fini, le processus finit par revisiter un attracteur formant un cycle d'ordre 1 sur lequel le processus tourne longtemps, très longtemps. Englobons maintenant ces trois attracteurs dans une boîte. Comme toujours, les perturbations browniennes finissent par pousser le processus hors de cette boîte, et ici encore, il existe une trajectoire de sortie canonique qui fait tomber le processus dans un nouveau bassin d'attraction, ou plus généralement, dans un autre cycle d'ordre 1.

Les cycles d'ordre 1 sont aussi en nombre fini, et le processus finit par revisiter un cycle d'ordre 1: un cycle d'ordre 2 est alors formé, dans lequel le processus reste piégé très très longtemps. En continuant de la sorte, il est possible de construire toute une hiérarchie de cycles qui épuise l'ensemble des attracteurs et fournit une image très précise de la dynamique asymptotique du processus. A chaque transition entre cycles est associée une constante qui caractérise la difficulté de la transition.

Enfin, lorsque décroît avec le temps, i.e. = (t) est une fonction de t qui tend en décroissant vers 0, nous obtenons un processus de Markov inhomogène (le mécanisme de transition dépend du temps).

La hiérarchie des cycles permet ainsi de décrire les dynamiques possibles de (Xt) en fonction de la vitesse de décroissance de (t).

5.5   Résultats de convergence

Lorsque l croit vers l'infini, les perturbations affectant le processus (Xkl) diminuent de sorte que cette chaîne se comporte, presque sûrement, comme la chaîne (Xk¥). Plus précisément, nous savons que les attracteurs de la chaîne (Xk¥) sont les population d'équi-adaptation S et les populations uniformes (attracteurs stables). La chaîne (Xkl) va donc être attirée par ses attracteurs, en commençant par l'ensemble S.

La théorie de Freidlin et Wentzell nous permet de reporter cette étude sur celle de la chaîne des (Zkl) des visites successives de (Xkl) à l'ensemble S. Nous poserons donc Zkl=XTklTk est l'instant de la kième visite de (Xkl) dans S.

Les probabilité de transition de la chaîne (Zkl), sont estimées à l'aide des opérateurs définis en 5.3 et selon le shéma développé ci-dessus. Les fonctions de coût de communication V(i,j) et d'énergie virtuelle W sont définies et estimées.

Nous savons alors que la suite des mesures stationnaires de la chaîne (Xkl) se concentre sur l'ensemble W* des minima de W :
" xiniÎ EN    
 
lim
l® ¥
 
 
lim
k® ¥
 P [ XklÎ W*| X0l=xini ] =1

L'un des principaux résultats indique qu'il existe une taille de la population de (Xkl), (taille critique) telle que les maxima de f soient atteints asymptotiquement avec probabilité 1.


5.5.1   Taille critique

Supposons fixés l'espace d'état E, la fonction d'adaptation f, les noyaux de transition de mutation a et de croisement b , ainsi que les constantes positives gérant les trois opérateurs a, b, et c.

(Cerf 1993)

Il existe une valeur critique N*, telle que lorsque la taille de la population de l'algorithme génétique dépasse N*, l'ensemble f* des maxima globaux de f, contient l'ensemble W*.

Cette taille critique N* , dépend fortement de l'espace d'état E, de la fonction d'adaptation f, des noyaux a et de croisement b , ainsi que des paramètres a, b, et c.

Une borne grossière, mais lisible de N* est :
N*£
aR+c(R-1)D
min (a
b
2
cd )

où :

Il est intéressant de relever que le résultat est obtenu sans faire intervenir l'opérateur de croisement, qui n'est donc pas indispensable. L'exploration par mutation et le guide de la force de sélection suffisent à assurer la convergence vers f*.


Ce premier résultat nous indique que des que N³ N*, la suite des mesures stationnaires de la chaîne (Xkl) se concentre asymptotiquement sur f* lorsque l tend vers l'infini. L'étape suivante consiste donc à faire évoluer l , et donc l'intensité des perturbations, en fonction de la génération pour obtenir un algorithme génétique correspondant à ceux présentés dans la section 2. Nous obtenons alors une chaîne de Markov inhomogène (Xkl(k)) dont le mécanisme de transition dépend alors de la génération k.


5.5.2   Vitesse de convergence

Le principal problème est de savoir si cette chaîne inhomogène peut avoir un comportement proche de celui de la chaîne homogène (Xkl), et si oui, sous quelles conditions. La vitesse de croissance de l(k) vers l'infini, est bien évidemment, au centre du débat.

La vitesse recherchée se situe entre ces deux extrêmes, permettant à Xk de s'échapper des ``mauvais'' bassins d'attraction (ne correspondant pas à des maxima de f) et de rester piéger dans le ``bon'' (celui des points de f*).

La vitesse de convergence de la suite l(k) est caractérisée par l'exposant de convergence24, l .


Définition :


L'exposant de convergence l de la suite l(k) est l'unique réel l tel que :
 
 
kÎ N
l(k)
-q
 
    
®   converge pour q >l  
       
®   diverge pour q <l

Deux conditions pour la colonisation de f* sont également données par Cerf, l'une nécessaire, l'autre suffisante.

Condition nécessaire pour la colonisation de f*

Pour que :
" xiniÎ EN      P é
ë
$ K   " k³ K   é
ë
X
 
Tk
ù
û
Ì f*| X0=xini ù
û
=1

c'est à dire, pour que la chaîne Zk=XTk des visites successives des attracteurs soit piégée dans f* après un nombre fini K de transitions,

il est nécessaire que l'exposant de convergence l de la suite l(k) appartienne à l'intervalle ] f ,y [ .

Les constantes f et y sont des caractéristiques du problème,l'intervalle ] f ,y [ est alors non vide pour N assez grand.

Condition suffisante pour la colonisation de f*

Il existe deux constantes h et r tel que si l'exposant de convergence l de la suite l(k) appartient à l'intervalle ] h ,r [ , alors :
" xiniÎ EN      P é
ë
$ K   " k³ K   é
ë
X
 
Tk
ù
û
Ì f* , XkÌ f*| X0=xini ù
û
=1

ce qui signifie qu'après un nombre fini de transitions, nous avons presque sûrement, la situation suivante :

5.5.3   En guise de conclusion

D'autres résultats existent, tant dans le travail de Cerf, que dans la littérature citée dans cette section. Ils demandent cependant un investissement supplémentaire dans la compréhension des outils développés. Le but de cette section était de convaincre le lecteur que l'étude théorique des algorithmes génétiques donne (déjà) de sustantiels résultats. De nombreuses interrogations demeurent cependant concernant les relations réelles entre les différents paramètres caractérisant l'algorithme génétique et les choix pratiques de ceux ci. Dans ce domaine, la pratique devance encore la théorie, même si les mécanismes commencent à être plus clairs. Il reste également à étudier les nombreux raffinements présentés dans la section 2, et aujourd'hui en application. Comment incorporer les opérateurs de partage, et leur implémentation par bouquets ? Comment trouver de nouveaux algorithmes génétiques encore plus efficaces ? Autant de questions qui trouverons sans doute des réponses dans les travaux futurs.

L'exemple de l'aspirine nous vient à l'esprit, ce n'est que dans les années 70 que l'on comprit réellement les mécanismes de son action, cela ne l'a pas empêché d'agir depuis ça découverte en 18??.

6   Perspectives

7   Appendice : Un exemple élémentaire.

Soit le problème de maximisation suivant :
ì
í
î
max f(x)=4x(1-x)  
   
xÎ [0,1]

La fonction f(x) admet un maximum unique en x=0,5 pour lequel f(x) vaut 1, comme le montre la représentation graphique ci-dessous.

itbpFX7.6508cm5.0786cm0cmPlot language "Scientific Word";type "MAPLEPLOT";width 7.6508cm;height 5.0786cm;depth 0cm;display "FULL";plot_snapshots TRUE;function 4x(1-x);linecolor "black";linestyle 1;linethickness 1;pointstyle "point";xmin "-0.02";xmax "1.02";xviewmin "-0.02";xviewmax "1.02";yviewmin "-0.1032";yviewmax "1.022";rangeset"X";recompute TRUE;phi 45;theta 45;plottype 4;numpoints 60;axesstyle "normal";xis x;var1name x;valid_file "T";tempfilename 'C:/CBONVIEU/ARTICLES/DJTEJIVV.wmf';



Codage


Afin de bien visualiser les propriétés des opérateurs nous décidons de traiter ce problème en codant les éléments de [0,1] en chaînes de bits de longueur 8. Par exemple, 10111010 constituera un élément de la population.


Population initiale (Génération zéro)


L'algorithme génétique consiste tout d'abord à tirer une population initiale de N=4 éléments, (q i)i=1,..4 donnés dans le tableau ci dessous, nous évaluons par la même occasion leur adaptation, c'est à dire ici f(q i).
Eléments Eléments Codés Adaptation : f(q i)
q 1 10111010 0,794678
q 2 11011110 0,460693
q 3 00011010 0,364990
q 4 01101100 0,975586
    (10)

Il va s'agir maintenant de sélectionner les éléments en fonction de leur adaptation. On le voit ici, les éléments q 4 et q 1 sont les meilleurs.


Sélection


Pour sélectionner ces candidats à reproduction, nous allons utiliser la sélection de la roue de la fortune et attribuer à chacun une probabilité de reproduction égale à :
Pi=f(q i)
4
 
j=1
f(q j)

et donc le tableau 7 s'élargit de cette probabilité de reproduction de chaque élément.
Eléments Eléments Codés f(q i) Pi
q 1 10111010 0,794678 0,794/2,59=0,31
q 2 11011110 0,460693 0,460/2,59=0,18
q 3 00011010 0,364990 0,364/2,59=0,14
q 4 01101100 0,975586 0,975/2,59=0,37
mathbfCumul   mathbf2,593  

Un problème pratique se pose : Comment ``tirer'' 4 nombres parmi 4 avec replacement en affectant à chacun cette probabilité ?

Il existe pour cela une méthode simple et rapide, il suffit d'attribuer un segment de taille Pi à l'individu q i et de reporter ces segments bouts-à-bouts dans l'intervalle25 [0,1]. Les individus sont identifiés par un segment particulier de longueur Pi .

Sur l'exemple cela donne :


q 1 est ainsi caractérisé par l'intervalle [0,0.31] de longueur 0,31

q 2 est caractérisé par l'intervalle [0.31,0.49] de longueur 0,18

q 3 par l'intervalle [0.49,0.63] de longueur 0,14

et q 4 par [0.63,1] de longueur 0,37.


On tire ensuite h uniformément dans [0,1] et l'on reproduit 4 fois ce tirage, on détermine ainsi 4 nouveaux éléments grâce à ce tirage. Ici le tirage de h donne ; 0.47(q 2 est sélectionné), 0.89 (q 4), 0.18 (q 1) et 0.75 (q 4 de nouveau). A ce stade q 3 est éliminé de la population tandis que q 4 est reproduit deux fois.

Les opérateurs de croisement et de mutation s'appliqueront donc sur la nouvelle population constituée de (q 2, q 4, q 1 et q 4) renommés b 1, b 2, b 3 et b 4.
Eléments Eléments Sélectionnés Renommés
q 1 q 2=10111010 b 1
q 2 q 4=01101100 b 2
q 3 q 1=01101100 b 3
q 4 q 4=01101100 b 4



Croisement


La probabilité de croisement Pc est ici fixée à 50% (on ne peut faire moins étant donné la taille de la population considérée), cela signifie que l'on va tirer un couple au hasard et lui appliquer le croisement chromosomique à un point. (b 1, b 3) constitue le couple destiné à être transformé, il faut encore déterminer la position du croisement dans les composantes (gènes) de ces éléments. Cette position peut être elle aussi tirée au hasard ou choisie arbitrairement. Nous décidons d'effectuer les croisements sur le milieu afin de rendre l'exemple plus parlant.

Les parties terminales des individus b 1et b 3 sont donc échangées, comme suit :
ì
í
î
b 1=10111010   1011 1100=l 1
     
b 3=01101100   0110 1010=l 3

engendrant ainsi deux nouveaux individus (les enfants) l 1 et l 3.

On peut, sur la base de ces nouveaux individus muter aléatoirement l'une des composantes de l'un des individus constituant la nouvelle population (l 1, b 2, l 3 et b 4).


Mutation


La probabilité de mutation est ici de Pc=0.25, de sorte qu'un individu sur les quatre sera choisi. Il s'agit de l 3 dont une des composantes sera changée. On peut, pour cela, décider de cette composante dans le processus ou tirer celle ci aléatoirement. La 7ème composante sera ici changée.
l 3=01101010   01101000=l 3*

Il est intéressant de noter que l 3 a été muté sans qu'aucune évaluation n'ait été effectuée.


Nouvelle population (Génération un)


Nous pouvons maintenant examiner la nouvelle population, correspondant à la deuxième génération et réitérer le processus. Réévaluons ces nouveaux individus.
Nouveaux Eléments (renomés) Eléments Codés Adaptation : f(a i)
l 1 a 1 10111100 0,980225
b 2 a 2 01101100 0,794678
l 3* a 3 01101000 0,483398
b 4 a 4 01101100 0,975586
mathbfCumul   3.232
    (11)



Lorsqu'on compare les tableaux 7 et 7, plusieurs remarques viennent à l'esprit et méritent d'être notées :

Chacune des opération décrites ici ne prend que quelques centièmes de secondes sur un ordinateur, on trouve une valeur de x=0,499959 après 100 générations et 2,5s de calcul.



y=x2sin (x0.5)· zln ( cos (z) )
2
 
 
itbpF4.3647in2.9092in3.0294inPlot language "Scientific Word";type "MAPLEPLOT";width 4.3647in;height 2.9092in;depth 3.0294in;display "USEDEF";plot_snapshots TRUE;function xsin (x0.5)· zln ( cos (z)) 2;linecolor "black";linestyle 1;linethickness 1;pointstyle "point";xmin "-5";xmax "5";ymin "-5";ymax "5";recompute TRUE;phi 45;theta 26;plottype 5;num-x-gridlines 20;num-y-gridlines 20;plotstyle "wireframe";axesstyle "frame";plotshading "Z";lighting 2;xis x;yis z;var1name x;var2name z;valid_file "T";tempfilename 'C:/CBONVIEU/ARTICLES/DJTEJJSJ.wmf';

z=x(10-x)sin (x0.5)· yln ( cos (y) )
2
 
 
itbpF4.8551in3.2353in0inPlot language "Scientific Word";type "MAPLEPLOT";width 4.8551in;height 3.2353in;depth 0in;display "USEDEF";plot_snapshots TRUE;function x(10-x)sin (x0.5)· yln ( cos (y)) 2;linecolor "black";linestyle 1;linethickness 1;pointstyle "point";xmin "-5";xmax "10";ymin "-8";ymax "3";xviewmin "-5";xviewmax "10";yviewmin "-5";yviewmax "5";rangeset"X";recompute TRUE;phi 45;theta 45;plottype 5;num-x-gridlines 20;num-y-gridlines 20;plotstyle "wireframe";axesstyle "frame";plotshading "Z";lighting 2;xis x;yis y;var1name x;var2name y;valid_file "T";tempfilename 'C:/CBONVIEU/ARTICLES/DJTEJJAG.wmf';

References

[1]
Alliot J.M. and T. Schiex (1993) : ``Intelligence artificielle et informatique théorique'', Cépadues Editions.

[2]
Andreoni J. and J. Miller (1995) : ``Auctions with Artificial Adaptative Agents'', Games and Economic behavior, Vol. 10, pp 39-64.

[3]
Arifovic J. (1994) : `` Genetic algorithm learning and the cobwell model'', Journal of Economic Dynamic and Control, No 18, pp.2-28.

[4]
Arifovic J. and C. Eaton (1995) : `` Coordination via Genetic Learning'', Computational Economics, Vol.8, No. 3, pp. 181-203.

[5]
Arthur W. B. (1991) : ``Designing Economic Agents that Act Like Human Agents : A Behavioral Approach to Bounded Rationality'', AEA Papers and proceedings, Vol. 81, No.2.

[6]
Axelrod R. (1987) : ``The Evolution of Strategies in the Iterated Prisoner's Dilemma'', in Genetic Algoritms and Simulated Annealing, L. Davis editor, Pitman, London.

[7]
Beaumont P. and P. Bradshaw (1995) : `` A distributed Parallel Genetic algorithm for solving optimal Growth Models'', Computational Economics, Vol.8, No. 3, pp. 159-179.

[8]
Birchenhall C. (1995) : ``Introduction of Computational Economics special issue on Genetic algorithm'', Computational Economics, Vol.8, No. 3, pp. 155-158.

[9]
Birchenhall C. (1995) : ``Modular technical change and Genetic algorithms'', Computational Economics, Vol.8, No. 3, pp. 233-253.

[10]
Catoni O. (1990) : ``Large deviations for Annealing'', Thèse de Doctorat, Université de Paris XI..

[11]
Cerf R. (1994) : ``Une théorie asymptotique des algorithmes génétiques'', These de Doctorat, Université de Montpellier II.

[12]
Dorsey R. E. and W. J. Mayer (1995) : ``Genetic Algorithms for Estimation Problems With Multiple Optima, Nondifferentiability, and Other Irregular Features'', Journal of Business and Economic Statistics, Vol.13, No 1.

[13]
Durand N., N.Alech, J. M. Alliot and M. Shoenauer (1994) : ``Genetic Algorithms for Optimal Air Trafic Conflict Resolution'' In Proceedings of the second Singapore conference on Intelligent Systems, SPICIS.

[14]
Farley A. M. and S. Jones (1994) : ``Using a Genetic Algorithm to determine an Index of Leading Economic Indicators'', Computational Economics, Vol. 7, No 3.

[15]
Freidlin M. I. and Wentzell (1983) : ``Random Perturbations of Dynamical Systems'', Springer Verlag, New-York.

[16]
Goffe L., Ferrier G. D. and J. Roger (1994) : ``Global optimization of statistical functions with simulated annealing'', Journal of Econometrics, Vol. 60, pp. 65-99.

[17]
Goldberg D. (1989) : ``Genetic Algorithms'' Addison Wesley editor.

[18]
Holland J. H. (1975) : ``Adaptation in Natural and Artificial Systems'' , University of Michigan press.

[19]
Holland J. H.and J. H Miller (1991) : ``Artificial Adaptation Agents in Economic Theory'', American Economic Review papers Proceedings, Vol. 81, no 2.

[20]
Herrnstein R. J. (1991) : ``Experiments on stable Suboptimality in Individual Behavior'', AEA Papers and proceedings'', Vol. 81, No.2.

[21]
Michalewicz Z. (1991) : `` Genetic Algorithms + Data Structures = Evolution programs'' Springer Verlag, New-York.

[22]
Petit-Singeot F. and R. Cazoulat (1994) `` Réplicateurs Adaptatifs et Théorie des Jeux'' , in Journées Evolution Artificielle, 20-23 septembre 94, ENAC.

[23]
Tordjman H. (1994) : `` Dynamiques spéculatives, hétérogénéité des agents et apprentissage : Le cas des taux de change'', These de Doctorat, C.E.F.I;, Université d' Aix Marseille II.

[24]
Trouvé A. (1993) : ``Parallélisation massive du recuit simulé'', Thèse de Doctorat, Université de Paris XI..

[25]
Vriend N. J. (1995) : `` Self-Organisation of Markets : An Example of a Computational Approach'', Computational Economics, Vol.8, No. 3, pp. 205-231.

[26]
Yin X. and N. Germay (1993) : ``A Fast Genetic Algorithm with sharing scheme using cluster analysis methods in Multimodal function optimization'', in Proceedings of the Artificial neural Nets and Genetic algorithms.

1
Un grand merci à Jean-Marc Alliot, Christophe Bisière, Nicolas Durand, Nathalie Lenoir et Eric Malin.
2
La vitesse de calcul du premier CRAY, le 1S, est désormais dépassée par celle d'un pentium 133 MgH - voir Goffe et al.[16] , pour une intéressante comparaison des matériels courament utilisés dans le monde.
3
Les logiciels statistiques les plus utilisés comme GAUSS, SAS, RATS, utilisent des algorithmes plus ou moins évolués de ce type.
4
fonction approximativement quadratique, unicité du maximum, de telle sorte qu'un maximum local est global, etc..
5
La stratégie ``oeil pour oeil'' survit ainsi très bien dans le cadre du dilemme du prisonnier répété (voir Axelrod [6], ou Petit-Singeot et Cazoulat [22]).
6
Ces qualificatifs n'étant que relatifs à la population et à la fonction d'adaptation f considérés.
7
Par analogie avec la biologie on parle également de ``chromosomes'', les bits représentant les ``gènes'' composant ce chromosome.
8
On utilise souvent la ``distance de Hamming'' comme mesure de la dissimilarité entre deux éléments de population pour le codage binaire. Cette mesure compte les différences de bits de même rang de ces deux sequences.
9
Un code de gray possède la propriété de ne faire differer que d'un bit deux entier successifs.
10
Les ``roues de la fortune'' que l'on rencontre dans les foires ont souvent des secteurs de tailles différentes suivant l'importance du lot. C'est ce principe qui est reproduit ici.
11
On calcule cette probabilité théorique en calculant le rapport de la fitness de l'individu à la somme des fitness des autres individus, ici : 2,510,6
12
Il n'est pas nécessairement compris entre 0 et 1, il peut par exemple prendre des valeurs dans l'intervalle [-0.5,1.5] afin de générer des points hors du segment, et éviter un appauvrissement de population.
13
Cette population est constituée de d+1 éléments où d est la dimension de l'espace admissible.
14
Une procédure d'optimisation ``classique'' peut être ajoutée à la fin de l'algorithme de manière à afiner le résultat.
15
Un principe d'élitisme sera toutefois appliqué afin de conserver le meilleur élément d'un groupe.
16
Comment, en effet, déterminer la distance séparant deux stratégies d'enchères ? Deux équilibres de Nash dans un jeu en comportant d'autres ? Deux chemins dans le problème du voyageur de commerce ?
17
Mot qu nous utiliserons pour traduire le terme ``cluster''
18
Laboratoire d'Optimisation Globale CENA-ENAC (Centre d'Etudes de la Navigation Aérienne, Ecole Nationale de l'Aviation Civile).
19
On peut associer ces chromosomes à des ``mots'' composés sur l'alphabet {0,1}, les gènes sont alors les ``lettres'' 0 ou 1.
20
C'est la probabilité Pl(i,j) pour un point i de E de se transformer par mutation en un point j de E
21
C'est également en ce sens que l'on interprète la chaine (Xkl) comme une ``perturbation'' de la chaine (Xk¥). 
22
L'ensemble de stabilité de l'équilibre x* est :
K(x*)= ì
í
î
xiniÎ RNt.qpour xt solution de 5.4.1  ;
 
lim
t® ¥
 xt=x* ü
ý
þ

Pour chaque équilibre on définit ainsi son ensemble de stabilité. Cet équilibre est stable s'il contient un voisinage de l'équilibre, et instable s'il existe des points de départ infiniment proche de l'équilibre qui ne menent pas à celui-ci.
23
La nature Markovienne de w t, nous permet de montrer qu'il s'agit bien là d'une chaine de Markov.
24
Egalement appelé rayon de convergence.
25
La somme des Pi vaut, en effet, 1.

This document was translated from LATEX by HEVEA.