Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir et Eric Malin
Plan Général Principes des algorithmes génétiques Exemples Opérateurs classiques Améliorations Résultats théoriques Utilisations et perspectives
Principe des Algorithmes Génétiques Algorithmes Stochastiques itératifs qui opèrent sur des individus codés, à partir d’une population initiale. Cette population évolue de la génération k à la génération k+1 à l’aide de trois opérateurs : Opérateur de Sélection Opérateur de Croisement Opérateur de Mutation.
Principe (suite) Chaque individu est reproduit en fonction de son adaptation au problème (fitness). On code les individus de manière à les faire “évoluer” grâce aux opérateurs On effectue des croisements sur les individus destinés à être reproduits Des mutations aléatoires Génération de nouveaux individus
Ingrédients Une fonction objectif Une population initiale Une méthode de codage Des opérateurs Un critère d’arrêt
Population génération k Evaluation-Sélection Pc Croisement Pm Mutation Population génération k+1 (Nouveaux individus)
Exemple élémentaire Max de f(x)=4x(1-x) sur l’intervalle [0,1] Tirage d’une population initiale de 4 éléments codés sur 8 bits Evaluation et Sélection des individus: les “meilleurs” sont “plutôt” conservés ou “transformés”, les “mauvais” sont “plutôt” éliminés. Formation d’une nouvelle population de 4 individus
Exemple élémentaire Elts f(x) % repr. Cumul 10111010 0.794678 0.79/2.59=0.31 0.31 11011110 0.460693 0.46/2.59=0.18 0.49 00011010 0.364990 0.36/2.59=0.14 0.63 0.97/2.59=0.37 01101100 0.975586 1.00 2.595947 0,31 0,49 0,63 1 On tire 4 nombres entre 0 et 1: 0.47, 0.18, 0.89 et 0.75
Exemple élémentaire (suite) Elts Sélectionnés Pc 11011110 Eléments Choisis pour le croisement 10111010 01101100 01101100 On tire les éléments destinés à se croiser avec la proba Pc
Croisement des individus 1 et 3 Les deux éléments issus de la sélection 11011110 01101100 On tire une position parmi les 8 bits : 4 Parent 1 Parent 2 11011110 01101100 11011100 01101110 Enfant 1 Enfant 2
Exemple élémentaire (fin) Pop. Finale f(x) 11011100 0.980225 10111010 0.794678 Meilleur individu 01101110 0.483398 01101100 0.975586 On réitère ensuite la procédure Apres 100 générations (2,5 sec.), le meilleur élément est x=0,499959
Une comparaison Econométrique (Dorsey et Mayer) Comparaison de 6 méthodes : Simplexe (Nedler & Mead 1965) Adaptative Random Search (Pronzato et al. 1984) Simulated Annealing (Corona et al. 1987) Draw (recherche aléatoire) Algorithme Génétique MSCORE (Manski, Thompson 1987) sur 11 problèmes économétriques “classiques”
Evaluation-Sélection A chaque élément i de la génération k on associe la probabilité Pi On tire m individus (avec replacement) dans la génération k des (i ,Pi )i=1, ..,m Géné Hk On favorise la reproduction des “bons” On “élargit” ensuite la population par croisement et mutation
L’opérateur de croisement Opérateur “d’exploration” de l’espace d’état On tire : un couple d’éléments de Hk : (j,l ) une variable aléatoire YBernouilli( Si Y =1 Croisement des individus (j,l) Si Y=0 Individus replacés dans G(k+1) = Pc = Probabilité de croisement (~60-80%)
Croisement pour un codage chromosomique Deux éléments (binaires) issus de la génération k 10111010 11110000 On tire une position parmi les 8 bits : 4 Parent 1 Parent 2 10111010 11110000 10110000 11111010 Enfant 1 Enfant 2
Croisement sur éléments réels Deux éléments issus de la génération k : P1 et P2 C1=aP1+(1-a)P2 P1 C2=(1-a)P1+aP2 P2 Barycentre de P1 et P2 avec a dans [0,1] Barycentre de P1 et P2 avec a hors de [0,1]
Limitations de l’opérateur de Croisement Si tous les éléments sont dans le même sous-espace. P3 P5 C1=aP1+(1-a)P2 P1 C2=(1-a)P1+aP2 P6 P2 P3 Barycentre de P1 et P2 avec a dans [0,1] P4 Barycentre de P1 et P2 avec a hors de [0,1]
Limitations de l’opérateur de croisement Si on code la population sous la forme : La population Optimum n’a pas de “7” en dernière position g1|g2|g3 5|4|0 7|3|3 4|6|6 1|2|7 6|8|5 9|4|2 2|3|1
L’opérateur de mutation Autre opérateur “d’exploration” de l’espace d’état On tire : un élément de H’k : ’j une variable aléatoire YBernouilli( Si Y =1 Mutation de l’individu ’j Si Y=0 Individu replacé dans G( k+1) =Pm =Probabilité de mutation (<10%)
Mutation sur un codage binaire Un élément tiré avec la probabilité Pm 10111010 On tire une position parmi les 8 bits : 6 10111010 Elément original 10111110 Elément muté
Mutation sur un codage réel Un élément tiré avec la probabilité Pm 574907.23 On tire un élément de bruit que l’on ajoute : “Bruit” 574907.23 + Elément muté
Croisement avec Recuit simulé Population génération k Evaluation-Sélection Pc Croisement Tournoi Pm Mutation Population génération k+1
Recuit simulé Méthode d’exploration aléatoire de l’espace admissible, à partir d’une solution quelconque l’algorithme génère une solution “voisine”, Si le nouveau est meilleur on le garde, Sinon on le garde avec la proba Xi Xf
Population génération k Evaluation-Sélection Pc Croisement Pm Mutation Population génération k+1
Population génération k Evaluation-Sélection Pc Croisement Pm Mutation Population génération k+1