300 likes | 454 Views
M atthieu CHOUTEAU. Y ohann HUBERT. C hristophe PANNEAU. E stelle FILMON. Environnement pour les algorithmes génétiques. Mr SAUBION – Février 2003. Introduction. Algorithmes génétiques. Bibliothèque. Myce Editor. Conclusion. 1. Analyse et modélisation. Introduction.
E N D
Matthieu CHOUTEAU Yohann HUBERT Christophe PANNEAU Estelle FILMON Environnement pour les algorithmes génétiques Mr SAUBION – Février 2003
Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 1
Analyse et modélisation Introduction • Définition des besoins : • Bibliothèque pour expérimenter des méthodes d’algorithmes génétiques Introduction • Éditeur graphique de scénarios Algorithmes génétiques Bibliothèque • Contraintes : Myce Editor Conclusion • Simplicité d’utilisation de la bibliothèque • Compilation dans l’éditeur • Respecter un planning 2
Algorithmes génétiques • Basés sur les principes de sélection de Darwin Introduction Algorithmes génétiques • Résoudre différents problèmes Bibliothèque Myce Editor Conclusion • Processus du cycle de l’évolution 3
Tri des individus sur la fonction d’évaluation oui non Solution acceptable ? Solution retenue Sélection des meilleurs individus à conserver croisements Nouvelle génération Algorithmes Génétiques Création de la population Introduction Description des besoins Algorithmes Génétiques Spécification Maquette de l’éditeur Conclusion 4
Les fonctions principales Algorithmes génétiques • Création d’une population • Évaluation des individus Introduction • Sélection des parents Algorithmes génétiques • Recombinaison des gênes Bibliothèque • Sélection des survivants Myce Editor Conclusion • Des fonctions secondaires • Accéder au ième individu • Changer la valeur d’un gêne • Ajout d’un individu dans une population 5
Population P 1011001011 0.6 Bibliothèque Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 6
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 7
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 8
Population P Sélection des 10 meilleurs individus Bibliothèque Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 9
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 10
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 11
Nouvelle population P Individu X 1011001011 0.6 Bibliothèque Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 12
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 13
Individu Y 1011001011 0001110011 0.6 0.5 Bibliothèque Nouvelle population P Introduction Algorithmes génétiques Individu X Bibliothèque Myce Editor Conclusion 14
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 15
Individu X Individu Y croisement 1011001011 1011110011 0001110011 0.5 0.6 0.7 Individu Z Bibliothèque Nouvelle population P Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 16
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); Z = P->Cross(X,Y); } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 17
Tabou 1011110011 1111101111 0.7 0.9 Bibliothèque Nouvelle population P Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion Individu Z 18
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); Z = P->Cross(X,Y); Z = P->Tabou(Z,10,5); } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 19
Bibliothèque Nouvelle population P Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 1111101111 0.9 Individu Z 20
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); Z = P->Cross(X,Y); Z = P->Tabou(Z,10,5); P->ajouterIndividu(Z); } } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 21
Bibliothèque Population P Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 22
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); Z = P->Cross(X,Y); Z = P->Tabou(Z,10,5); P->ajouterIndividu(Z); } i++; } Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 23
Bibliothèque Population P Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 24
Population P Meilleur Individu 1111111111 1.0 Bibliothèque Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 25
Bibliothèque Population * P; Individu * X, * Y, * Z; P = new Population(30, 10); int i=0; while ( (i < 10000) && (P->Best()->getEvaluation() < 1) ) { P->Select(10); for (int j=0;j<10;j++) { X = P->Choose(0); Y = P->Choose(0); Z = P->Cross(X,Y); Z = P->Tabou(Z,10,5); P->ajouterIndividu(Z); } i++; } P->Best()->AfficheIndividu(); Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 26
Myce Editor Introduction Algorithmes génétiques Bibliothèque Myce Editor Conclusion 27
Conclusion • Editeur adapté à l’expérimentation de méthodes d’algorithmes génétiques Introduction Algorithmes génétiques Bibliothèque • Phases de conception d’un projet Myce Editor Conclusion • Atteinte des objectifs 28
Matthieu CHOUTEAU Yohann HUBERT Christophe PANNEAU Estelle FILMON Environnement pour les algorithmes génétiques Mr SAUBION – Février 2003