SlideShare une entreprise Scribd logo
1  sur  86
Télécharger pour lire hors ligne
Théorie des Graphes et Applications
Réalisé par : Pr. EN-NAIMANI Zakariae
ENSET M
31 octobre 2022
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Chapitre 5 : Algorithme de
recuit simulé
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Problème
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Historique : recuit physique
Ce processus est utilisé en métallurgie pour améliorer la qualité d'un
solide.
On cherche à atteindre un état d'énergie minimale qui correspond à
une structure stable du solide.
Ce processus part d'une haute température à laquelle la matière est
devenue liquide, la phase de refroidissement conduit la matière à
retrouver sa forme solide par une diminution progressive de la
température.
Chaque température est maintenue jusqu'à ce que la matière trouve
un équilibre thermodynamique.
Quand la température tend vers zéro, seules les transitions d'un état
à un état d'énergie plus faible sont possibles.
L'algorithme du recuit simulé (Simulated Annealing) est s'inspiré de
processus du recuit physique.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Algorithme de recuit simulé : historique
Expériences réalisées par Metropolis et al. dans les années 50 pour
simuler l'évolution de ce processus de recuit physique
(Metropolis53).
Kirkpatrick et al. et Cerny au début des années 1980 utilise cet
algorithme pour résoudre des problèmes d'optimisation combinatoire
(Kirkpatrick83,Cerny85).
Le recuit simulé est la première méta-heuristique qui a été proposée.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Principe
Défaut principal de la recherche locale : à la n on est dans un
minimum local.
Permettre d'échapper d'un minimum local en autorisant la
dégradation de la fonction objectif d'une itération à autre avec
certaine probabilité.
Eectuer un mouvement selon une distribution de probabilité qui
dépend de la qualité des diérents voisins :
Les meilleurs voisins ont une probabilité plus élevée.
Les moins bons ont une probabilité plus faible.
On utilise un paramètre, appelé la température (notée T) :
T élevée : tous les voisins ont à peu près la même probabilité d'être
acceptés.
T faible : un mouvement qui dégrade la fonction de coût a une faible
probabilité d'être choisi.
T=0 : aucune dégradation de la fonction de coût n'est acceptée.
La température varie au cours de la recherche :
T est élevée au début, puis diminue et nit par tendre vers 0.
Diminuer progressivement la température T pour stabiliser
l'algorithme sur un minimum global.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Comparaison entre recuit simulé et une heuristique classique
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Loi de Gibbs-Boltzmann
L'état d'un système dépend de sa température.
La probabilité d'observer un état x est :
Formule :
P(x) = α(T)exp(−
E(x)
kT
)
T est la température.
k = 1.38 ∗ 10−23 est la constante de Boltzmann
E(x) est l'énergie.
α est un terme qui dépend de T mais pas de x, permettant de
normaliser P.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Loi de Gibbs-Boltzmann
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Relation entre loi de Gibbs-Boltzmann et le minimum local
On remarque que si la température est basse, il est plus dicile de
s'échapper d'un optimum local.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Voisinage
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Voisinage
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Schéma de l'algorithme de recuit simulé
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Algorithme de recuit simulé
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Algorithme de recuit simulé
Trouver une solution initiale x
x∗
- x ; f ∗
- f (x)
T - température initiale
while (condition 1)
while (condition 2)
choisir x
0
∈ N(x) ; ∆f - f (x
0
) − f (x).
if (∆f ≺ 0)
x - x
0
if (f (x) ≺ f ∗)
x∗ - x ; f ∗ - f (x)
endif
else
tirer p ∈ [0, 1]
if (p  exp( −∆f
T
)) x - x
0
endif
endwhile
T - g(T)
endwhile
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Questions
Comment déterminer la solution initiale?
Comment choisir la température initiale?
Comment xer les conditions 1 et 2?
Quel modèle de décroissance adopter pour la température?
Comment choisir la transformation locale / le voisinage?
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Solution initiale
Le choix de la solution initiale n'est pas primordial (à condition de
commencer à une température susamment haute et refroidir
susamment lentement).
Néanmoins, une bonne solution initiale permet de commencer avec une
température pas très élevée et donc d'économiser du temps.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Valeur initiale de la température (Kirkpatrick)
Choisir une valeur élevée de T et essayer un certain nombre de
transformations.
Calculer le taux d'acceptation π des transformations coûteuses.
Si π est susamment grand, adopter la valeur essayée. Sinon, doubler la
et recommencer.
Kirkpatrick recommande π˜80%, mais en pratique π˜60% est largement
susant.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Valeur initiale de la température (Aragon et al.)
Générer un certain nombre de transformations coûteuses et calculer leur
coût moyen ∆f .
Choisir un taux d'acceptation π à atteindre au départ.
T est la solution de l'équation
π = exp(
−∆f
T
)
C'est-à-dire
T =
−∆f
ln(π)
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Décroissance de la température
Le modèle le plus souvent utilisé est
g(T) = µT avec 0 ≺ µ ≺ 1
On a intérêt de choisir µ plutôt proche de 1, par exemple entre 0.85 et
0.95
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Condition 1
Condition 1 détermine le nombre de changements de température.
La température nale doit être susamment faible pour que
pratiquement aucune transformation coûteuse ne soit pas acceptée.
Le plus souvent on xe le nombre de changements au départ (entre une
dizaine et une centaine).
Exemple :
Soit µ = 0.95, 60 changements de température et πdebut = 0.5 et πfin =
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Condition 2
Condition 2 détermine le nombre d'essais de transformations à
température xée.
Le choix le plus simple : faire un nombre d'itérations qui dépend
seulement de la taille du problème (par exemple cn2 pour TSP).
Une autre possibilité : on ne baisse pas la température tant qu'on n'a pas
accepté un nombre minimum de transformations coûteuses.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exemples
Exemple 1 :
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
Appliquez l'algorithme de recuit simulé.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 1 :
La fonction f est dénie par :
f : R2
→ R
(x, y) 7→ 15x2
y2
exp(−x2
− y2
)
Trouver un maximum pour f par la méthode de recuit simulé.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 3
On veut résoudre le problème du voyageur de commerce en utilisant
l'algorithme de recuit simulé.
Eectuer 3 itérations de l'algorithme.
Que remarquez-vous?
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Chapitre 6 : Algorithme
génétique
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Motivation
L'algorithme génétique est un algorithme d'optimisation appartient à la
classe des algorithmes évolutionnaires à base de population.
Il consiste à améliorer une population de solutions qui est utilisée comme
facteur de diversité.
Il se base sur des techniques inspirées de la génétique et des mécanismes
d'évolution naturelle : sélections, croisements et mutations.
Cet algorithme fournit des solutions aux problèmes n'ayant pas de
solutions calculables en temps raisonnable de façons analytique ou
algorithmique.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Peu de la génétique
On introduit quelques relatifs à la génétique utilisables par l'algorithme
génétique :
Dénitions
un gène est une unité d'information génétique transmise par un
individu à sa descendance. Il code généralement une des variables du
problème à optimiser.
Un chromosome est une structure contenant une séquence nie de
gènes.
Un individu est une solution potentielle qui peut être présenté par un
ou plusieurs chromosomes.
Une population est un ensemble d'individus.
Une génération est un ensemble d'opérations eectuées an de
passer d'une population à une autre.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Principe
L'algorithme génétique a été introduit et développé par John Holland en
1960.
Son principe de fonctionnement consiste à :
Produire une population des individus.
L'adaptation de cette population à son environnement est mesurée à l'aide
d'une fonction d'évaluation (tness) habituellement liée à la fonction objectif à
optimiser.
L'évolution de cette population c'est grâce aux opérateurs évolutionnaires :
sélection, croisement et mutation.
Jusqu'à la satisfaction d'un test d'arrêt.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Mécanisme d'AG
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Codage des données (individus)
Le codage d'une solution a un rôle très important dans l'algorithme
génétique.
Il dénit une représentation adéquate d'une solution d'un problème à
optimiser en un ou plusieurs chromosomes.
Ce choix du codage ne peut pas eectué d'une façon évidente.
Le codage du chromosome est fait habituellement par deux types, binaire
ou bien réel.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Type d'encodage : binaire
C'est le codage le plus fréquemment utilisé.
L'alphabet binaire ne comporte que deux symboles 0 et 1. On les
nomme couramment bit.
En faisant le parallèle avec la biologie, un bit correspond à un nucléotide
et un allèle correspond à une séquence de bits.
On parle même parfois de génotype quand on évoque la représentation
binaire d'un individu et de phénotype pour désigner sa valeur réelle.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Type d'encodage : binaire
Pour avoir une petite idée de ce qu'est le codage binaire, voici un
exemple : on veut coder en binaire le nombre 29 en 5 bits.
Exemple :
24 23 22 21 20
1 1 1 0 1
(24 × 1) + (23 × 1) + (22 × 1) + (21 × 0) + (20 × 1) = 29
Dans le jargon biologiste, la séquence 11101 désigne le génotype et 29 est le
phénotype.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Type d'encodage : binaire
Formule générale
Décoder un chromosome x de longueur n présenté sous forme d'une
séquence de bits ai (prends soit la valeur 0 soit 1) est la suivante :
x =
n−1
X
i=1
ai 2i
Dans l'exemple précédent, nous avons codé un entier, si bien que chaque
bit correspondait à une puissance naturelle de 2.
Mais on pourrait imaginer devoir coder des nombres décimaux ou
négatifs.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Type d'encodage : binaire
Par exemple, si on voulait explorer l'espace de recherche caractérisé par
l'intervalle [−3, 4].
En représentant les individus par une séquence de 8 bits.
Le décodage des chaînes de bits devrait se faire en plusieurs étapes :
Exemple
Tout d'abord, il faut envisager qu'une chaîne de 8 bits permet de
coder 28 = 256 valeurs diérentes.
L'échelle dans la représentation binaire n'est donc pas la même que
dans la représentation réelle puisque notre intervalle initial [−3, 4] a
une longueur 7 et que le nouvel intervalle de codage est de longueur
255 et s'étend de 0 à 255.
Le rapport d'échelle est le suivant : 7
255 = 0.0274
Cela signie qu'on se déplace dans l'intervalle [−3, 4] par un pas de
7
255 .
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Type d'encodage : binaire
Exemple :
Ensuite, l'origine de l'intervalle réel est −3 et pas 0.
On en tient compte en eectuant une opération de translation.
Voyons ceci avec un exemple. On souhaite décoder la séquence
(10011010).
On procède d'abord à la conversion dans le système décimal :
(27 × 1) + (26 × 0) + (25 × 0) + (24 × 1) + (23 × 1) + (22 × 0) +
(21 × 1) + (20 × 0) = 154
On tient compte de l'échelle : 154 × 7
255 = 4.227
On eectue la translation pour obtenir la valeur nale :
4.831 + (−3) = 1.227
La séquence (10011010) désigne le chromosome approché à 10−3
par la valeur 1.227 dans notre espace de recherche.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Encodage binaire
Exemple 2 :
d le nombre de décimales désiré (la précision).
xmax et xmin les bornes supérieures et inférieures de l'intervalle de
variation pour x.
n la taille minimale de la chaîne binaire, qui est alors le plus petit
entier vérie :
|xmax − xmin| × 10d
 2n
