0% ont trouvé ce document utile (0 vote)
17 vues33 pages

Algorithmes Évolutifs en Soft Computing

Le document présente un aperçu des algorithmes évolutifs, en commençant par leur historique et leur définition, puis en détaillant les concepts de codage, sélection, croisement et mutation. Il explique comment ces algorithmes s'inspirent des mécanismes de la sélection naturelle pour optimiser des solutions à des problèmes complexes. Les différentes techniques de sélection et les étapes du processus d'évolution sont également abordées, soulignant l'importance de la performance des individus dans la génération suivante.

Transféré par

Sana Brahmi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Inversion,
  • Paramètres d'algorithme,
  • Stratégies d'optimisation,
  • Croisement,
  • Historique des algorithmes gén…,
  • Transposition,
  • Nombre de générations,
  • Probabilités de croisement,
  • Évaluation de la performance,
  • Algorithmes génétiques
0% ont trouvé ce document utile (0 vote)
17 vues33 pages

Algorithmes Évolutifs en Soft Computing

Le document présente un aperçu des algorithmes évolutifs, en commençant par leur historique et leur définition, puis en détaillant les concepts de codage, sélection, croisement et mutation. Il explique comment ces algorithmes s'inspirent des mécanismes de la sélection naturelle pour optimiser des solutions à des problèmes complexes. Les différentes techniques de sélection et les étapes du processus d'évolution sont également abordées, soulignant l'importance de la performance des individus dans la génération suivante.

Transféré par

Sana Brahmi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Inversion,
  • Paramètres d'algorithme,
  • Stratégies d'optimisation,
  • Croisement,
  • Historique des algorithmes gén…,
  • Transposition,
  • Nombre de générations,
  • Probabilités de croisement,
  • Évaluation de la performance,
  • Algorithmes génétiques

B.

FAYECH

Soft Computing, B.FAYECH ENSIT, 2024-2025 1


 Historique
 Définition
 Terminologie
 Architecture globale des algorithmes évolutifs
 Codage
 Sélection
 Croisement
 Mutation
 Propriétés

Soft Computing, B.FAYECH 2


ENSIT, 2024-2025
 1860
◦ Charles Darwin : L'origine des espèces au moyen de la sélection naturelle
ou la lutte pour l'existence dans la nature.
◦ Théorie de l'évolution des espèces : sous l'influence des contraintes
extérieurs, les êtres vivants se sont graduellement adaptés à leur milieu
naturel au travers de processus de reproductions.

 20ème siècle
◦ Existence des mutations génétiques.
◦ Les chercheurs en informatique étudient des méthodes pour permettre aux systèmes
d'évoluer spontanément en fonction des nouvelles conditions.

 1966
◦ Programmation évolutionnaire L. J. Fogel.

Soft Computing, B.FAYECH 3


ENSIT, 2024-2025
 1973
◦ Stratégie d'évolution I. Rechenberg.

 1975
◦ Dans les années 1960, John Holland étudient les systémes évolutifs et, en 1975, il introduit
le premier modèle formel des algorithmes génétiques (the canonical genetic algorithm
AGC) dans son livre Adaptation in Natural and Artificial Systems.

 1989
◦ David Goldberg publie un ouvrage de vulgarisation des algorithmes génétiques.

 1990
◦ Programmation d'une panoplie d'algorithmes génétiques transcris en C++, appelée GAlib.
(librairie d’outils pour des problèmes d'optimisation en utilisant les AG et pour servir de
support de programmation)

Soft Computing, B.FAYECH 4


ENSIT, 2024-2025
 Les algorithmes évolutifs sont des algorithmes d'optimisation s'appuyant sur des
techniques dérivées de la génétique et des mécanismes d'évolution de la nature :
croisements, mutations, sélections, etc…
 Algorithme de recherche globale : avec plusieurs solutions évoluant en parallèle !

 Principe inspiré d'une analogie biologique :


