28
Algorithmes Génétiques MTH 6414 17 novembre 2004 Jean-Sébastien LACROIX Sté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 .

Algorithmes G.n.tiques finale - drmdh.free.fr

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algorithmes G.n.tiques finale - drmdh.free.fr

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 .

Page 2: Algorithmes G.n.tiques finale - drmdh.free.fr

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…

Page 3: Algorithmes G.n.tiques finale - drmdh.free.fr

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:

Page 4: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 5: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 6: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 7: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 8: Algorithmes G.n.tiques finale - drmdh.free.fr

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)

Page 9: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 10: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 11: Algorithmes G.n.tiques finale - drmdh.free.fr

11

Application de l’algorithme

17 novembre 2004 MTH 6414 - Algorithmes Génétiques 22

Les opérateurs• Sélection • Mutation • Croisement / cross-over

Page 12: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 13: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 14: Algorithmes G.n.tiques finale - drmdh.free.fr

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 %

Page 15: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 16: Algorithmes G.n.tiques finale - drmdh.free.fr

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• …..

Page 17: Algorithmes G.n.tiques finale - drmdh.free.fr

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…

Page 18: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 19: Algorithmes G.n.tiques finale - drmdh.free.fr

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:

Page 20: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 21: Algorithmes G.n.tiques finale - drmdh.free.fr

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;

Page 22: Algorithmes G.n.tiques finale - drmdh.free.fr

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.

Page 23: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 24: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 25: Algorithmes G.n.tiques finale - drmdh.free.fr

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) • …

Page 26: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 27: Algorithmes G.n.tiques finale - drmdh.free.fr

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

Page 28: Algorithmes G.n.tiques finale - drmdh.free.fr

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?