Vous êtes sur la page 1sur 38

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/340175533

ALGORITHMES GÉNÉTIQUES (ÉVOLUTIONNAIRES)

Presentation · March 2020

CITATIONS READS

0 184

1 author:

Redouane Tlemsani
Université des Sciences et de la Technologie d'Oran Mohamed Boudiaf
32 PUBLICATIONS 54 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Mobile learning View project

Biometrics and Machine Learning View project

All content following this page was uploaded by Redouane Tlemsani on 26 March 2020.

The user has requested enhancement of the downloaded file.


ALGORITHMES GÉNÉTIQUES
(ÉVOLUTIONNAIRES)
Dr. Redouane TLEMSANI
LES ALGORITHMES EVOLUTIONNAIRES
(AE)

• Les Algorithmes Evolutionnaires (AE) sont inspirés du concept de sélection naturelle


élaboré par Charles Darwin.
• Le vocabulaire employé est directement calqué sur celui de la théorie de
l’évolution et de la génétique.
• Les phénomènes physiques ou biologiques ont été à la source de nombreux
algorithmes s’en inspirant plus ou moins librement. Ainsi les réseaux de neurones
artificiels s’inspirent du fonctionnement du cerveau humain, l’algorithme de recuit
simulé de la thermodynamique, et les algorithmes évolutionnaires (AEs)(dont les plus
connus sont les algorithmes génétiques) de l’´évolution darwinienne des populations
biologiques.
• Mais les algorithmes évolutionnaires sont avant tout des méthodes stochastiques
d’optimisation globale.
LA SÉLECTION NATURELLE
• S’il n’existe pas de preuve générale de
l’efficacité des AE, il est par contre aisé
de constater l’efficacité de la sélection
naturelle dans le monde vivant.
• Si l’on adhère à ce paradigme, il est
clair que l’évolution a permis
l’émergence d’organismes
étonnamment adaptés à leur
environnement.
• Les AE sont conçus par analogie avec
ce processus d’évolution biologique et
tirent leur puissance des mêmes
mécanismes.
HISTORIQUE

Rechenberg (1963) : Stratégies évolutionnaires («Evolution strategies»).


Utilisent la mutation des paramètres pour résoudre des
problèmes d’optimisation

Holland (1975) : Algorithmes génétiques. Utilisent le croisement, la mutation


et la reproduction d’individus

Koza (1992) : Programmation génétique. Permet de trouver le code


informatique optimal pour résoudre un problème
INTRODUCTION

Les algorithmes génétiques (AG) font partie des algorithmes évolutifs


Adaptés à la recherche de solution dans un espace caractérisé par un grand
nombre de dimensions et de minima locaux

Fondés sur la simulation des mécanismes de la sélection naturelle et de la


génétique
processus d'évolution et d'adaptation en milieu naturel
Algorithmes d'exploration stochastique
ÉVALUATION, CALCUL DE L’ADAPTATION
• Dépend du problème.
• Exemples possibles :

➢ comparaison d’images nombre de pixels semblables


➢ contrôle d ’un robot nombre de chocs contre les murs
➢ classification nombre d ’exemples bien classés
➢ vie artificielle quantité moyenne de nourriture
ingérée dans une simulation
➢ régression de fonction somme ou variance des erreurs
sur un jeu d ’exemples
Apprentissage:
Acquisition de nouvelles connaissances Utilisation adéquate et
pertinente des connaissances

Simulation du
Méthodes Méthodes basées sur
comportement
mathématiques L’IA (raisonnement)
humain
OPTIMISATION

• But: Recherche du maximum


ou du minimum global dans
un espace

• Différentes approches
1. Méthodes systématiques
2. Méthodes déterministes
3. Méthodes stochastiques
PRINCIPE
• Simulation des processus essentiels dans l’évolution des populations dans
l’environnement naturel

• Un AG est un algorithme stochastique itératif qui utilise une population


d’individus représentant les solutions potentielles du problème d’optimisation à
résoudre.

• Cette population va évoluer de générations en générations : les individus les «


mieux adaptés » auront plus de chance de se reproduire et donc de transmettre
leurs caractéristiques héréditaires.

• Le patrimoine génétique d’un individu est contenu dans un chromosome qui est
constitué d’un ensemble de gènes qui prennent leur valeur dans un alphabet
binaire ou non.
PRINCIPE
• Le processus de l’évolution est traduit au travers des opérateurs de sélection et
de reproduction.

• Les individus sont sélectionnés en fonction de leur adaptation.

• Pour se reproduire, deux mécanismes permettent de « fournir » de nouveaux


individus :
• le croisement ou l’hybridation qui combine les génotypes de deux parents et fournit
deux descendants,
• la mutation qui change un ou plusieurs gènes d’un individu.
PRINCIPE
☺ compétition entre les individus d’une population pour les ressources
(eau, nourriture, etc..)