Pour x ∈ [−1.28, 1.28], si l'on veut une précision de 2 décimales, il
faudra prendre n = 8 pour le codage. En eet, comme :
(1.28 + 1.28) × 102 = 256 et que 28 = 256,
On en déduit que n = 8 est le plus petit entier qui satisfait la
relation précédente.
La chaîne binaire 00000000 correspondra alors à xmin = −1.28 alors
que 11111111 représentera xmax = 1.28
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Génération de la population initiale
La résolution d'un problème par algorithme génétique commence par la
génération de la population initiale.
Les individus de cette population initiale doivent être de la même espèce
que la solution potentielle : ils doivent respecter les contraintes du
problème.
Lorsqu'on n'a aucune idée de la position de la solution optimale, on peut
choisir aléatoirement cette population initiale non homogène an
d'explorer une grande partie de l'espace des solutions.
Si de plus on ne connait pas le comportement de problème à résoudre, il
est conseillé de répartir cette population sur tout le domaine de recherche.
Quand on dispose d'une certaine connaissance du problème, on peut
aussi faire le choix de directement désigner de bons individus, plutôt
que de laisser le hasard opérer.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Génération de la population initiale
En ce qui concerne la taille de la population, elle n'est pas prédénie :
c'est un paramètre laissé au libre choix de l'utilisateur.
Mais il est bon de savoir qu'une petite population réduit le temps de
calcul et peut donc évoluer plus rapidement qu'une grande population.
Par conséquent, un caractère favorable présent dans une petite
population pourra être transmis plus rapidement que dans une grande.
Par contre, une population de plus grande taille augmente la diversité
génétique et permet donc une plus grande possibilité d'adaptation à
divers environnements.
En tout premier lieu, on génère aléatoirement ou non quelques individus
an de composer la population initiale. La population va ensuite évoluer
de génération en génération.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Fonction d'évaluation (d'adaptation)
La fonction d'évaluation consiste à associer à chaque individu de la
population générée une valeur numérique, appelée aussi Force ou Fitness
de l'individu.
Cette fonction détermine la capacité de chaque individu à survivre et à se
reproduire.
Plus le tness d'un individu est élevé, plus l'individu est fort et donc,
plus il a de chances d'être sélectionné pour engendrer une nouvelle
population.
La fonction d'adaptation est en général une fonction à valeur réelle.
Le processus de l'algorithme génétique cherche alors à maximiser cette
fonction d'adaptation an d'obtenir le meilleur individu, c-à-d la solution
au problème.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Fonction d'évaluation (d'adaptation)
Le choix de la fonction doit donc rendre compte de la qualité réelle de
l'individu.
Si le problème consiste en la recherche d'un maximum local d'une
fonction, la fonction d'adaptation peut être la fonction elle-même.
Au contraire, si on cherche un minimum local d'une fonction, la fonction
d'adaptation est une modication de la fonction à minimiser de sorte que
l'algorithme puisse malgré tout chercher à maximiser le tness pour
trouver le minimum.
On voit donc que le choix de la fonction d'adaptation est crucial et
dépend à la fois du problème à résoudre et de l'espace de solutions.
De plus, la fonction d'adaptation est coûteuse en temps de calcul car elle
est appelée plusieurs fois durant la procédure itérative : avant la sélection
pour évaluer les individus parents potentiels, et après le croisement et la
mutation, pour évaluer les enfants.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Fonction d'évaluation (d'adaptation)
Exemple
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
1 Encoder les éléments possibles de l'intervalle [−4, 1] par ce code.
2 Trouver la mesure d'adaptation de chaque élément.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateurs de Sélection
L'opérateur de sélection est un opérateur qui va choisir les individus de la
population initiale qui se reproduiront entre eux (individus parents) an
de former de nouveaux individus qui génèreront la nouvelle population.
Cet opérateur utilise le tness comme critère de sélection et décide si les
individus doivent survivre, se reproduire ou mourir.
Il existe diérentes méthodes de sélection. Nous en présentons ici
quelques unes.
Sélection par roulette.
Sélection par tournoi.
Sélection par rang.
Sélection par élitiste.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par la roulette Wheel
Il s'agit de la méthode la plus fréquemment utilisée, dont le principe
d'une roue de loterie biaisée est utilisé.
A chaque individu correspond un secteur d'une roue (la roue de loterie).
La supercie de ce secteur est proportionnelle à la capacité (tness) de
l'individu à s'adapter : plus un individu a une fonction tness élevée plus
il a de chance d'être sélectionné.
A chaque secteur correspond une probabilité cumulée.
Lorsque chaque individu s'est vu attribuer un secteur, on fait tourner la
roue jusqu'à l'arrêt : on choisit aléatoirement un nombre entre 0 et 1.
L'individu sélectionné est celui dont le secteur est pointé, c-à-d dont la
plage de probabilité cumulée contient le nombre tiré au sort.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par la roulette Wheel
La population est constituée de 6 individus auxquels un secteur de roue a
été attribué.
L'individu 3 a moins de chance d'être sélectionné que l'individu 1.
Si le hasard tire la valeur 0.5, c'est l'individu 4 qui est désigné puisque la
plage de probabilité cumulée lui correspondant se situe entre 0.39 et 0.60
On reproduit alors cette opération autant de fois que nécessaire pour
obtenir tous les individus qui font désormais partie des individus parents,
un individu pouvant donc être sélectionné plusieurs fois.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par la roulette Wheel
Le calcul de la probabilité pi associée à l'individu i, utilise la formule
suivante :
Formule générale
pi =
fi
PNp
j=1 fj
Avec fi représente le tness de l'individu i et Np est la taille de la
population.
Le nombre ni de fois que l'individu i peut espérer être sélectionné, si
la roulette tourne n fois, est donné par :
ni = n × pi
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par la roulette Wheel
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
Exemple :
1 Choisir aléatoirement 4 individus.
2 Construire la roulette de sélection.
3 Sélectionner un individu de la population initiale.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par la roulette Wheel
Bien que ce soit la méthode de sélection la plus utilisée, elle comporte
plusieurs inconvénients :
La méthode présente une forte variance : les individus avec une fonction
tness moins élevée que d'autres peuvent tout de même être sélectionnés,
ce qui va totalement à l'encontre de l'idée des AGs puisque le but de ces
derniers est de sélectionner les meilleurs individus an d'arriver au nal à
trouver un individu unique (le meilleur).
Il est possible aussi qu'un individu avec une fonction tness très élevée
(dont la probabilité d'être choisi est également élevée) soit sélectionné
plusieurs fois, ce qui diminuerait fortement la diversité de la seconde
population. Cette population ne saurait donc plus évoluer par la suite :
on arriverait au phénomène de convergence prématurée. Le processus
serait bloqué autour d'une solution nale, trouvée prématurément, qui
n'est pas la solution optimale.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par rang
La méthode de la roulette existe également dans une forme appelée
sélection par le rang.
Elle consiste à faire une sélection en utilisant une roulette dont les
secteurs sont proportionnels, non pas au tness, mais au rang des
individus.
Pour une taille de population égale N, l'individu avec la meilleure
performance reçoit le rang N, le deuxième meilleur individu à pour rang
N-1, jusqu'au dernier individu, le mois bon, qui reçoit 1.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par rang
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
Exemple :
1 Choisir aléatoirement 4 individus.
2 En utilisant la sélection par rang, sélectionner un individu de la
population initiale.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par tournoi
C'est la méthode donnant en général les meilleurs résultats.
Elle possède un paramètre T, la taille du tournoi.
Le principe est le suivant : on eectue un tirage de T individus dans la
population et chaque tirage donne lieu à un combat.
L'individu dont la fonction tness est la plus élevée, donc celui qui a
remporté le combat est désigné comme parent.
On reproduit ce processus autant de fois que nécessite l'obtention des N
nouveaux individus de la 2e
génération.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par tournoi
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
Exemple :
1 Choisir aléatoirement 4 individus.
2 En utilisant la sélection par tournoi, sélectionner un individu de la
population initiale.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par élitiste
C'est la seule méthode de sélection qui soit déterministe.
Son principe est de classer par ordre croissant les individus en fonction de
leur tness.
Ensuite, on sélectionne un ou plusieurs individus parmi les meilleurs de ce
classement qui constitueront la population de parents.
On génère ensuite par croisement les individus enfants nécessaires à la
constitution de la génération suivante.
Les individus les moins performants sont totalement éliminés de la
population, et le meilleur individu est toujours sélectionné. On dit que
cette sélection est élitiste.
Cette méthode présente une convergence fortement prématurée car on a
une variance et une diversité presque nulles : les individus les moins bons
n'ont aucune chance de survivre.
Elle permet cependant de ne pas perdre des individus avec une fonction
tness élevée donc, solution possible du problème.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection par élitiste
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
Exemple :
1 Choisir aléatoirement 4 individus.
2 En utilisant la sélection par élitiste, sélectionner un individu de la
population initiale.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateur de croisement
Le but de croisement est d'enrichir la diversité de l'espace des solutions.
En eet, à partir de deux individus, on obtient deux nouveaux individus
(enfants) qui héritent de certaines caractéristiques de leurs parents.
Durant cette opération, un point de croisement est choisi aléatoirement
sur les deux chromosomes, on intervertit alors les parties des parents de
part et d'autre du point de croisement pour former deux nouveaux
individus.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateur de croisement
Ils existes d'autres manières de croisement dont nous citons par exemple
le croisement à 2 points de croisement et le croisement uniforme.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Taux d'opérateur de croisement
Le taux de croisement Pc détermine la proportion des individus qui vont
participer à l'opérateur de croisement.
Plus cette valeur est élevée, plus de nouveaux individus sont introduites
dans la nouvelle génération.
Par contre, si ce taux est trop faible, la population n'évolue pas assez vite.
Généralement, Pc varie entre 0.20 et 0.70.
Exemple :
Soit f une fonction à minimiser dénie sur [−4, 1] par :
f (x) = x4
+ 5x3
+ 4x2
− 4x + 1
On choisi d'encoder x en 4 bits.
On sélectionne deux individus de la population courante.
Eectuer l'opérateur de croisement sur les parents.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateur de mutation
Cet opérateur consiste à modier un ou plusieurs allèles d'un gène avec
une probabilité souvent assez faible (de l'ordre de 0.01 à 0.1).
Il consiste donc à modier aléatoirement les caractéristiques d'une
solution.
Il joue le rôle d'élément perturbateur. permet d'éviter le maximum
possible une convergence de l'algorithme vers un optimum local.
Si l'on veut muter un individu qui est codé en binaire, il sut de modier
la valeur d'un des bits comme le montre la gure suivante.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateur de mutation
L'opérateur de mutation possède plusieurs qualités :
Qualités de mutation
Il permet une plus grande diversité de solutions.
Il permet d'éviter une dérive génétique, c-à-d que l'un ou plusieurs
des gènes favorisés par le hasard ne se répandent tandis que les
autres s'eacent de plus en plus.
Dans ce cas défavorable, les allèles favorisés sont alors présents dans
la plupart des solutions au même endroit
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Opérateur de mutation
Qualités :
Il permet d'éviter les risques d'une convergence prématurée.
Lorsqu'une convergence se fait, tous les individus deviennent
pratiquement identiques mais ne sont pas de réelles solutions de
l'algorithme génétique. Le croisement n'a donc plus aucun eet sur
la génération suivante. C'est à ce moment-là que l'opérateur de
mutation devient primordial car il va permettre de modier un
individu aléatoirement, ce qui va décoincer la situation.
Il permet d'atteindre une propriété s'appelant l'ergodicité. Cette
propriété garantit que chaque valeur de l'espace de recherche peut
être atteinte.
En eet, étant donné que l'opérateur de mutation intervient
aléatoirement, on a la certitude que toutes les valeurs de l'espace de
recherche peuvent apparaitre dans les diverses générations. On est
donc certain de pouvoir trouver une réelle solution au problème.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Taux d'opérateur de mutation
L'opérateur de mutation est appliqué avec une probabilité Pm.
Si ce taux est grand alors la recherche devient purement aléatoire, la
population est diversiée et l'algorithme génétique perd de son ecacité.
Si au contraire ce taux est faible, la population est moins diversiée et en
plus il y a risque de stagnation.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Diérents critères d'arrêt
Plusieurs test d'arrêts pour l'algorithme génétique sont possibles, on cite
par exemple :
Nombre de générations xé;
Convergence de la population;
Population n'évoluant plus susamment.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 1 :
Calculer la valeur maximale de la fonction f (x) = 15x − x2 quand x varie
entre 1 et 15.
On suppose que x prend seulement des valeurs entières. Construire dans
un tableau les individus dont chaque chromosome encoder avec 4 gènes.
La taille de la population est N = 6.
La probabilité de croisement est pc = 0.7.
la probabilité de mutation est pm = 0.001.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 2 :
La fonction f est dénie par :
f : R2
→ R
(x, y) 7→ 15x2
y2
exp(−x2
− y2
)
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 2
Nous allons mettre à l'épreuve l'outil, sur un espace de recherche
découpant l'espace [−2, 2] × [−2, 2] en 256 segments.
Nous choisissons de coder en séquence binaire sur 8 bits.
Nous xons la taille de la population à n=6. générez de façon aléatoire 6
individus
La fonction d'adaptation choisie c'est f, puisque nous sommes dans la
recherche d'un maximum.
La probabilité de croisement est pc = 0.8.
la probabilité de mutation est pm = 0.1.
Construire un tableau d'entête suivant :
N◦ Séq. bin. x f(x) Fit. fi pi en % Fonc. de répart. gi en %
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 3
La fonction f est dénie par :
f : [0, 16[→ R
x 7→ |x − 4| + |(x − 3)2
− 1| − E(
1
x2 + 1
)
Le graphe de la gure suivante montre la présence de 2 minima locaux,
un en 2 et l'autre en 4.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 3
Nous allons mettre à l'épreuve l'outil, sur un espace de recherche
découpant l'intervalle [0, 16[ en 32 segments.
Nous choisissons de coder en séquence binaire sur 5 bits.
Nous xons la taille de la population à n=6. générez de façon aléatoire 6
individus
La fonction d'adaptation est choisie comme l'inverse de la fonction f,
puisque nous sommes dans la recherche d'un minimum.
La probabilité de croisement est pc = 0.8.
la probabilité de mutation est pm = 0.1.
Construire un tableau d'entête suivant :
N◦ Séq. bin. x f(x) Fit. fi pi en % Fonc. de répart. gi en %
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Du codage binaire au codage réel
Les premières techniques d'utilisation de l'algorithme génétique utilisaient
un codage binaire pour coder les individus. Mais ce codage entraîne
certains problèmes.
Un des problèmes est que ce codage porte sur une faible marge de valeurs
possibles des paramètres.
Dans l'exemple précédent, si on code à 8 bits, il n'est possible d'obtenir
que 28 = 256 valeurs diérentes.
Or, pour des problèmes où chaque point décimal est important (solutions
sont très rapprochées), où une petite diérence dans une valeur varie la
performance de façon importante.
Pour cela, on s'aperçut très vite que le codage réel lui était préférable.
Les opérateurs (sélection, croisement et mutation) sont diérents.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Population initiale
La création de la population initiale est de même manière : n individus
sont créés aléatoirement avec une distribution uniforme sur l'intervalle
spécié.
Chaque individu est composé d'une valeur de m variables, selon le
problème.
ind = (x1, ..., xm)
Exemple
Soit un problème à 2 variable x1, x2. Les individus ont sous la forme :
ind1 = x1
1 x1
2 , ind2 = x2
1 x2
2 ,..., indn = xn
1 xn
2
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection
Remarques :
Le processus de sélection n'est pas modié par le codage réel,
puisque aucune opération algébrique n'est eectuée sur la séquence
elle-même.
Les meilleurs individus sont encore ceux qui ont la meilleure
performance et sont ceux qui ont la meilleure chance de se
reproduire.
Il existe plusieurs méthodes de sélection, une technique qui fonctionne
bien est celle de Davis.
On associe un poids relatif (Rw) à chaque individu selon sa performance
en utilisant la formule suivante :
Formule :
Rwi = (n − i)α
, i = 0, 1, ..., (n − 1)
Où α est un exposant appartient [1.0, 1.5].
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection de Davis
L'individu avec la meilleure performance reçoit un Rw de nα
. Le
deuxième meilleur individu reçoit un Rw de (n − 1)α
, jusqu'au dernier
individu, le moins bon, qui reçoit un Rw de (n − (n − 1))α
= 1.
On calcule ensuite la probabilité de reproduction (Pr) de chaque individu
par la formule suivante :
Formule
Pri =
Rwi
1
n
P
Rwj
l'individu avec le meilleur poids relatif aura automatiquement la meilleure
chance de se reproduire.
Selon E(Pr) la partie entière du Pr , l'individu est choisit pour la
reproduction.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection de Davis
Exemple
L'individu 2 a un Pr de 2.3, il est choisit 2 fois pour reproduction.
Les individus 4, 1 et 6 ont des Pr resp. 1.3, 1.9 et 1.3. ils ont choisit
1 fois de chacun pour la reproduction.
Le reste des individus de l'ensemble de sélection est choisi avec une
liste triée des parties fractionnelles.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Croisement
Une fois le groupe est sélectionné, on passe à appliquer les deux
opérateurs génétiques.
La technique fréquemment utilisée dans le cas de codage réel est la
technique de Wright.
On choisit aléatoirement 2 parents P1 et P2 parmi les individus du
groupe sélectionné.
La probabilité qu'un individu soit choisi est proportionnelle à sa Pr.
On vérie s'il y a croisement, selon la probabilité de croisement pc .
S'il y a croisement, on crée 3 enfants selon l'équation suivante :
R1 = 0.5P1 + 0.5P2
R2 = 1.5P1 − 0.5P2
R3 = −0.5P1 + 1.5P2
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Croisement
On choisit les 2 meilleurs enfants parmi les 3 crées, an de garder la taille
de la population constante.
Ces deux meilleurs enfants deviennent les individus de la prochaine
génération.
Exemple
Soient les deux parents :
P1 = (x1
1 , x1
2 , ..., x1
m)
et
P2 = (x2
1 , x2
2 , ..., x2
m)
Trouver les enfants par la technique de Wright.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Mutation
La mutation est la dernière étape avant de passer à la prochaine
génération.
On a l'existence de plusieurs techniques pour eectuer la mutation, la
plus célèbre pour le cas réel est la technique de Michalewicz.
Cette technique produit une mutation non-uniforme.
On vérie s'il y a mutation selon la probabilité de mutation pm.
Mutation de Michalewicz
Pour une variable xi , s'il y a mutation, on lance une pièce de
monnaie non-biaisée, et on modie la variable de la façon suivante :
Si pile : x
0
i = xi + δ(max(xi ) − xi )
Si face : x
0
i = xi − δ(xi − min(xi ))
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Mutation
Mutation de Michalewicz
δ(y) = r.y.(1 −
t
T
)b
r=nombre aléatoire entre 0 et 1.
t= génération actuelle.
T= génération maximale.
b= exponentiel, entre 1 et 5.
On voit que l'amplitude maximale de la mutation diminue au fur et à
mesure que le nombre de générations augmente, d'où le nom de
non-uniforme.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 4 : Encodage réel
Calculer la valeur maximale de la fonction f (x) = 15x − x2 quand x varie
entre 1 et 15.
La taille de la population est N = 6.
La probabilité de croisement est pc = 0.7.
la probabilité de mutation est pm = 0.001.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Exercice 5 : Encodage réel
La fonction f est dénie par :
f : R2
→ R
(x, y) 7→ 15x2
y2
exp(−x2
− y2
)
Trouver un maximum pour f.
La probabilité de croisement est pc = 0.8.
la probabilité de mutation est pm = 0.1.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Problème de Voyageur de
Commerce et Algorithme
Génétique
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Problème de voyageur de commerce
Ce problème est classique d'optimisation appartenant à la classe des
problèmes NP-complets.
L'objectif est qu'un voyageur consiste à visiter N villes en un minimum de
distance sans passer deux fois par la même ville.
Il s'agit d'optimiser le coût d'un parcours dans un graphe complet qui
possède N sommets, en passant une et une seule fois par chacun.
Le but sera de montrer comment modéliser le problème à partir
d'algorithme génétique.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Représentation du problème
Le problème du voyageur de commerce peut se modéliser à l'aide d'un
graphe complet de N sommets.
Les arrêtes du graphe sont pondérées par un coût strictement positif.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Codage d'espace de recherche
L'espace de recherche est l'ensemble des permutations de
{0, 1, ..., N − 1}.
Un point (solution réalisable) de cet espace de recherche est représenté
par une de ces permutations.
Codage
On code chaque permutation par une chaîne de bits.
Exemple
Pour N=10
0000 0111 0101 1001 0010 0100 0110 1000 0011 0001
représente la solution 0 7 5 9 2 4 6 8 3 1
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Sélection et croisement
On utilise une technique parmi les techniques de sélection déjà étudiées.
croisement
On choisi aléatoirement deux points de découpe.
On interverti, entre les deux parcours, les parties qui se trouvent
entre ces deux points.
On supprime, à l'extérieur des points de coupe, les villes qui sont
déjà placées entre les points de coupe.
On recense les villes qui n'apparaissent pas dans chacun des deux
parcours.
On remplit aléatoirement les trous dans chaque parcours.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Croisement
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Mutation
Quand une ville doit être mutée, on choisit aléatoirement une autre ville
dans ce problème et on intervertit les deux villes.
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
Questions ?
Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications

Contenu connexe

Similaire à Introduction à la théorie de graphes et application

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Performances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicalesPerformances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicalesEL-Hachemi Guerrout
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simuléAchraf Manaa
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Cours_3_0910_2.pdf
Cours_3_0910_2.pdfCours_3_0910_2.pdf
Cours_3_0910_2.pdfSongSonfack
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfMbarkiIsraa
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques Ramin Samadi
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeJiijishady
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdfdonixwm
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptMbarkiIsraa
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0guest8b8369
 

Similaire à Introduction à la théorie de graphes et application (20)

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Performances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicalesPerformances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicales
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simulé
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Cours_3_0910_2.pdf
Cours_3_0910_2.pdfCours_3_0910_2.pdf
Cours_3_0910_2.pdf
 
Cours_3_0910.pdf
Cours_3_0910.pdfCours_3_0910.pdf
Cours_3_0910.pdf
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
NP-complet.ppt
NP-complet.pptNP-complet.ppt
NP-complet.ppt
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
Actuariat et Données
Actuariat et DonnéesActuariat et Données
Actuariat et Données
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.ppt
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
 
RAPP-THERMO.pdf
RAPP-THERMO.pdfRAPP-THERMO.pdf
RAPP-THERMO.pdf
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
 

Dernier

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 

Dernier (20)

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 

Introduction à la théorie de graphes et application

  • 1. Théorie des Graphes et Applications Réalisé par : Pr. EN-NAIMANI Zakariae ENSET M 31 octobre 2022 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 2. Chapitre 5 : Algorithme de recuit simulé Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 3. Problème Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 4. Historique : recuit physique Ce processus est utilisé en métallurgie pour améliorer la qualité d'un solide. On cherche à atteindre un état d'énergie minimale qui correspond à une structure stable du solide. Ce processus part d'une haute température à laquelle la matière est devenue liquide, la phase de refroidissement conduit la matière à retrouver sa forme solide par une diminution progressive de la température. Chaque température est maintenue jusqu'à ce que la matière trouve un équilibre thermodynamique. Quand la température tend vers zéro, seules les transitions d'un état à un état d'énergie plus faible sont possibles. L'algorithme du recuit simulé (Simulated Annealing) est s'inspiré de processus du recuit physique. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 5. Algorithme de recuit simulé : historique Expériences réalisées par Metropolis et al. dans les années 50 pour simuler l'évolution de ce processus de recuit physique (Metropolis53). Kirkpatrick et al. et Cerny au début des années 1980 utilise cet algorithme pour résoudre des problèmes d'optimisation combinatoire (Kirkpatrick83,Cerny85). Le recuit simulé est la première méta-heuristique qui a été proposée. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 6. Principe Défaut principal de la recherche locale : à la n on est dans un minimum local. Permettre d'échapper d'un minimum local en autorisant la dégradation de la fonction objectif d'une itération à autre avec certaine probabilité. Eectuer un mouvement selon une distribution de probabilité qui dépend de la qualité des diérents voisins : Les meilleurs voisins ont une probabilité plus élevée. Les moins bons ont une probabilité plus faible. On utilise un paramètre, appelé la température (notée T) : T élevée : tous les voisins ont à peu près la même probabilité d'être acceptés. T faible : un mouvement qui dégrade la fonction de coût a une faible probabilité d'être choisi. T=0 : aucune dégradation de la fonction de coût n'est acceptée. La température varie au cours de la recherche : T est élevée au début, puis diminue et nit par tendre vers 0. Diminuer progressivement la température T pour stabiliser l'algorithme sur un minimum global. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 7. Comparaison entre recuit simulé et une heuristique classique Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 8. Loi de Gibbs-Boltzmann L'état d'un système dépend de sa température. La probabilité d'observer un état x est : Formule : P(x) = α(T)exp(− E(x) kT ) T est la température. k = 1.38 ∗ 10−23 est la constante de Boltzmann E(x) est l'énergie. α est un terme qui dépend de T mais pas de x, permettant de normaliser P. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 9. Loi de Gibbs-Boltzmann Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 10. Relation entre loi de Gibbs-Boltzmann et le minimum local On remarque que si la température est basse, il est plus dicile de s'échapper d'un optimum local. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 11. Voisinage Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 12. Voisinage Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 13. Schéma de l'algorithme de recuit simulé Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 14. Algorithme de recuit simulé Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 15. Algorithme de recuit simulé Trouver une solution initiale x x∗ - x ; f ∗ - f (x) T - température initiale while (condition 1) while (condition 2) choisir x 0 ∈ N(x) ; ∆f - f (x 0 ) − f (x). if (∆f ≺ 0) x - x 0 if (f (x) ≺ f ∗) x∗ - x ; f ∗ - f (x) endif else tirer p ∈ [0, 1] if (p exp( −∆f T )) x - x 0 endif endwhile T - g(T) endwhile Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 16. Questions Comment déterminer la solution initiale? Comment choisir la température initiale? Comment xer les conditions 1 et 2? Quel modèle de décroissance adopter pour la température? Comment choisir la transformation locale / le voisinage? Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 17. Solution initiale Le choix de la solution initiale n'est pas primordial (à condition de commencer à une température susamment haute et refroidir susamment lentement). Néanmoins, une bonne solution initiale permet de commencer avec une température pas très élevée et donc d'économiser du temps. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 18. Valeur initiale de la température (Kirkpatrick) Choisir une valeur élevée de T et essayer un certain nombre de transformations. Calculer le taux d'acceptation π des transformations coûteuses. Si π est susamment grand, adopter la valeur essayée. Sinon, doubler la et recommencer. Kirkpatrick recommande π˜80%, mais en pratique π˜60% est largement susant. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 19. Valeur initiale de la température (Aragon et al.) Générer un certain nombre de transformations coûteuses et calculer leur coût moyen ∆f . Choisir un taux d'acceptation π à atteindre au départ. T est la solution de l'équation π = exp( −∆f T ) C'est-à-dire T = −∆f ln(π) Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 20. Décroissance de la température Le modèle le plus souvent utilisé est g(T) = µT avec 0 ≺ µ ≺ 1 On a intérêt de choisir µ plutôt proche de 1, par exemple entre 0.85 et 0.95 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 21. Condition 1 Condition 1 détermine le nombre de changements de température. La température nale doit être susamment faible pour que pratiquement aucune transformation coûteuse ne soit pas acceptée. Le plus souvent on xe le nombre de changements au départ (entre une dizaine et une centaine). Exemple : Soit µ = 0.95, 60 changements de température et πdebut = 0.5 et πfin = Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 22. Condition 2 Condition 2 détermine le nombre d'essais de transformations à température xée. Le choix le plus simple : faire un nombre d'itérations qui dépend seulement de la taille du problème (par exemple cn2 pour TSP). Une autre possibilité : on ne baisse pas la température tant qu'on n'a pas accepté un nombre minimum de transformations coûteuses. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 23. Exemples Exemple 1 : Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 Appliquez l'algorithme de recuit simulé. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 24. Exercice 1 : La fonction f est dénie par : f : R2 → R (x, y) 7→ 15x2 y2 exp(−x2 − y2 ) Trouver un maximum pour f par la méthode de recuit simulé. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 25. Exercice 3 On veut résoudre le problème du voyageur de commerce en utilisant l'algorithme de recuit simulé. Eectuer 3 itérations de l'algorithme. Que remarquez-vous? Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 26. Chapitre 6 : Algorithme génétique Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 27. Motivation L'algorithme génétique est un algorithme d'optimisation appartient à la classe des algorithmes évolutionnaires à base de population. Il consiste à améliorer une population de solutions qui est utilisée comme facteur de diversité. Il se base sur des techniques inspirées de la génétique et des mécanismes d'évolution naturelle : sélections, croisements et mutations. Cet algorithme fournit des solutions aux problèmes n'ayant pas de solutions calculables en temps raisonnable de façons analytique ou algorithmique. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 28. Peu de la génétique On introduit quelques relatifs à la génétique utilisables par l'algorithme génétique : Dénitions un gène est une unité d'information génétique transmise par un individu à sa descendance. Il code généralement une des variables du problème à optimiser. Un chromosome est une structure contenant une séquence nie de gènes. Un individu est une solution potentielle qui peut être présenté par un ou plusieurs chromosomes. Une population est un ensemble d'individus. Une génération est un ensemble d'opérations eectuées an de passer d'une population à une autre. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 29. Principe L'algorithme génétique a été introduit et développé par John Holland en 1960. Son principe de fonctionnement consiste à : Produire une population des individus. L'adaptation de cette population à son environnement est mesurée à l'aide d'une fonction d'évaluation (tness) habituellement liée à la fonction objectif à optimiser. L'évolution de cette population c'est grâce aux opérateurs évolutionnaires : sélection, croisement et mutation. Jusqu'à la satisfaction d'un test d'arrêt. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 30. Mécanisme d'AG Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 31. Codage des données (individus) Le codage d'une solution a un rôle très important dans l'algorithme génétique. Il dénit une représentation adéquate d'une solution d'un problème à optimiser en un ou plusieurs chromosomes. Ce choix du codage ne peut pas eectué d'une façon évidente. Le codage du chromosome est fait habituellement par deux types, binaire ou bien réel. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 32. Type d'encodage : binaire C'est le codage le plus fréquemment utilisé. L'alphabet binaire ne comporte que deux symboles 0 et 1. On les nomme couramment bit. En faisant le parallèle avec la biologie, un bit correspond à un nucléotide et un allèle correspond à une séquence de bits. On parle même parfois de génotype quand on évoque la représentation binaire d'un individu et de phénotype pour désigner sa valeur réelle. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 33. Type d'encodage : binaire Pour avoir une petite idée de ce qu'est le codage binaire, voici un exemple : on veut coder en binaire le nombre 29 en 5 bits. Exemple : 24 23 22 21 20 1 1 1 0 1 (24 × 1) + (23 × 1) + (22 × 1) + (21 × 0) + (20 × 1) = 29 Dans le jargon biologiste, la séquence 11101 désigne le génotype et 29 est le phénotype. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 34. Type d'encodage : binaire Formule générale Décoder un chromosome x de longueur n présenté sous forme d'une séquence de bits ai (prends soit la valeur 0 soit 1) est la suivante : x = n−1 X i=1 ai 2i Dans l'exemple précédent, nous avons codé un entier, si bien que chaque bit correspondait à une puissance naturelle de 2. Mais on pourrait imaginer devoir coder des nombres décimaux ou négatifs. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 35. Type d'encodage : binaire Par exemple, si on voulait explorer l'espace de recherche caractérisé par l'intervalle [−3, 4]. En représentant les individus par une séquence de 8 bits. Le décodage des chaînes de bits devrait se faire en plusieurs étapes : Exemple Tout d'abord, il faut envisager qu'une chaîne de 8 bits permet de coder 28 = 256 valeurs diérentes. L'échelle dans la représentation binaire n'est donc pas la même que dans la représentation réelle puisque notre intervalle initial [−3, 4] a une longueur 7 et que le nouvel intervalle de codage est de longueur 255 et s'étend de 0 à 255. Le rapport d'échelle est le suivant : 7 255 = 0.0274 Cela signie qu'on se déplace dans l'intervalle [−3, 4] par un pas de 7 255 . Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 36. Type d'encodage : binaire Exemple : Ensuite, l'origine de l'intervalle réel est −3 et pas 0. On en tient compte en eectuant une opération de translation. Voyons ceci avec un exemple. On souhaite décoder la séquence (10011010). On procède d'abord à la conversion dans le système décimal : (27 × 1) + (26 × 0) + (25 × 0) + (24 × 1) + (23 × 1) + (22 × 0) + (21 × 1) + (20 × 0) = 154 On tient compte de l'échelle : 154 × 7 255 = 4.227 On eectue la translation pour obtenir la valeur nale : 4.831 + (−3) = 1.227 La séquence (10011010) désigne le chromosome approché à 10−3 par la valeur 1.227 dans notre espace de recherche. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 37. Encodage binaire Exemple 2 : d le nombre de décimales désiré (la précision). xmax et xmin les bornes supérieures et inférieures de l'intervalle de variation pour x. n la taille minimale de la chaîne binaire, qui est alors le plus petit entier vérie : |xmax − xmin| × 10d 2n Pour x ∈ [−1.28, 1.28], si l'on veut une précision de 2 décimales, il faudra prendre n = 8 pour le codage. En eet, comme : (1.28 + 1.28) × 102 = 256 et que 28 = 256, On en déduit que n = 8 est le plus petit entier qui satisfait la relation précédente. La chaîne binaire 00000000 correspondra alors à xmin = −1.28 alors que 11111111 représentera xmax = 1.28 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 38. Génération de la population initiale La résolution d'un problème par algorithme génétique commence par la génération de la population initiale. Les individus de cette population initiale doivent être de la même espèce que la solution potentielle : ils doivent respecter les contraintes du problème. Lorsqu'on n'a aucune idée de la position de la solution optimale, on peut choisir aléatoirement cette population initiale non homogène an d'explorer une grande partie de l'espace des solutions. Si de plus on ne connait pas le comportement de problème à résoudre, il est conseillé de répartir cette population sur tout le domaine de recherche. Quand on dispose d'une certaine connaissance du problème, on peut aussi faire le choix de directement désigner de bons individus, plutôt que de laisser le hasard opérer. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 39. Génération de la population initiale En ce qui concerne la taille de la population, elle n'est pas prédénie : c'est un paramètre laissé au libre choix de l'utilisateur. Mais il est bon de savoir qu'une petite population réduit le temps de calcul et peut donc évoluer plus rapidement qu'une grande population. Par conséquent, un caractère favorable présent dans une petite population pourra être transmis plus rapidement que dans une grande. Par contre, une population de plus grande taille augmente la diversité génétique et permet donc une plus grande possibilité d'adaptation à divers environnements. En tout premier lieu, on génère aléatoirement ou non quelques individus an de composer la population initiale. La population va ensuite évoluer de génération en génération. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 40. Fonction d'évaluation (d'adaptation) La fonction d'évaluation consiste à associer à chaque individu de la population générée une valeur numérique, appelée aussi Force ou Fitness de l'individu. Cette fonction détermine la capacité de chaque individu à survivre et à se reproduire. Plus le tness d'un individu est élevé, plus l'individu est fort et donc, plus il a de chances d'être sélectionné pour engendrer une nouvelle population. La fonction d'adaptation est en général une fonction à valeur réelle. Le processus de l'algorithme génétique cherche alors à maximiser cette fonction d'adaptation an d'obtenir le meilleur individu, c-à-d la solution au problème. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 41. Fonction d'évaluation (d'adaptation) Le choix de la fonction doit donc rendre compte de la qualité réelle de l'individu. Si le problème consiste en la recherche d'un maximum local d'une fonction, la fonction d'adaptation peut être la fonction elle-même. Au contraire, si on cherche un minimum local d'une fonction, la fonction d'adaptation est une modication de la fonction à minimiser de sorte que l'algorithme puisse malgré tout chercher à maximiser le tness pour trouver le minimum. On voit donc que le choix de la fonction d'adaptation est crucial et dépend à la fois du problème à résoudre et de l'espace de solutions. De plus, la fonction d'adaptation est coûteuse en temps de calcul car elle est appelée plusieurs fois durant la procédure itérative : avant la sélection pour évaluer les individus parents potentiels, et après le croisement et la mutation, pour évaluer les enfants. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 42. Fonction d'évaluation (d'adaptation) Exemple Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. 1 Encoder les éléments possibles de l'intervalle [−4, 1] par ce code. 2 Trouver la mesure d'adaptation de chaque élément. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 43. Opérateurs de Sélection L'opérateur de sélection est un opérateur qui va choisir les individus de la population initiale qui se reproduiront entre eux (individus parents) an de former de nouveaux individus qui génèreront la nouvelle population. Cet opérateur utilise le tness comme critère de sélection et décide si les individus doivent survivre, se reproduire ou mourir. Il existe diérentes méthodes de sélection. Nous en présentons ici quelques unes. Sélection par roulette. Sélection par tournoi. Sélection par rang. Sélection par élitiste. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 44. Sélection par la roulette Wheel Il s'agit de la méthode la plus fréquemment utilisée, dont le principe d'une roue de loterie biaisée est utilisé. A chaque individu correspond un secteur d'une roue (la roue de loterie). La supercie de ce secteur est proportionnelle à la capacité (tness) de l'individu à s'adapter : plus un individu a une fonction tness élevée plus il a de chance d'être sélectionné. A chaque secteur correspond une probabilité cumulée. Lorsque chaque individu s'est vu attribuer un secteur, on fait tourner la roue jusqu'à l'arrêt : on choisit aléatoirement un nombre entre 0 et 1. L'individu sélectionné est celui dont le secteur est pointé, c-à-d dont la plage de probabilité cumulée contient le nombre tiré au sort. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 45. Sélection par la roulette Wheel La population est constituée de 6 individus auxquels un secteur de roue a été attribué. L'individu 3 a moins de chance d'être sélectionné que l'individu 1. Si le hasard tire la valeur 0.5, c'est l'individu 4 qui est désigné puisque la plage de probabilité cumulée lui correspondant se situe entre 0.39 et 0.60 On reproduit alors cette opération autant de fois que nécessaire pour obtenir tous les individus qui font désormais partie des individus parents, un individu pouvant donc être sélectionné plusieurs fois. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 46. Sélection par la roulette Wheel Le calcul de la probabilité pi associée à l'individu i, utilise la formule suivante : Formule générale pi = fi PNp j=1 fj Avec fi représente le tness de l'individu i et Np est la taille de la population. Le nombre ni de fois que l'individu i peut espérer être sélectionné, si la roulette tourne n fois, est donné par : ni = n × pi Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 47. Sélection par la roulette Wheel Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. Exemple : 1 Choisir aléatoirement 4 individus. 2 Construire la roulette de sélection. 3 Sélectionner un individu de la population initiale. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 48. Sélection par la roulette Wheel Bien que ce soit la méthode de sélection la plus utilisée, elle comporte plusieurs inconvénients : La méthode présente une forte variance : les individus avec une fonction tness moins élevée que d'autres peuvent tout de même être sélectionnés, ce qui va totalement à l'encontre de l'idée des AGs puisque le but de ces derniers est de sélectionner les meilleurs individus an d'arriver au nal à trouver un individu unique (le meilleur). Il est possible aussi qu'un individu avec une fonction tness très élevée (dont la probabilité d'être choisi est également élevée) soit sélectionné plusieurs fois, ce qui diminuerait fortement la diversité de la seconde population. Cette population ne saurait donc plus évoluer par la suite : on arriverait au phénomène de convergence prématurée. Le processus serait bloqué autour d'une solution nale, trouvée prématurément, qui n'est pas la solution optimale. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 49. Sélection par rang La méthode de la roulette existe également dans une forme appelée sélection par le rang. Elle consiste à faire une sélection en utilisant une roulette dont les secteurs sont proportionnels, non pas au tness, mais au rang des individus. Pour une taille de population égale N, l'individu avec la meilleure performance reçoit le rang N, le deuxième meilleur individu à pour rang N-1, jusqu'au dernier individu, le mois bon, qui reçoit 1. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 50. Sélection par rang Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. Exemple : 1 Choisir aléatoirement 4 individus. 2 En utilisant la sélection par rang, sélectionner un individu de la population initiale. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 51. Sélection par tournoi C'est la méthode donnant en général les meilleurs résultats. Elle possède un paramètre T, la taille du tournoi. Le principe est le suivant : on eectue un tirage de T individus dans la population et chaque tirage donne lieu à un combat. L'individu dont la fonction tness est la plus élevée, donc celui qui a remporté le combat est désigné comme parent. On reproduit ce processus autant de fois que nécessite l'obtention des N nouveaux individus de la 2e génération. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 52. Sélection par tournoi Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. Exemple : 1 Choisir aléatoirement 4 individus. 2 En utilisant la sélection par tournoi, sélectionner un individu de la population initiale. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 53. Sélection par élitiste C'est la seule méthode de sélection qui soit déterministe. Son principe est de classer par ordre croissant les individus en fonction de leur tness. Ensuite, on sélectionne un ou plusieurs individus parmi les meilleurs de ce classement qui constitueront la population de parents. On génère ensuite par croisement les individus enfants nécessaires à la constitution de la génération suivante. Les individus les moins performants sont totalement éliminés de la population, et le meilleur individu est toujours sélectionné. On dit que cette sélection est élitiste. Cette méthode présente une convergence fortement prématurée car on a une variance et une diversité presque nulles : les individus les moins bons n'ont aucune chance de survivre. Elle permet cependant de ne pas perdre des individus avec une fonction tness élevée donc, solution possible du problème. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 54. Sélection par élitiste Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. Exemple : 1 Choisir aléatoirement 4 individus. 2 En utilisant la sélection par élitiste, sélectionner un individu de la population initiale. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 55. Opérateur de croisement Le but de croisement est d'enrichir la diversité de l'espace des solutions. En eet, à partir de deux individus, on obtient deux nouveaux individus (enfants) qui héritent de certaines caractéristiques de leurs parents. Durant cette opération, un point de croisement est choisi aléatoirement sur les deux chromosomes, on intervertit alors les parties des parents de part et d'autre du point de croisement pour former deux nouveaux individus. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 56. Opérateur de croisement Ils existes d'autres manières de croisement dont nous citons par exemple le croisement à 2 points de croisement et le croisement uniforme. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 57. Taux d'opérateur de croisement Le taux de croisement Pc détermine la proportion des individus qui vont participer à l'opérateur de croisement. Plus cette valeur est élevée, plus de nouveaux individus sont introduites dans la nouvelle génération. Par contre, si ce taux est trop faible, la population n'évolue pas assez vite. Généralement, Pc varie entre 0.20 et 0.70. Exemple : Soit f une fonction à minimiser dénie sur [−4, 1] par : f (x) = x4 + 5x3 + 4x2 − 4x + 1 On choisi d'encoder x en 4 bits. On sélectionne deux individus de la population courante. Eectuer l'opérateur de croisement sur les parents. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 58. Opérateur de mutation Cet opérateur consiste à modier un ou plusieurs allèles d'un gène avec une probabilité souvent assez faible (de l'ordre de 0.01 à 0.1). Il consiste donc à modier aléatoirement les caractéristiques d'une solution. Il joue le rôle d'élément perturbateur. permet d'éviter le maximum possible une convergence de l'algorithme vers un optimum local. Si l'on veut muter un individu qui est codé en binaire, il sut de modier la valeur d'un des bits comme le montre la gure suivante. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 59. Opérateur de mutation L'opérateur de mutation possède plusieurs qualités : Qualités de mutation Il permet une plus grande diversité de solutions. Il permet d'éviter une dérive génétique, c-à-d que l'un ou plusieurs des gènes favorisés par le hasard ne se répandent tandis que les autres s'eacent de plus en plus. Dans ce cas défavorable, les allèles favorisés sont alors présents dans la plupart des solutions au même endroit Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 60. Opérateur de mutation Qualités : Il permet d'éviter les risques d'une convergence prématurée. Lorsqu'une convergence se fait, tous les individus deviennent pratiquement identiques mais ne sont pas de réelles solutions de l'algorithme génétique. Le croisement n'a donc plus aucun eet sur la génération suivante. C'est à ce moment-là que l'opérateur de mutation devient primordial car il va permettre de modier un individu aléatoirement, ce qui va décoincer la situation. Il permet d'atteindre une propriété s'appelant l'ergodicité. Cette propriété garantit que chaque valeur de l'espace de recherche peut être atteinte. En eet, étant donné que l'opérateur de mutation intervient aléatoirement, on a la certitude que toutes les valeurs de l'espace de recherche peuvent apparaitre dans les diverses générations. On est donc certain de pouvoir trouver une réelle solution au problème. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 61. Taux d'opérateur de mutation L'opérateur de mutation est appliqué avec une probabilité Pm. Si ce taux est grand alors la recherche devient purement aléatoire, la population est diversiée et l'algorithme génétique perd de son ecacité. Si au contraire ce taux est faible, la population est moins diversiée et en plus il y a risque de stagnation. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 62. Diérents critères d'arrêt Plusieurs test d'arrêts pour l'algorithme génétique sont possibles, on cite par exemple : Nombre de générations xé; Convergence de la population; Population n'évoluant plus susamment. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 63. Exercice 1 : Calculer la valeur maximale de la fonction f (x) = 15x − x2 quand x varie entre 1 et 15. On suppose que x prend seulement des valeurs entières. Construire dans un tableau les individus dont chaque chromosome encoder avec 4 gènes. La taille de la population est N = 6. La probabilité de croisement est pc = 0.7. la probabilité de mutation est pm = 0.001. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 64. Exercice 2 : La fonction f est dénie par : f : R2 → R (x, y) 7→ 15x2 y2 exp(−x2 − y2 ) Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 65. Exercice 2 Nous allons mettre à l'épreuve l'outil, sur un espace de recherche découpant l'espace [−2, 2] × [−2, 2] en 256 segments. Nous choisissons de coder en séquence binaire sur 8 bits. Nous xons la taille de la population à n=6. générez de façon aléatoire 6 individus La fonction d'adaptation choisie c'est f, puisque nous sommes dans la recherche d'un maximum. La probabilité de croisement est pc = 0.8. la probabilité de mutation est pm = 0.1. Construire un tableau d'entête suivant : N◦ Séq. bin. x f(x) Fit. fi pi en % Fonc. de répart. gi en % Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 66. Exercice 3 La fonction f est dénie par : f : [0, 16[→ R x 7→ |x − 4| + |(x − 3)2 − 1| − E( 1 x2 + 1 ) Le graphe de la gure suivante montre la présence de 2 minima locaux, un en 2 et l'autre en 4. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 67. Exercice 3 Nous allons mettre à l'épreuve l'outil, sur un espace de recherche découpant l'intervalle [0, 16[ en 32 segments. Nous choisissons de coder en séquence binaire sur 5 bits. Nous xons la taille de la population à n=6. générez de façon aléatoire 6 individus La fonction d'adaptation est choisie comme l'inverse de la fonction f, puisque nous sommes dans la recherche d'un minimum. La probabilité de croisement est pc = 0.8. la probabilité de mutation est pm = 0.1. Construire un tableau d'entête suivant : N◦ Séq. bin. x f(x) Fit. fi pi en % Fonc. de répart. gi en % Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 68. Du codage binaire au codage réel Les premières techniques d'utilisation de l'algorithme génétique utilisaient un codage binaire pour coder les individus. Mais ce codage entraîne certains problèmes. Un des problèmes est que ce codage porte sur une faible marge de valeurs possibles des paramètres. Dans l'exemple précédent, si on code à 8 bits, il n'est possible d'obtenir que 28 = 256 valeurs diérentes. Or, pour des problèmes où chaque point décimal est important (solutions sont très rapprochées), où une petite diérence dans une valeur varie la performance de façon importante. Pour cela, on s'aperçut très vite que le codage réel lui était préférable. Les opérateurs (sélection, croisement et mutation) sont diérents. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 69. Population initiale La création de la population initiale est de même manière : n individus sont créés aléatoirement avec une distribution uniforme sur l'intervalle spécié. Chaque individu est composé d'une valeur de m variables, selon le problème. ind = (x1, ..., xm) Exemple Soit un problème à 2 variable x1, x2. Les individus ont sous la forme : ind1 = x1 1 x1 2 , ind2 = x2 1 x2 2 ,..., indn = xn 1 xn 2 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 70. Sélection Remarques : Le processus de sélection n'est pas modié par le codage réel, puisque aucune opération algébrique n'est eectuée sur la séquence elle-même. Les meilleurs individus sont encore ceux qui ont la meilleure performance et sont ceux qui ont la meilleure chance de se reproduire. Il existe plusieurs méthodes de sélection, une technique qui fonctionne bien est celle de Davis. On associe un poids relatif (Rw) à chaque individu selon sa performance en utilisant la formule suivante : Formule : Rwi = (n − i)α , i = 0, 1, ..., (n − 1) Où α est un exposant appartient [1.0, 1.5]. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 71. Sélection de Davis L'individu avec la meilleure performance reçoit un Rw de nα . Le deuxième meilleur individu reçoit un Rw de (n − 1)α , jusqu'au dernier individu, le moins bon, qui reçoit un Rw de (n − (n − 1))α = 1. On calcule ensuite la probabilité de reproduction (Pr) de chaque individu par la formule suivante : Formule Pri = Rwi 1 n P Rwj l'individu avec le meilleur poids relatif aura automatiquement la meilleure chance de se reproduire. Selon E(Pr) la partie entière du Pr , l'individu est choisit pour la reproduction. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 72. Sélection de Davis Exemple L'individu 2 a un Pr de 2.3, il est choisit 2 fois pour reproduction. Les individus 4, 1 et 6 ont des Pr resp. 1.3, 1.9 et 1.3. ils ont choisit 1 fois de chacun pour la reproduction. Le reste des individus de l'ensemble de sélection est choisi avec une liste triée des parties fractionnelles. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 73. Croisement Une fois le groupe est sélectionné, on passe à appliquer les deux opérateurs génétiques. La technique fréquemment utilisée dans le cas de codage réel est la technique de Wright. On choisit aléatoirement 2 parents P1 et P2 parmi les individus du groupe sélectionné. La probabilité qu'un individu soit choisi est proportionnelle à sa Pr. On vérie s'il y a croisement, selon la probabilité de croisement pc . S'il y a croisement, on crée 3 enfants selon l'équation suivante : R1 = 0.5P1 + 0.5P2 R2 = 1.5P1 − 0.5P2 R3 = −0.5P1 + 1.5P2 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 74. Croisement On choisit les 2 meilleurs enfants parmi les 3 crées, an de garder la taille de la population constante. Ces deux meilleurs enfants deviennent les individus de la prochaine génération. Exemple Soient les deux parents : P1 = (x1 1 , x1 2 , ..., x1 m) et P2 = (x2 1 , x2 2 , ..., x2 m) Trouver les enfants par la technique de Wright. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 75. Mutation La mutation est la dernière étape avant de passer à la prochaine génération. On a l'existence de plusieurs techniques pour eectuer la mutation, la plus célèbre pour le cas réel est la technique de Michalewicz. Cette technique produit une mutation non-uniforme. On vérie s'il y a mutation selon la probabilité de mutation pm. Mutation de Michalewicz Pour une variable xi , s'il y a mutation, on lance une pièce de monnaie non-biaisée, et on modie la variable de la façon suivante : Si pile : x 0 i = xi + δ(max(xi ) − xi ) Si face : x 0 i = xi − δ(xi − min(xi )) Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 76. Mutation Mutation de Michalewicz δ(y) = r.y.(1 − t T )b r=nombre aléatoire entre 0 et 1. t= génération actuelle. T= génération maximale. b= exponentiel, entre 1 et 5. On voit que l'amplitude maximale de la mutation diminue au fur et à mesure que le nombre de générations augmente, d'où le nom de non-uniforme. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 77. Exercice 4 : Encodage réel Calculer la valeur maximale de la fonction f (x) = 15x − x2 quand x varie entre 1 et 15. La taille de la population est N = 6. La probabilité de croisement est pc = 0.7. la probabilité de mutation est pm = 0.001. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 78. Exercice 5 : Encodage réel La fonction f est dénie par : f : R2 → R (x, y) 7→ 15x2 y2 exp(−x2 − y2 ) Trouver un maximum pour f. La probabilité de croisement est pc = 0.8. la probabilité de mutation est pm = 0.1. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 79. Problème de Voyageur de Commerce et Algorithme Génétique Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 80. Problème de voyageur de commerce Ce problème est classique d'optimisation appartenant à la classe des problèmes NP-complets. L'objectif est qu'un voyageur consiste à visiter N villes en un minimum de distance sans passer deux fois par la même ville. Il s'agit d'optimiser le coût d'un parcours dans un graphe complet qui possède N sommets, en passant une et une seule fois par chacun. Le but sera de montrer comment modéliser le problème à partir d'algorithme génétique. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 81. Représentation du problème Le problème du voyageur de commerce peut se modéliser à l'aide d'un graphe complet de N sommets. Les arrêtes du graphe sont pondérées par un coût strictement positif. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 82. Codage d'espace de recherche L'espace de recherche est l'ensemble des permutations de {0, 1, ..., N − 1}. Un point (solution réalisable) de cet espace de recherche est représenté par une de ces permutations. Codage On code chaque permutation par une chaîne de bits. Exemple Pour N=10 0000 0111 0101 1001 0010 0100 0110 1000 0011 0001 représente la solution 0 7 5 9 2 4 6 8 3 1 Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 83. Sélection et croisement On utilise une technique parmi les techniques de sélection déjà étudiées. croisement On choisi aléatoirement deux points de découpe. On interverti, entre les deux parcours, les parties qui se trouvent entre ces deux points. On supprime, à l'extérieur des points de coupe, les villes qui sont déjà placées entre les points de coupe. On recense les villes qui n'apparaissent pas dans chacun des deux parcours. On remplit aléatoirement les trous dans chaque parcours. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 84. Croisement Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 85. Mutation Quand une ville doit être mutée, on choisit aléatoirement une autre ville dans ce problème et on intervertit les deux villes. Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications
  • 86. Questions ? Réalisé par : Pr. EN-NAIMANI Zakariae Théorie des Graphes et Applications