Vous êtes sur la page 1sur 22

Introduction aux algorithmes

évolutionnaires
Les AG

1
Exemples de la vie de tous les jours

2
Les grands opérateurs

3
Élaboration d’un algorithme génétique

4
5
Génération de la population initiale
• Un mécanisme de génération de la population initiale.
• Ce mécanisme doit être capable de produire une population d’individus non homogène
qui servira de base pour les générations futures.
• Le choix de la population initiale est important car il peut rendre plus ou moins rapide la
convergence vers l’optimum global.
• Dans le cas où l’on ne connaît rien du problème à résoudre, il est essentiel que la
population initiale soit répartie sur tout le domaine de recherche.
• Les opérateurs permettant de diversifier la population au cours des générations et
d’explorer l’espace d’état.
• L’opérateur de croisement recompose les gènes d’individus existant dans la population,
• L’opérateur de mutation a pour but de garantir l’exploration de l’espace d’état., pour
améliorer la qualité de la nouvelle génération.
• Les paramètres de dimensionnement : taille de la population, nombre total de
générations, critère d’arrêt, probabilités d’application des opérateurs de croisement
et de mutation.

6
Sélection
• On sélectionne les meilleurs individus en fonction de leur évaluation ou fitness,
• Il existe plusieurs méthodes de sélection.
• Sélection par rang :
• Il s'agit également d'implémenter une roulette, mais cette fois-ci les secteurs de la roue ne sont plus
proportionnels à la qualité des individus, mais à leur rang dans la population triée en fonction de la qualité des
individus.
• Il faut trier la population en fonction de la qualité des individus puis leur attribuer à chacun un rang. Les
individus de moins bonne qualité obtiennent un rang faible (à partir de 1). Et ainsi en itérant sur chaque individu
on finit par attribuer le rang N au meilleur individu (où N est la taille de la population).
• En fait, si N individus constituent la population, la sélection appliquée consiste à conserver les k meilleurs individus
(au sens de la fonction d'évaluation),

7
Sélection
• Sélection par roulette:
• La sélection des individus par le système de la roulette s'inspire des roues de
loterie.

• À chacun des individus de la population est associé un secteur d'une roue.

• L'angle du secteur étant proportionnel à la qualité de l'individu qu'il représente.

• Vous tournez la roue et vous obtenez un individu.

• Les tirages des individus sont ainsi pondérés par leur qualité. Et presque
logiquement, les meilleurs individus ont plus de chances d'être croisés et de
participer à l'amélioration de notre population.

8
Sélection
• Sélection par tournoi:

• Le principe de la sélection par tournoi augmente les chances pour les individus de médiocre qualité de
participer à l'amélioration de la population.
• Le principe est très rapide à implémenter. Un tournoi consiste en une rencontre entre plusieurs individus
pris au hasard dans la population.
• Le vainqueur du tournoi est l'individu de meilleure qualité.
• Vous pouvez choisir de ne conserver que le vainqueur comme vous pouvez choisir de conserver les deux
meilleurs individus ou les trois meilleurs.
• À vous de voir, selon que vous souhaitez créer beaucoup de tournois, ou bien créer des tournois avec
beaucoup de participants ou bien mettre en avant ceux qui gagnent les tournois haut la main. Vous pouvez
faire participer un même individu à plusieurs tournois. Une fois de plus, vous êtes totalement libre quant à
la manière d'implémenter cette technique de sélection.4. L'élitisme
• Sélection uniforme:

• La sélection se fait aléatoirement, uniformément et sans intervention de la valeur d'adaptation. Chaque


individu a donc une probabilité 1/N d'être sélectionné, où N est le nombre total d'individus dans la
population.
9
Croisement
• Croisement (Crossover):
• On L’étape suivante consiste à croiser les individus précédemment sélectionnés pour
obtenir une nouvelle population.
• Deux parents sont donc choisis pour appliquer un opérateur de croisement afin
d’obtenir un descendant (nouvel individu).
• Il existe de nombreuses techniques de croisement ;
• Croisement en un point : Cet opérateur consiste à recopier une partie du parent 1 et
une partie du parent 2 pour obtenir un nouvel individu. Le point de séparation des
parents est appelé point de croisement.
• Croisement en deux points: on a 2 points de croisements.
• Croisement Uniforme: aléatoire,

10
Croisement

11
Mutation
• Un procédé de mutation est utilisé pour diversifier les solutions au fur et à mesure des générations.
• La mutation est importante pour éviter de tomber dans le problème de l’optimum local, c’est-à-dire
éviter de rester « coincé » autour d'une solution pas forcément optimale.
• Cette mutation consiste à modifier aléatoirement une petite partie d’un caractère dans certains
individus de la nouvelle génération.
• Cette étape est effectuée avec une très faible probabilité, et consiste par exemple à échanger deux
villes consécutives dans un individu

12
Mutation
• Dans certains cas, après chaque croisement et mutation, une
étape d’optimisation des descendants est appliquée.
• L’utilisation d’un algorithme de type recherche locale est adapté
pour effectuer cette optimisation rapidement.
• Nous parlerons alors d’algorithme mimétique.
• L’algorithme mimétique est intéressant pour obtenir plusieurs
solutions de bonne qualité.
• En effet, à la fin de l’algorithme, la population est constituée des
meilleures solutions trouvées.

13
Test d'arrêt
• Puisque c’est un algorithme itératif, Différents critères d'arrêt
peuvent être choisis. Les plus courants pour arrêter la processus
:

• Le nombre de générations que l’on souhaite exécuter peut être fixé a priori. C’est ce
que l’on est tenté de faire lorsque l’on doit trouver une solution dans un temps limité.
• L’algorithme peut être arrêté lorsque la population n’évolue plus ou plus suffisamment
rapidement.
• Après qu’un certain nombre d'itérations ou un certain temps de calcul aient été
effectuées sans qu'il y ait eu d'amélioration de la population (la solution ).

14
Problème du voyageur de commerce (1)

• Le TSP (Traveling Salesmen Problem) est largement étudié et fait


l’intérêt de plusieurs recherches
• Très connu dans le domaine de l'optimisation combinatoire
• C’est un modèle qui représentent un nombre important de problèmes
réels
• L'objectif est de résoudre en un temps de calcul raisonnable et avec
une qualité de solution meilleure.
• Il existe de nombreux algorithmes approchés pour sa résolution, tel
que: les algorithme génétique

15
Problème du voyageur de commerce (2)
Un voyageur de commerce doit visiter une et une seule fois un nombre
fini de villes et revenir à son point de départ. On veut trouver le chemin
de visite des villes qui minimise la distance totale parcourue par le
voyageur. En théorie des graphe, e problème du voyageur de commerce
consiste à calculer un cycle hamiltonien de coût minimal dans G.
• On va Résoudre le TSP Suivant par l’Algorithme Génétique:

16
Problème du voyageur de commerce (3)

• Le problème du voyageur de commerce peut être modélisé à l’aide d’un graphe complet pondéré,
• Comme il existe une arête entre chaque paire de sommets, on dit que ce graphe est complet.
• Chaque sommet représente une ville,
• une arête représente le passage d’une ville à une autre,
• Le poids pouvant représente une distance, un temps de parcours ou encore un coût. Notons que les
poids ne sont pas nécessairement symétriques, (dans notre cas, on les considère symétriques).
• Le graphe peut être représenté par une matrice de poids. En lignes figurent les sommets d’origine
des arêtes et en colonnes les sommets de destination ;
• le poids sur chaque arête apparaît à l’intersection de la ligne et de la colonne correspondantes.

17
- Donner la matrices d’incidences ou de poids du modèle suivant:

18
19
Les paramètres a fixer au début de l’AG
• Notre objectif: l’inconnue est le chemin hamiltonien minimal: Une liste dans un certain ordre contenant tous les
sommets: x
• Structuration du chromosome: comment représenter les informations du problème?

• Initialisation: choisir le nombre d’individus dans la populations initiale N=5,


• Fonction d’évaluation ou fitness: selon le contexte du problème f(x), qui représente la minimisation du chemin
hamiltonien,
• L’opérateur de sélection: probabilité que l’individu i soit sélectionné: on peut le définir par la probabilité de
sélection :

Pc ou Pm : probabilité de croisement qui détermine si le croisement est fait ou non,


Si la probabilité est supérieure pas de croisement donc on ajoutes les 2 parents choisis comme ils sont à la nouvelle
génération (clonage).
20
Programmation génétique
• Le but de l’algorithme génétique est de faire évoluer notre population initiale vers une population contenant de
meilleurs individus.
• Un algorithme génétique est constitué de 5 grandes phases :
• Création d'une population initiale
• Évaluation de la "fitness" (qualité) des individus Sélection des parents Création de nouveaux individus
• Ajout des nouveaux individus dans la population
• Retour à la seconde étape
• les paramètres choisis pour la résolution du TSP avec AG
• Le nombre de villes: N=5
• Population initiale : Dimensionnement M=10,
• Un chromosome de N gènes (chaque gène du chromosome=numéro de la ville)
• Fonction d’évaluation: minimisation de la distance du chemin parcouru,
• Operateur de croisement avec une probabilité Pc=0.8.
• Opérateur de mutation avec une probabilité Pm=0.001
• Test d’arrêt nombre de générations = 50,

21
Les paramètres choisis
• On réitère jusqu’à atteindre le teste d’arrêt:
• Exemple: Test d’arrêt nombre de générations = 50.
• Génération initiale : Dimensionnement n=5,
• Fonction d’évaluation: minimisation de la distance du chemin parcouru,
• Dimensionnement :nombre d’individus sélectionnés: N =3
• Operateur de croisement: prendre les 2 gènes de partir du 1 gènes selon la
probabilité Pc=0.8.
• Opérateur de mutation: muter le 3 gène selon la probabilité Pm=0.001
• Test d’arrêt nombre de générations = 50,
22

Vous aimerez peut-être aussi