Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
Algorithmes Génétiques
MTH 641417 novembre 2004
Jean-Sébastien LACROIXStéphane TERRADE
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 2
Introduction
• Qu’est-ce qu’un AG?– Les Algorithmes Génétiques sont des algorithmes
d’optimisation stochastiques.
– Les Algorithmes Génétiques sont dans la famille des algorithmes métaheuristiques dont le but est d’obtenir une solution convenable dans un temps acceptable .
2
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 3
Introduction: Qui, Quand...
• J.H. Holland et son équipe du Michigan.
• Ses travaux ont commencé en 1960 et en 1975, il publia le premier ouvrage ayant comme titre : Adaptation in Naturaland Artificial System
• Objectifs : améliorer la compréhension des processus naturels d'adaptation, et concevoir des systèmes artificiels possédant des propriétés similaires aux systèmes naturels
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 4
Nouveau Principe
• Principe original : Principe du Crossing Over et de la mutation
• Petit rappel…
3
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 5
Théorie de Darwin
• Charles Darwin publie en 1859 « Origin of species » qui explique le mécanisme qui peut présider àl'évolution des espèces dans la nature
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 6
Théorie de Darwin
• La sélection naturelle : Sélection des individus les mieux « adaptés » à un milieu donné et qui auront une plus grande faculté de reproduction que les autres
• La sélection naturelle soutient donc que les êtres vivants qui s'adaptent le mieux aux conditions naturelles de leur environnement vaincront et survivront
• Ex:
4
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 7
Pourquoi l’AG…
Les AG ne permettent pas d’obtenir assurément une solution optimale exacte, mais plutôt une solution de qualité et ça en peu d’effort.Espaces de recherche importantsPas d’algorithmes déterministes adaptés
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 8
Plan de la Présentation
• Théorie• Préparation pour le codage• Applications des AG
– Voyageur de commerce– Vie artificielle
• Groupes de recherches• Logiciels
5
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 9
Théorie
• Terminologie• Principes• Préparation• Mécanismes de l’algorithme• Cas d’utilisation • Limites
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 10
Théorie: Lexique• Population (= génération):
• Ensemble de chromosomes
• Chromosome (= un individu)• Ensemble de gènes, de caractéristiques d’un individu
• Gène• Caractère / caractéristique d’un individu
• Allèle• Forme / valeur prise par une caractéristique
Exemple : Canadiens, 1 québécois, yeux, yeux bleus
6
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 11
Théorie: Analogie
Vocabulaire MathématiqueGénôme Ensemble des points de l'espace de
recherche {X1, X2, X3} appartiennent IR*IR*IRPopulation Ensemble "particulier" de points de l'espace
de recherche {X1, X2, X3} appartiennent [1;10]̂ 3
Individu Point de l'espace de recherche "particulier" f(X1, X2, X3)=15
Chromosome Ensemble de variables caractérisant un point de l'espace {X1,X2,X3}
Gène Variable X iAllèle Valeur possible de variable (X i = 2)
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 12
Principes de base• Préparation
– Encodage: trouver une fonction de codage des données– Trouver une fonction d’évaluation pour calculer
l’adaptation d’un individu au milieu– Déterminer un critère d’arrêt– Génération de la population initiale
• Application de l’algorithme génétique– Sélection d’individus parmi une population initiale– Application des opérateurs pour générer la nouvelle
génération de solution– Évaluation de l’adaptabilité de la nouvelle génération
7
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 13
Algorithme1. Générer aléatoirement une population de n
chromosomes x;
2. Évaluer l’adaptabilité f(x) de chaque chromosome;
3. Créer une nouvelle population
a. Sélectionner 2 parents chromosomes
b. Croiser les 2 parents pour obtenir 2 enfants
c. Muter les enfants obtenus (prob.)
d. Placer les enfants dans la population
4. Si la nouvelle population n’est pas satisfaisante retourner à 2.
Préparation
Mise en place des éléments de l’algorithme:Codage des données
ParamétrageFonction d’évaluation
Critère d’arrêtPopulation initiale
8
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 15
Codage binaire• + utilisé • 1 gène = 1 variable Xi = chaîne de bits• 1 allèle = 1 si caractéristique valide
0 sinon
Ex: Chromosome A 101100101100101011100101
Chromosome B 111111100000110000011111
Avantage Inconvénients
Simplicité LourdBeaucoup de croisements possibles Peu de diversité des allèles Beaucoup de gènes
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 16
Codage réel/caractère multiple
• + naturel• 1 gène = 1 variable Xi• 1 allèle = 1 valeur du domaine de définition de Xi
• Ex: Chromosome A 1.2324 5.3243 0.4556 2.3293 2.4545
Chromosome B ABDJEIFJDHDIERJFDLDFLFEGT
Chromosome C (back),(back),(right),(forward),(left)
9
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 17
Paramétrage
• Taille d'un groupe (nombre d'individus) ? • Le paramétrage doit-il changer en fonction de la
phase de calcul (par ex: plus de mutations à la fin...)
• Certaines fonctions sont-elles plus efficaces avec une taille de population faible ou élévée ?
• Dans le crossover, faut-il préférer la rapidité (afin de faire plus d'itérations) ou des opérateurs plus sophistiqués mais plus longs ?
• Faut-il utiliser une heuristique pour initialiser la population?
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 18
Fonction d’évaluation
• = fonction objectif = « fitness »
• Mesure l’adaptation des individus à un milieu donné
• Maximisation / minimisation en fonction du but recherché
• = critère de sélection
10
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 19
Critère d’arrêt
• Population de taille fixée
• Suivi des valeurs des meilleurs élements de la population:
s'il ne s'est pas amélioré les x dernières générations, on s'arrête.
• Suivi de la différence d’évaluation entre 2 meilleurs individus:
si elle est inférieure à une certaine tolérance, on s'arrête.
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 20
Génération population initiale
• Générée aléatoirement Peut être recentrée si on connaît déjà la région solution
• Doit respecter les contraintes du problème
• Possibilité d’utiliser un ensemble de solutions données par un autre algorithme
11
Application de l’algorithme
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 22
Les opérateurs• Sélection • Mutation • Croisement / cross-over
12
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 23
Sélection
• A partir de la génération k• Fonction du critère d’adaptation afin de
privilégier les individus adaptés au milieux • Méthodes de sélection
• Roulette de casino• N/2 élitisme• Par tournoi
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 24
Sélection : roulette de casino
• + utilisée• Chaque chromosome occupe un secteur de
roulette dont l’angle est proportionnel à l’adaptation
– -> la largeur du secteur sera d’autant plus importante que l’indice de qualité le sera !– -> plus le secteur est important plus les chromosomes auront de chance d’être sélectionnés
13
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 25
Sélection: N/2 élitisme
• Individus triés selon leur fonction d’adaptation
• Seule la ½ supérieur de la population = meilleurs composants seront sélectionnés
– > risque de convergence rapide
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 26
Sélection: par tournoi
• Choix aléatoire de 2 individus
• « combat » = évaluation des 2 chromosomes
• Sélection du meilleur
14
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 27
Croisement
• Échange de parties de chaîne• Un couple d’enfant à partir d’un couple parent
• Point de croisement : entre les gènes ou à l’intérieur d’un gène• Probabilité d’apparition du phénomène = paramètre de l’algorithme
(ente 70 et 95 %)• Opérateur prépondérant de l’algorithme
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 28
Mutation• But : introduire de la nouveauté dans la population• Changement d’une allèle de gène par une autre
• = phénomène local• Choix aléatoire de l’emplacement
• Opérateur de mutation:Principe de l’auto-adaptation
entre 0.5 et 1 %
15
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 29
Réinsertion
Comment insérer les enfants dans la population?
• Éliminer le moins bon du groupe « parents-enfants »• Remplacer l’un des 2 parents • Éliminer l’un des 2 enfants• La nouvelle génération remplace l'ancienne génération (sauf le meilleur individu de l'ancienne génération)
• ….
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 30
Limites• Le temps de calcul
évaluation de chaque individu de chaque génération
• Souvent difficile à programmerréglage des paramètres, crossover…
• Impossibilité de s’assurer de l’optimalité de la solution obtenue
• Risques des optimums locaux
16
Tour d’horizonLe voyageur de commerce
La vie artificielle
Application des algorithmes génétiques
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 32
Tour d’Horizon
• Optimisation de fonctions numériques difficiles• Optimisation d’emploi du temps, de design• Trafic aérien• Systèmes industriels• Réseaux• Réseaux de neurones• …..
17
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 33
Voyageur de commerce
• Comment appliquer l’AG au problème du voyageur de commerce?
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 34
Voyageur de commerce
• Pourquoi utiliser l’AG pour le problème du voyageur de commerce?
Pour N villes, (N-1)! combinaisons…Si N=40, ordi = 1 milliards de calculs/sTemps de résolution…
18
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 35
Voyageur de commerce
• Choix de population
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 36
Voyageur de commerce
• Sélection des individus– La valeur d'adaptation doit être croissante avec
l'adaptation de la solution au problème– tout individu qui n'est pas une solution du
problème (il préconise d'emprunter un chemin qui n'existe pas) aura une valeur d'adaptation négative
19
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 37
Voyageur de commerce
– la valeur d'adaptation varie dans le sens inverse de la distance correspondante au parcours car les meilleures solutions sont les plus courtes.
– valeur d'adaptation = l'inverse de la longueur du parcours
– Sélection par une des 3 méthodes:• Roulette de casino• N/2 élitisme• Par tournoi
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 38
Voyageur de commerce
• Croisement:
20
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 39
Voyageur de commerce
• Mutation
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 40
Voyageur de commerce
Voir APPLETwwwsi.supelec.fr/yb/projets/
algogen/VoydeCom/VoyDeCom.html
21
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 41
La vie artificielle
• Rêve humain de reproduire la vie
• Inspiration des propriétés du vivant (phénomènes biologiques)
• Remarquable capacité d’adaptation au milieu
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 42
Groupes de recherches
• CRSNG : Centre de recherche en sciences naturelles et en génie du Canada– problèmes d'ordonnancement industriel
d'activités;– Problèmes industriels;
22
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 43
Groupes de recherches
• GENITOR :Research Groupin Genetic Algorithms and EvolutionaryComputation– Optimum local;– Comparaison entre différentes méthodes
heuristiques;– Optimisation de l’algorithme.
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 44
Groupes de recherches
• The Genetic Algorithms Group– Utilise les AG pour les études en biologie
moléculaire;– Utilise les AG pour l’intelligence artificielle de
machines;– Travaille sur la théorie.
23
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 45
Groupes de recherches
• ISGA: International Society on GeneticAlgorithms– Fait des conférences sur les nouvelles théories
et l’amélioration des AG;– Fait la liaison entre les AG, la programmation
génétique et évolutionnaire .
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 46
Groupes de recherches
• John R. Koza et son équipe de StanfordUniversity
24
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 47
Groupes de recherches
• Qu’est-ce qu’un programme génétique…?;• Une machine qui compétitionne avec l’être
humain!;• Une machine qui crée des inventions…?;• Ex: PID
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 48
Groupes de recherche
• PID: Proportionnal Integral Derative• Pour les systèmes de commandes: ex:
power stering
25
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 49
Groupes de recherche
• Genetic Algorithms Research andApplications Group (GARAGe)– Optimisation de configuration de molécule– Optimisation de forme irrégulière– Ex: Fly Wheel– http://garage.cps.msu.edu/demos/flywheel/inde
x.html
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 50
Groupes de recherche
• Artificial Neural Networks andComputational Brain Theory (ANNCBT)
• Navy Center for Applied Research in Artificial Intelligence (NCARAI)
• Automated Learning Group (ALG) • …
26
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 51
Logiciels Genetic ProgrammingLogiciel commercial:
Discipulus AIM TechnologiesSPLICER Open Channel Foundation
Programmes de l’algorithme génétique:• DA VINCI, LIL – GP• EVOLVE, GP KERNEL, GPC++• GPSYS, EJC, JGProg…• VISUAL GP…
http://www.geneticprogramming.com/GPpages/software.html
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 52
Logiciels Genetic Algorithm• GAGA, GARP, NNUGA, PGAPACK, SPLICER,
SUGAL …. GALIN• ABALONE• GENRATOR• GAGS
• GARAGe : GALOPPS lilgp DAGA
http://www.geneticprogramming.com/ga/GAsoftware.html
27
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 53
Sites à consulter
Cours et renseignements:• http://www.rennard.org/alife/french/gavintr.html• http://fr.wikipedia.org/wiki/Algorithme_g%C3%A9n%C3%A9tique• http://www.eudil.fr/%7Evmagnin/coursag/• http://cs.felk.cvut.cz/~xobitko/ga/
Sur la programmation de l’algorithme génétique:• http://www.genetic-programming.org/• http://www.aic.nrl.navy.mil/galist/src/#C (sources en différents codes)• http://web.cps.msu.edu/~punch/ (GARAGe)
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 54
Principes fondamentaux
Capacité de représentation des variables sous forme élémentaire
Pourvoir transformer des structures complexes par des opérations élémentaires
28
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 55
Conclusion
• Rappel…
Bonne solution rapidement plutôt qu’une solution optimale en une durée indéfinie !
• L’avenir des AG
17 novembre 2004 MTH 6414 - Algorithmes Génétiques 56
Conclusion
QUESTIONS?