◦ on considère un ensemble de solutions comme une population d'individus susceptible
d'évoluer et de se croiser, en suivant certaines règles proches de la sélection naturelle.
 L'intérêt principal est de couvrir l'espace de recherche plus largement : exploration

 Trois opérations sont réalisées successivement sur la population :


◦ la sélection des meilleures solutions/individus en proportion de leur adaptation ou avec
une probabilité proportionnelle
◦ le croisement d'individus entre eux
◦ la mutation éventuelle d'un ou de plusieurs individus : changements aléatoires

Soft Computing, B.FAYECH 5


ENSIT, 2024-2025
 Individu ou solution : possède une empreinte génétique, appelée chromosome
 Chromosome : (génotype) éléments à partir desquels sont élaborés les
solutions (mutation et croisement génétiques).

 Gènes : un ensemble de caractéristiques constituant les chromosomes

 Allèles : les valeurs que peuvent prendre les gènes


 Population : (génération) ensemble de chromosomes

 Reproduction : étape de combinaison des chromosomes


 Fitness ou adaptation d’un individu : L'adaptation ou fitness d'un individu :
donnée par une fonction d'utilité (on cherche à maximiser l'adaptation des
individus).

Soft Computing, B.FAYECH 6


ENSIT, 2024-2025
 Après la phase de formulation mathématique, une structure de données est associée à
chaque point de l’espace de recherche.
 Représentation génétique des solutions du problème
 Le codage approprié des solutions sous forme de chromosomes ou génotypes.
 Gène : un paramètre de la solution
 Chromosome : suite de gènes
 La qualité du codage conditionne le succès de l’AG
 Au début : codage binaire

ENSIT, 2024-2025 Soft Computing, B.FAYECH 7


 Le codage peut être :
 direct quand il y a une correspondance biunivoque entre l’ensemble des
chromosomes et celui des solutions qui leur correspond
 indirect quand un générateur doit être utilisé pour définir la solution associée à
un chromosome
 mixte lorsqu’il combine les deux codages
 Exemple : problème d’affectation d’une tournée à un véhicule avec 10 villes et des
variables d’affectation binaires
1 2 3 4 5 6 7 8 9 10
1 1 0 0 1 0 0 0 1 1

 Exemple : PVC avec codage d’une permutation

ENSIT, 2024-2025 Soft Computing, B.FAYECH 8


Genèse

Evaluation

[Arrêt] Sélection

Mutation Croisement

Reproduction

ENSIT, 2024-2025 Soft Computing, B.FAYECH 9


 Genèse : première phase de l’algorithme dans laquelle la population initiale est
construite d’une manière aléatoire ou à travers des résultats issus d’autres
techniques d’optimisation.

 Evaluation : consiste à calculer la valeur de la fonction coût ou d’évaluation pour


chaque individu. Selon Holland, fitness = coût/moyenne de la population. En
général, confusion entre fitness et fonction d’évaluation.

 Sélection : le choix des éléments les plus adaptés pour la formation de la nouvelle
génération.

 Croisement et mutation : phase de reproduction dans laquelle une nouvelle


population est construite à partir des individus sélectionnés via des opérateurs de
croisement et de mutation.

 Arrêt : il s’agit d’un test de l’efficacité de l’algorithme à travers une valeur de la


fonction objectif à atteindre, le nombre d’itérations ou le temps d’exécution. La
solution courante est prise quand ce test est vérifié ; sinon, les étapes sont
recommencées à partir de l’évaluation.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 10


Population de 10
Hypothèse: les individus
00100110 chromosomes sont classés selon leur
performance par ordre
Genèse I1 I2
décroissant (meilleur I1)
Une nouvelle I3 I4
génération f7 I5 I6
Evaluation I7 I8
I1 I2 Population
f9 I9 I10
I3 I4 Intermédiaire de 10
I5 I6
[Arrêt?] individus sélectionnés
I7 I8
I9 I10 Sélectionner les 4
I1 I2
meilleurs individus
(déterministe) I3 I4
I1 I2
Sélection
I3 I4
I1 I2