☺ compétition pour attirer les partenaires (mating)

☺ les individus les plus adaptés (performants) vont se reproduire et avoir


plusieurs progénitures

☺ la combinaison des “ bonnes ” caractéristiques des parents va


permettre d’avoir des enfants mieux adaptés

☺ de générations en générations, l’espèce va évoluer et devenir de mieux


en mieux adaptée
PRINCIPE

En termes d’optimisation

☺ fonction d’adaptation : fonction à optimiser ;


☺ individu : solution possible du problème ;
☺ adaptation : mesure “ la qualité ” de la solution (l’individu)
par rapport au problème ;
☺ reproduction : un enfant hérite des gènes de ses parents ;
☺ compétition : une sélection est effectuée entre les individus
de la population. Les meilleurs individus à un instant donné
sont « réutilisés » pour se rapprocher de la solution du
problème
PRINCIPE
VOCABULAIRE

∞ Individu : représenté par un chromosome (génome);


∞ Un chromosome est une “ chaîne ” de gènes ;
∞ Génotype : l’ensemble des gènes représentés par un chromosome;
∞ Phénotype : l’ensemble des valeurs observables prises par chaque gène ;
∞ Fonction d’adaptation : fitness
∞ Opérations de reproduction :
∞ le croisement (crossing-over – hybridation)
∞ la mutation
∞ génération : l’ensemble de la population à un moment donné du processus ;
PRINCIPE
MISE EN ŒUVRE
1. Création d’une population initiale
2. Evaluation des individus de la population
3. Sélection des “ meilleurs ” individus
4. Croisement et mutation dans le « mating pool »
5. Formation d’une nouvelle génération

Retour au 2 si non convergence


Initialisation
de la
population

Sélection
PRINCIPE
Evaluation (Génération
des individus intermédiaire
)
Organigramme
d ’un AG
Reproduction (Croisement
et Mutation)
(Nouvelle Génération
courante)

Evaluation
des individus

Résultat
(Meilleur Critère
individu) d’arrêt
MISE EN ŒUVRE

• Définition d’une fonction d’adaptation (fitness) :


• C’est la fonction à optimiser.
• Son expression peut être immédiate et assez simple (fonction
mathématique), mais ceci n’est pas toujours le cas. On peut donc
être amener à en considérer une approximation.
• A définir en fonction du problème
MISE EN ŒUVRE
• Choix du codage des chromosomes :
• chromosome:= {A}l
• {A} alphabet binaire ou non
• l: longueur du chromosome (fixe ou variable)
• Buts
• pouvoir coder toutes les solutions
• faciliter la mise en œuvre des opérations de reproduction.
• Choix en fonction du problème.
En général on distingue deux classes de problèmes :
• les problèmes à valeur: on cherche les meilleures valeurs possibles des
gènes,
• les problèmes de position: l’ensemble des valeurs finales est connu et
on cherche la meilleure position pour placer chacune de ces
valeurs.
MISE EN ŒUVRE

• Définition des opérations de reproduction


• Croisement :
• S’applique sur deux individus différents.
• Résultat: chromosome formé à partir des gènes de ses deux parents.
• Deux enfants sont “ produits ” pour la génération suivante.
• Un pourcentage de croisement est fixé.
• Mutation :
• S’applique sur un seul individu par la modification de l’un ou plusieurs
gènes du parent choisi(s) aléatoirement.
• Un seul nouvel enfant est fourni.
• Un pourcentage de mutation est fixé.
MISE EN ŒUVRE

Choix de la méthode de sélection :


• Trois objectifs principaux:
• Elle permet de «choisir» les individus sur lesquels s’appliqueront les opérations
de reproduction pour la création de la future génération (création du
mating-pool).
• Elle doit “favoriser” les meilleurs individus
• Elle doit permettre d’explorer les différentes parties de l’ensemble de
recherche.
MISE EN ŒUVRE
• Sélection proportionnelle
• C’est la méthode de sélection la plus utilisée
• Méthode de la Roue (Roulet Wheel Selection-
RWS)
• La roue est divisée en secteurs et chaque
secteur est associé à un individu, la superficie
du secteur étant proportionnelle à la valeur de
l’adaptation de l’individu, les meilleurs individus
auront une probabilité plus grande d’être
choisis.
MISE EN ŒUVRE DE LA SÉLECTION
PROPORTIONNELLE
• n : nombre d’individus à remplacer
• Np: nombre d’individus de la population
• fj : valeur d’adaptation de l’individu j
• ni : le nombre de sélections espérées de l’individu i
MISE EN ŒUVRE
Convergence (Arrêt du processus)
• De générations en générations la fonction d’adaptation du meilleur
chromosome et la moyenne de l’ensemble de la population vont évoluer et
tendre vers l’optimum (global).
• La convergence est l’augmentation progressive vers de l’uniformité.
• Un gène a convergé quand 95% de la population possède la même valeur
du gène.
• La population a convergé quand tous les gènes ont convergé.
MISE EN ŒUVRE
• Convergence
• 2 exemples de courbes illustrant la convergence d’un AG (sur deux
exécutions différentes)
EXEMPLE DE VARIANTE DE
L'ALGORITHME
n = taille de la population c = taux de croisement
l = nombre de caractères de chaque individu m = taux de mutation

