algorithmes génétiques
DESCRIPTION
Algorithmes génétiquesTRANSCRIPT
-
1Algorithmes Gntiques
Farah Zeghal Mansour
Ecole nationale dingnieurs de Tunis
-
2Plan du cours1. Introduction2. Rappels en biologie3. Concepts des AG4. Codage des individus5. Slection6. Reproduction7. Remplacement8. Conclusion
-
3Introduction
Inspir de la thorie de lvolution des espces de Darwin.
Seuls les plus forts subsistent dans une population.
-
4Introduction
On prend une population (les solutions potentielles
au problme).
On slectionne les meilleurs pour quils se
reproduisent.
On limine les plus faibles.
On recommence.
-
5Introduction
Lide de calculs volutionnaires remonte 1960 (I. Rechenberg).
En 1975, le livre Adaption in Natural and Artificial Systems de John Holland sort.
Les Algorithmes gntiques sont ns.
-
6Rappels en biologie
Tous les organismes vivants sont constitus de
Cellules.
Toutes les cellules dun organisme contiennent le
mme ensemble de Chromosomes.
Les Chromosomes sont constitus de Gnes, des
parties dADN.
Un gne encode une protine particulire.
-
7Rle des gnes
Un gne encode un trait de
lindividu (couleur des yeux).
Les diffrents traits possibles sont
appels allles.
Un gne a sa propre position sur
le chromosome, appele locus.
-
8Oprateurs gntiques Reproduction
Les gnes des deux parents se combinent pour former de nouveaux chromosomes.
Mutation Erreurs lors de la copie des gnes des parents
pour les fils. Permettre de diversifier la population (cration de
nouvelles espces...). Adaptation
Ladaptation dun organisme est mesure daprs son succs dans la vie (ou sa survie).
-
9Concepts des AGBiologie AG
Chromosome/individu Solution potentiellePopulation Ensemble de solutionsGnration Itration de
lalgorithmeAdaptation FitnessCroisement Combinaison de deux
solutionsMutation Remplacement par un
voisin
-
10
Schma gnral des AGPopulation initiale
valuation des individus
SlectionCroisementMutation
valuation des individus
Nouvelle population
Insertion dans la population
Nouvelle gnration
-
11
Schma gnral des AG Gnrer une population initiale de n individus Tant que Continue Faire
valuer les individus : Calculer la fitness f(x), pour tout individu x Tant que NouvellePopulationARemplir Faire
Crer de nouveaux individus :Slectionner deux individus parents
En faire un nouvel individu
Lui imposer des mutations ventuelles
Fin Tant que valuer les nouveaux individus Remplacer lancienne population par la nouvelle
Fin Tant que
-
12
Espace des solutions
-
13
Codage des individus
-
14
Codage des individus Diffrents types de codage (reprsentation) pour les
individus, suivant la nature du problme.
1. Codage direct toute linformation de la solution est prsente dans le chromosome
2. Codage indirectne reprsente pas directement la solution. Il est ncessaire de passer par une tape complmentaire pour obtenir la solution
-
15
Codage des individus
1. Codage direct
pas besoin de dcodage
gain du temps de calcul
2. Codage indirect
application plus simple des oprateurs gntiques
certaines contraintes du problme peuvent tre reportes dans la phase de dcodage
-
16
Codage des individus
Codage binaire
Codage par permutation
Codage par liste de valeurs
Codage par arbre
-
17
Codage binaire
Un individu est cod sur n bits.
A : 10111000110110101000100010100011001B : 01010001001110010101001110101010000
Exemple : Problme du sac dos. Le bit i reprsente la prsence (ou non) de lobjet i dans le sac dos.
Cest la reprsentation la plus souvent utilise. Elle est simple, intuitive, et efficace.
-
18
Codage par permutation
Un individu est une suite de nombre qui reprsente une position dans une squence.
A : 1 5 3 2 6 4 7 9 8B : 8 5 6 7 2 3 1 4 9
Exemple : Problme du voyageur de commerce. La squence reprsente lordre de parcours des villes.
-
19
Codage par liste de valeurs Un individu est une suite de valeurs possibles.
(gauche) (droite) (droite) (haut) (gauche) (gauche)
1.543232 1.6764734 5.434343 3.323232 8.473843
Exemple : Instructions de directions pour un chemin dans un labyrinthe, Coefficients dun polynme, ...
-
20
Codage par arbre
Un individu est un objet reprsent par un arbre.
Exemple : Instructions dun robot avec observation, Expressions mathmatiques.
-
21
Cration de la population initiale
-
22
Cration de la population initiale
Comment ?
Crer les individus de manire alatoire
Ou
Utiliser un ensemble de solutions donnes par un autre
algorithme
-
23
Cration de la population initiale
Concept trs utile dans AG : la diversit.
Plus les individus de la population de dpart sont diffrents les uns des autres, plus nous aurons de chance d'y trouver, non pas la solution parfaite, mais de quoi fabriquer les meilleures solutions possibles.
-
24
Cration de la population initiale
Combien ?
La taille de la population initiale est un paramtre.
100 ou 150 individus sont souvent amplement suffisants.
-
25
valuation des individus
-
26
valuation des individus
La fonction dvaluation ou Fitness :
Quantifie laptitude dun individu survivre.
Dpend directement du type de problme rsoudre.
Pour un problme doptimisation, elle est fortement lie la fonction objectif minimiser ou maximiser.
Peut inclure un ou plusieurs critres optimiser simultanment.
-
27
Oprateurs gntiques
-
28
Oprateurs gntiques
-
29
Slection des individus
-
30
Slection des individus
La slection consiste choisir les individus qui vont participer la reproduction de la population future.
Diffrentes mthodes de slection des individus :
Roulette,
Slection par rang,
Slection par tournoi,
Slection alatoire,
litisme.
-
31
Roulette
Principes : tout individu peut se reproduire, mais les plus
forts doivent avoir plus de chance : roues de loterie
-
32
Roulette
A chaque individu est associ un secteur d'une roue.
L'angle du secteur est proportionnel la qualit de l'individu qu'il reprsente.
Tournez la roue et tirez un individu.
Les tirages des individus sont pondrs par leur qualit.
Logiquement, les meilleurs individus ont plus de chance d'tre croiss et de participer l'amlioration de notre population.
-
33
Roulette1. Calculer la somme des fitness de tous les individus f (x)
2. Gnrer un nombre alatoire a dans [0, f (x)]
3. Ordonner la population par fitness dcroissante
4. Parcourir la population ordonne en sommant leur fitness.
5. Ds que la somme est plus grande que a, lindividu considr est slectionn.
Si la fitness est trs grande pour les bons individus et trs petite pour les mauvais, cela ne leur laissera que trs peu de chance dtre slectionn.
-
34
Slection par rang
Variante de la roulette.
Les secteurs de la roue sont proportionnels leur rang dans la population trie en fonction de la qualit des individus.
Les individus de moins bonne qualit obtiennent un rang faible ( partir de 1).
L'angle de chaque secteur de la roue est proportionnel au rang de l'individu qu'il reprsente.
-
35
Roulette / Slection par rang
Roulette
Slection par rang
-
36
Roulette / Slection par rang
Chromosomes 1 2 3 4 5 6 TotalProbabilits initiales 89% 5% 1% 4% 3% 2% 100%
Rang 6 5 1 4 3 2 21Probabilits finales 29% 24% 5% 19% 14% 9% 9%
-
37
Slection par tournoi
Un tournoi consiste en une rencontre entre plusieurs individus pris au hasard dans la population.
Le vainqueur du tournoi est l'individu de meilleure qualit.
On effectue un tournois entre tous les individus. Ceux qui remportent le tournois peuvent se reproduire.
Ne conserver que le vainqueur ou les p meilleurs individus.
Un mme individu peut participer plusieurs tournois.
-
38
Slection alatoire
Choisir un individu alatoirement selon une distribution uniforme.
-
39
litisme A la cration d'une nouvelle population : Risque de perdre
les meilleurs individus aprs la reproduction. Mthode d'litisme
Copier un ou plusieurs des meilleurs individus dans la nouvelle gnration.
Gnrer le reste de la population selon l'algorithme de reproduction usuel.
Amliorer considrablement les algorithmes gntiques, car elle permet de ne pas perdre les meilleurs solutions.
-
40
Croisement des individus
-
41
Croisement
Croiser deux parents pour former un ou deux enfants.
Les enfants gardent les meilleures caractristiques de leurs parents.
Bien exploiter le domaine de variation des individus, et diriger la recherche vers des rgions intressantes de lespace dtude
Appliqu avec une certaine probabilit : taux ou probabilit de croisement Pc typiquement proche de 1
-
42
Croisement
Choisir deux individus tirs au hasard dans la population
courante.
Dfinir alatoirement un ou plusieurs points de
croisement (crossover) sur lindividu.
Les nouveaux individus sont alors crs en interchangeant
les diffrentes parties de chaque individu.
-
43
Croisement en un seul point
Un point de coupure est dtermin de faon alatoire sur les gnes des parents.
Exemple :
P1 E1
P2 E2 010101001011 1100101
110010101010 0101010
010101001011 0101010
110010101010 1100101
-
44
4 5 2 1 x x x x x
8 2 3 6 x x x x x
Croisement en un seul point
Exemple : PVC
P1 E1
P2 E2 4 5 2 1 8 7 6 9 3
8 2 3 6 5 4 7 1 9 8 2 3 6 4 5 1 7 9
4 5 2 1 8 3 6 7 9
-
45
Croisement en plusieurs points
Exemple :
P1 E1
P2 E2 010101 001011 1100101
110010 101010 0101010
010101
0101010110010
1100101
001011
101010
-
46
Mutation des individus
-
47
Mutation
Modifier alatoirement quelques individus de notre
population en modifiant un gne ou un autre.
Participer au maintien de la diversit, utile une bonne
exploration du domaine de recherche.
Permettre de schapper des minima locaux.
Applique avec une certaine probabilit, appele taux ou
probabilit de mutation Pm, typiquement faible.
-
48
Mutation
Codage binaire : changer la valeur dun bit ;
Codage par permutation : changer la position de deux
entiers ;
Codage par liste de valeur : une valeur est change ;
Codage par arbre : une feuille ou un noeud est chang.
-
49
Remplacement des individus
-
50
Remplacement
Remplacement stationnaire
Remplacement litiste
-
51
Remplacement Remplacement stationnaire :
Les enfants remplacent automatiquement les parents sans tenir compte de leurs performances respectives,
Le nombre d'individus de la population ne varie pas tout au long du cycle dvolution simul.
Remplacement gnrationnel : Remplacer la totalit de la population P par la population P',
Choisir une certaine proportion d'individus de P' qui remplaceront leurs parents dans P.
-
52
Remplacement
Remplacement litiste :
Garde au moins l'individu possdant les meilleures performances d'une gnration la suivante.
Un nouvel individu (enfant) prend place au sein de la population que sil est plus performant que le moins performant des individus de la population prcdente.
La taille de la population n'est pas fige au cours du temps.
-
53
Paramtres de AG
-
54
Paramtres des AG Taux de croisement : proche de 1, Taux de mutation : il doit tre particulirement bas.
Entre 0.5% et 1% du chromosome, Taille de la population :
De manire trs surprenante, de petites populations sont suffisantes. Gnralement, entre 20 et 30.
Si la taille du chromosome est importante, il faut augmenter la population (100 individus est gnralement un maximum dans tous les cas).
-
55
Paramtres des AG
Remplacement de la population :
Il est gnralement prfrable de garder les parents dans la nouvelle population (diffrence avec la vraie biologie), sans quoi les meilleurs lments peuvent tre rapidement perdus.
On peut aussi garder les n meilleurs individus dune gnration lautre.
-
56
Paramtres des AG
Critre darrt :
Nombre fixe de gnrations Suivi des valeurs des meilleurs lments de la
population :s'il ne s'est pas amlior les x dernires gnrations, on s'arrte.
Suivi de la diffrence dvaluation entre 2 meilleurs individus :
si elle est infrieure une certaine tolrance, on s'arrte.
-
57
Conclusion
-
58
Conclusion
Avantages :
Outils efficaces pour une classe de problmes trs large.
Traiter des problmes o la fonction optimiser ne
prsente aucune proprit de continuit ou de
drivabilit, par exemple.
-
59
Conclusion
Limites :
Nombreux paramtres dlicats rgler (taux de croisement et de mutation notamment),
Codage des individus peut faire varier radicalement la vitesse de convergence.
Ncessit de calcul dun trs grand nombre de fitness (plusieurs centaines de milliers) avant lobtention dune bonne solution.
-
60
Conclusion
Tendance :
Hybridation
-
61
Sites des revues
-
62
Sites
Elsevier - ScienceDirect http://www.sciencedirect.com/
Elsevier - Scopus http://www.scopus.com/
Informs http://journals.informs.org/