Mutation
Croisement
00100110
00100110 00100011
00100010
I’1 I’2
01110011 01110110

Modifier aléatoirement les I’3 I’4


individus avec prob pm I’5 I’6
Croiser les couples
I’7 I’8
d’individus avec prob pc
I’9 I’10

ENSIT, 2024-2025 Soft Computing, B.FAYECH 11


 La sélection consiste à choisir les individus de la population courante qui vont survivre
et se reproduire : création d’une population intermédiaire.
 Sélection en fonction de la valeur de la fonction coût (fitness) qui évalue les solutions.
 L’opérateur de sélection joue un rôle primordial dans la détermination de la performance
des nouvelles générations et donc dans l’amélioration de la qualité des solutions.

 Plusieurs techniques de sélection


 La sélection déterministe (« steady state ») consiste par exemple à garder les k
meilleurs individus (d’une population de n individus) au sens de leurs fitness et de
rejeter le reste, ce qui implique leur classement ou « ranking ». Un individu peut
donc être sélectionné plusieurs fois.

I1 I2
I1 I2
I3 I4 Sélection des 4 meilleurs
I3 I4
Population I5 I6 Population
I1 I2
I7 I8 intermédiaire
I3 I4
I9 I10 I1 I2

f1>f2>…>f10

ENSIT, 2024-2025 Soft Computing, B.FAYECH 12


 Sélection par tournoi (stochastique)
 Sur une population de chromosomes, former m paires de chromosomes
(successifs, premier/denier, aléatoirement, …).
 Ajout d’un paramètre à l'AG : probabilité de victoire du plus fort, çad la
chance qu’a le meilleur chromosome de chaque paire d'être sélectionné (en
général de 70% à 100%).
 A partir des paires, faire combattre les individus et déterminer ceux qui vont
survivre pour la reproduction.
Plus fort ou plus
Paires d’individus faible?
it1 (I1, I10) Aléa=0,25<p →Plus fort : I1
I1 I2 Sélection par tournoi it2 (I2, I9) Aléa=0,53<p →Plus fort : I2
I1 I2
I3 I4 prob de choix du plus fort it3 (I3, I8) Aléa=0,05<p →Plus fort : I3
I3 I7
I5 I6 p=0,75 it4 (I4, I7) Aléa=0,88>p →Plus faible : I7
I5 I1
I7 I8 it5 (I5, I6) Aléa=0,67<p →Plus fort : I5 I9 I3
I9 I10 it6 (I1, I10) Aléa=0,14<p →Plus fort : I1 I4 I5
it7 (I2, I9) Aléa=0,93>p →Plus faible : I9
it8 (I3, I8) Aléa=0,33<p →Plus fort : I3
f1>f2>…>f10 (I4, I7) Aléa=0,66<p →Plus fort : I4
it9
it10 (I5, I6) Aléa=0,21<p →Plus fort : I5

Soft Computing, B.FAYECH 13


ENSIT, 2024-2025
 Sélection par de la Roulette (« Roulette / Wheel »)[Goldberg]
 Chaque individu occupe une surface de la roue proportionnelle à sa fonction
coût.
 En supposant que fi est la valeur de la fonction coût associée au i-ème
individu, la probabilité pi de sélection de ce dernier est en fait égale à fi/fs où
fs=fj.
 On génère un nombre R entre 0 et fs .
 On calcule ensuite une somme S des évaluations en s'arrêtant dès que R est
dépassé.
 Le dernier chromosome dont la fonction d'évaluation vient d'être ajoutée est
sélectionné.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 14


 Exemple : Population de départ

fs=59; S=0 (position du curseur)