initialiser une population (n individus)


calculer le degré d'adaptation de chaque individu
Tant que non fini ou non convergence
sélectionner les cn meilleurs individus, les apparier et effectuer un
croisement pour obtenir les nouveaux individus
chacun des l caractères des nouveaux individus mute avec une
probabilité m
ne conserver que les n meilleurs individus
calculer le degré d'adaptation de chaque individu
fin Tant que
conclure
Exemple détaillé
optimiser f(x)=x² pour x entre 0 et 31 population de n= 4 individus

Choix du codage du paramètre : x codé en binaire sur l=5 caractères.

un individu  {0,1}5

degré d'adaptation : on peut utiliser f directement dans ce cas.

génération initiale et pré-calculs


attendus
n° chaîne x f(x) pi n x pi obtenus
1 0 11 01 13 169 0,14 0,58 1
2 1 10 00 24 576 0,49 1,97 2
3 0 10 00 8 64 0,06 0,22 0
4 1 00 11 19 361 0,31 1,23 1
Total 1170 1 4 4
moyenne 293
max 576
Exemple détaillé
Croisement

individu partenaireposition obtenu x f(x )


croisement
0 1 1 0 1| 2 4 0 1 1 0 | 0 12 144
1 1 0 0 0| 1 4 1 1 0 0 | 1 25 625
1 1 | 0 00 4 2 1 1 | 0 1 1 27 729
1 0 | 0 11 3 2 1 0 | 0 0 0 16 256
Total 1754
Moyenne 439
Max 729

Mutation

On essaie une mutation de 0,001 et rien n'est modifié.

Il faut maintenant sélectionner les survivants et recommencer


POURQUOI ÇA MARCHE ?

un caractère une
=
d'un individu information

formation de nouveaux
échange d'informations
croisement = = "points de vue"
entre individus
(par destruction)

éviter l’oubli de caractéristiques


la mutation = dimension aléatoire
sortir d'un minimum local

reproduction
favoriser les informations
et
présentes dans les individus les
sélection
mieux adaptés
POSITIONS DE LA POPULATION DE CHROMOSOMES SUR
LA SURFACE DE LA FONCTION F(X,Y)

Initiale 1ère génération

Maximum local Maximum global


UTILISATION

• Démo
• Problème classique : le voyageur de commerce:
• Recherche d’un cycle hamiltonien de plus courte
distance dans un graphe
• Comparaison de l’algorithme Monte Carlo avec un
algorithme génétique.
APPLICATIONS DES AG
• Pattern Search Climbs Mount Washington
APPLICATIONS

• Les applications des AG sont multiples :


• optimisation de fonctions numériques difficiles (discontinues, multimodales,
bruitées…), traitement d’image (alignement de photos satellites,
reconnaissance de suspects…),
• optimisation d’emplois du temps, optimisation de design, contrôle de systèmes
industriels [Beasley, 1993a],
• apprentissage des réseaux de neurones [Renders, 1995], etc.
• Les AG peuvent être utilisés pour contrôler un système évoluant dans le temps
(chaîne de production, centrale nucléaire…) car la population peut s’adapter à
des conditions changeantes.
• En particulier, ils supportent bien l’existence de bruit dans la fonction à optimiser.
Ils peuvent aussi servir à déterminer la configuration d’énergie minimale d’une
molécule ou à modéliser le comportement animal.
APPLICATIONS

• Les AG sont également utilisés pour optimiser


• des réseaux (câbles, fibres optiques, mais aussi eau, gaz…),
• des circuits VLSI [Beasley, 1993a],
• des antennes [Reineix, 1997]…
• Ils peuvent être utilisés pour
• trouver les paramètres d’un modèle petit-signal à partir des mesures
expérimentales [Menozzi, 1997].
• Des commutateurs optiques adiabatiques ont été optimisés à l’aide des
Stratégies d’Evolutions (autres AE) chez SIEMENS AG [Moosburger, 1997].
• On envisage l’intégration d’AG dans certaines puces électroniques afin qu’elles
soient capables de se reconfigurer automatiquement en fonction de leur
environnement (Evolving Hardware en anglais ) .

View publication stats

Vous aimerez peut-être aussi