Roulette 33,25 It1 : R=9 → S=9 → I4
It2 : R=5 → S=14 → I3
3 It3 : R=25 → S=39 → I1
19 11 It4 : R=10 → S=49 → I4
I2 I1
14,25
44,25
I3 I4
2 5 Population des survivants
9,25
24 Nouv. Ind. séquence
1 4 1 11000

0 59 2 00101
3 01011
4 11000

ENSIT, 2024-2025 Soft Computing, B.FAYECH 15


 La sélection par rang (stochastique)
 consiste à trier les individus dans l’ordre croissant selon leur fitness et de leur
attribuer des rangs : 1 pour le pire, 2 pour le second, etc.
 Sélection par roulette mais selon les rangs des individus

 Exemple :
Chromosomes 1 2 3 4 5 6 Total

Probabilités
89 % 4,1 % 0,2 % 3,3 % 2,1 % 1,3 % 100 %
initiales

Rang 6 5 1 4 3 2 21
Probabilités
29 % 24 % 5% 19 % 14 % 9% 100%
finales

→ Réaliser une sélection par Roulette avec ces nouvelles prob.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 16


 Exercice
Donner la population résultante d’une sélection par les rangs,
en considérant les nombres suivants tirés successivement au
hasard : (2, 9, 3.5, 1.5)
Rang
2
3
1 5
4
10

3 2
fs=10; S=0 I2 I1
2,5 7,5
It1 : R=2 → S=2 → I3 I3
1
It2 : R=9 → S=11 → =1→ I4 I4
It3 : R=3,5 → S=4,5 → I2 1,5
4
It4 : R=1,5 → S=6 → I1
0 10

Soft Computing, B.FAYECH 17


ENSIT, 2024-2025
 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.

 Exercice
En considérant les nombres suivants tirés successivement au hasard, donner la
population résultante d’une sélection uniforme :
(0.33, 0.22, 0.94, 0.47, 0.09, 0.43, 0.56, 0.13, 0.03)

I1 I2 I3 I4
0 0,25 0,5 0,75 1

It1 : R=0,33 → I2
It2 : R=0,22 → I1
It3 : R=0,94 → I4
It4 : R=0.47 → I2

ENSIT, 2024-2025 Soft Computing, B.FAYECH 18


 La sélection par les restes (stochastique)
 Sur une population de N individus, deux phases :
 sélectionner l’individu i autant de fois que la partie entière du nombre Ei
avec : Ei = Npi
 La population intermédiaire n’étant pas totalement complète, la
probabilité de sélection de l’individu i est égale à la différence ou au reste
Ri avec Ri = Ei − ent(Ei ) où ent(Ei) est la partie entière de Ei.
 Avantage : la chance qui est attribuée aux moins bons individus d’être
sélectionnés, ce qui procure une meilleure diversité dans la population
intermédiaire.
 Exemple : (population de 100)
 Supposons que l’individu 0 a une probabilité de sélection p0=0,046
 E0 devient égal à 4,6.
 Donc : 4 copies de cet individu dans la population intermédiaire.
 Il peut être sélectionné plus que 4 fois avec une probabilité de R0=0,6.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 19


 Exercice
En considérant les nombres suivants tirés successivement au
hasard, donner la population résultante d’une sélection par les
restes : (0.3, 0.65, 0.47, 0.21,0.87).
Ind pi Ei Ent(Ei) Ri
1 0,186 0,744 0 0,744
2 0,322 1,288 1 0,288
3 0,085 0,34 0 0,34
4 0,407 1,628 1 0,628
1 - 2 -

Première phase : sélection de 2 individus à partir des ent(Ei) → I2 et I4

Deuxième phase : sélection à partir des Ri (deux individus manquants)


I1 : aléa=0,3 < R1=0,744 → I1
I2 : aléa=0,65>R2=0,288 → non
I2 I4 I1 I4
I3 : aléa=0,47>R3=0,34 → non
I4 : aléa=0,21<R4=0,628 → I4

ENSIT, 2024-2025 Soft Computing, B.FAYECH 20


 Elitisme
 A la création d’une nouvelle population, il y a de grandes chances que les
meilleurs chromosomes soient perdus après les opérations de croisement et de
mutation.
 Copie d’un ou plusieurs des meilleurs chromosomes dans la nouvelle
génération, le reste de la population est généré selon l’algorithme de
reproduction.
 Amélioration de l’AG : ne pas perdre les meilleures solutions.

 L’inconvénient de la sélection réside dans le choix exclusif des meilleurs individus de la


population au détriment de la diversité des solutions. L’algorithme risque ainsi de
converger prématurément.

 Pour avoir une bonne exploration de l’espace de recherche, des opérateurs de croisement
et de mutation sont appliqués aux individus sélectionnés pour en créer des nouveaux.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 21


 Il permet l’exploration de l’espace de recherche.
 Une fois la population intermédiaire déterminée, les individus sont aléatoirement répartis
en couples. Les chromosomes sont alors copiés et recombinés de façon à former deux
descendants possédant des caractéristiques issues des deux parents. On forme ainsi la
génération suivante.
 L’opérateur de croisement opère avec une probabilité pc
 Plus ce taux est élevé, plus il y a de nouvelles structures qui apparaissent dans la
population.
 S’il est trop élevé, les bonnes solutions risquent d’être cassées trop vite par rapport à
l’amélioration que peut apporter la sélection.
 Si le taux de croisement est très faible, la recherche risque de stagner à cause du faible
taux d’exploration.
 Les méthodes de croisement les plus utilisées sont le croisement à un point, le croisement
multi-points et le croisement uniforme.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 22


 Croisement à un point :
 Choisir au hasard, un point de croisement pour chaque couple de
chromosomes et effectuer un échange des ensembles d’allèles se trouvant
de part et d’autre de ce point entre les deux parents

ENSIT, 2024-2025 Soft Computing, B.FAYECH 23


 Croisement multi-points :
 Plusieurs points de croisement sont sélectionnés et il y a un échange des
différentes parties d’allèles cernées par ces points, entre les parents.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 24


 Croisement uniforme :
 A l’aide d’un masque qui représente les tirages aléatoires pour
décider de la transmission de la valeur de l’allèle à l’un ou l’autre des
descendants.
 Si, à la même position que l’allèle, la valeur du masque est égale à 1,
l’allèle du parent 1 passe à celui de l’enfant 1 et l’allèle du parent 2
passe à l’enfant 2. Sinon, c’est l’inverse qui se produit.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 25


 Exemple : Croisement deux points avec corrections aléatoire

 Correction : Supprimer à l’extérieur des points de coupe les villes déjà


placées à l’intérieur et remplir les trous aléatoirement par les villes
manquantes

ENSIT, 2024-2025 Soft Computing, B.FAYECH 26


 Exemple du Croisement PMX (Partially Mixed Crossover) :
On remplace le double par la valeur qui était à sa place dans la partie interne sans créer de
nouveaux doublons.
P1 0 7 5 9 2 4 6 8 3 1

P2 7 9 2 3 1 6 5 4 0 8

Croisement et détection
des doubles

E1 0 7 2 3 1 4 6 8 3 1

E2 7 9 5 9 2 6 5 4 0 8

correction

E1 0 7 2 3 1 4 6 8 9 5

E2 7 3 5 9 2 6 1 4 0 8

ENSIT, 2024-2025 Soft Computing, B.FAYECH 27


 Exemple du Croisement OX (Ordred Crossover) :
 On remplie les parties externes avec les villes dans l’ordre dans lequel elles se
trouvent dans le parent correspondant, à partir du deuxième point de coupure sans
créer de doublons.
P1 0 7 5 9 2 4 6 8 3 1

P2 7 9 2 3 1 6 5 4 0 8

Croisement des parties


internes

E1 2 3 1

E2 5 9 2

Remplissage des
parties externes

E1 5 9 2 3 1 4 6 8 0 7

E2 3 1 5 9 2 6 4 0 8 7

ENSIT, 2024-2025 Soft Computing, B.FAYECH 28


 La modification aléatoire de la valeur d’un allèle dans un chromosome.
 Elle joue le rôle de bruit et empêche l’évolution de se figer et garantit que l’optimum
global peut être atteint.
 Cet opérateur évite une convergence prématurée vers les optima locaux.
 Il est appliqué avec une probabilité fixée, pm.
 Le taux de mutation rend la recherche trop aléatoire s’il est trop élevé.
 S’il est trop faible, la recherche risque de stagner.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 29


 Il existe d’autres façons d’effectuer des mutations : transposition de deux allèles
consécutifs, transposition d’allèles dans un chromosome, inversion de l’ordre des allèles
présents entre deux coupes, insertion, etc.

 Il est aussi possible d’associer une probabilité de mutation différente à chaque gène,
selon le principe de l’auto-adaptation, où chaque variable est soumise au processus
d’évolution. L’individu possède ainsi un second chromosome codant ces probabilités.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 30


 Les AGs sont capables de s’adapter à n’importe quel espace de recherche.
 Grâce à leur caractère modulaire, ces algorithmes ont une indépendance presque
totale du problème à optimiser.
 Ils demandent une mesure de la qualité de la solution et nécessitent la définition de
l’espace par un codage et des opérateurs qui lui permettent de le parcourir
efficacement.

 Le principal avantage des AGs par rapport aux autres techniques d’optimisation
(énumératives, « hill-climbing », etc.) consiste en une combinaison de :
 l’exploration de l’espace de recherche, basée sur des paramètres aléatoires, grâce à
une recherche parallèle,
 l’exploitation des meilleures solutions disponibles à un moment donné.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 31


 MAIS
 Il faut tenir compte des spécificités du problème pour concevoir ou choisir le
codage et les opérateurs les plus adéquats.
 Il est nécessaire d’effectuer plusieurs expérimentations pour ajuster les
paramètres de l’algorithme
 taille de la population
 probabilités de croisement et de mutation
 nombre de générations
 technique de remplacement,
 etc.

ENSIT, 2024-2025 Soft Computing, B.FAYECH 32


1. Ecrire en pseudo code, le corps de l’algorithme génétique de base réalisant G générations et
affichant à la fin la valeur du fitness du meilleur individu rencontré Best, en ayant comme
constantes, types, et fonctions prédéfinis :
- les types chrom (un tableau de L valeurs binaires), population (un tableau de N chromosomes de
type chrom) ;
- les fonctions :
- initialisation : qui crée aléatoirement un chromosome de taille L ;
- eval : qui évalue le fitness d’un chromosome et renvoie un réel ;
- croisement : qui prend deux chromosomes de tailles L, les croise et les remplace par leurs
enfants selon une probabilité pc (le croisement sera réalisé par paires de chromosomes
successifs) ;
- mutation : qui mute un chromosome de taille L avec une probabilité pm ;
- select : qui à partir d’une population pop, sélectionne N chromosomes et renvoie une autre
population (npop) remplie ces derniers.
Pour i de 1 à N
pop[i] initialisation(L)
Fin pour
Best eval(pop[1],L)
Pour i de 2 à N
Si eval(pop[i])>Best alors Best eval(pop[i]) Fin Si
Fin pour
Pour i de 1 à G
npopselect(pop,N)
pour i de 1 à N-1 pas(2)
croisement(npop[i], npop[i+1],L, pc)
Fin pour
pour i de 1 à N
mutation(npop[i],L,pm)
Fin pour
popnpop
Pour i de 1 à N
Si eval(pop[i])>Best alors Best eval(pop[i]) Fin Si
Fin pour
Fin Pour
Ecrire (Best)

Soft Computing, B.FAYECH 33


ENSIT, 2024-2025

Vous aimerez peut-être aussi