Dr. MOKEDDEM République Algérienne Démocratique et Populaire

Slides:



Advertisements
Présentations similaires
Explorer un espace d’états
Advertisements

Soutenance du stage de DEA.
Tris.
Algorithmes et structures de données avancés
Fonctions & procédures
Les Algorithmes de tri.
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Collecte de données F. Kohler.
Cours d’Algorithmique
Cours d’Algorithmique
Optimisation dans les télécommunications
Gestion des partenaires. Ce panel de choix doit être adapté à lajout dun partenaire: Dans Cocolight / Coconut il faudrait avoir 2 possibilités : 1er Niveau:
Optimisation globale non déterministe
Utilisation des tableaux
Microsoft Excel Avancé
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Application des algorithmes génétiques
Commande par algorithme génétique
Heuristiques A. Introduction B. Recherche d ’une branche
Programmation linéaire
Comprendre la variation dans les données: Notions de base
Algorithme de Bellman-Ford
II- L’algorithme du recuit simulé (pseudo-code)
Courbes de Bézier.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Algorithmes d ’approximation
Recherche Opérationnelle
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Les Algorithmes de Tri Introduction Tri par Sélection
Programmation dynamique
2. Optimisation sans contrainte Fonctions à une seule variable
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature

Graphes 1. Introduction 2. Définition 3. Représentation mémoire
République Algérienne Démocratique et Populaire Ministère de l'enseignement supérieur et de herche scientifique Université de Ferhat Abbas -Sétif - Département.
D.E ZEGOUR Ecole Supérieure d’Informatique
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
On cherche le plus court chemin de E à S sur le graphe suivant :
Optimisation par les algorithmes génétiques
Problème de 8 reines Sachant que dans un jeu d'échecs, une dame peut pendre toute pièce se trouvant sur la même colonne ou sur la même ligne ou sur une.
Programmation linéaire en nombres entiers
Méthodes de tri.
Marquez cette valeur sur le diagramme à points de la question 6. La moyenne réelle des nombres de lettres par mots dans la population de l'ensemble des.
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
Micro-intro aux stats.
2. Optimisation sans contrainte Fonctions à une seule variable
Travaux Pratiques Optimisation Combinatoire
Les tris Tri Action de mettre une structure de données en ordre (croissant ou décroissant). Le plus simple est d’insérer en ordre. Les algorithmes de tri.
1 1 Huitième journée Quelques algorithmes. 2 Définition Description des tâches pour que celles-ci soient aisément programmables Différent d’une méthode.
Conception d’un langage pour l’algorithme évolutionniste M atthieu CHOUTEAU Y ohann HUBERT C hristophe PANNEAU E stelle FILMON Mr SAUBION – Décembre 2002.
TIPE Les dames chinoises
Optimisation pour la Conception de Systèmes Embarqués
Université Farhat Abbas_setif
Algorithmes génétiques en optimisation combinatoire
Implémentation d’un opérateur de répartition de sources lumineuses
Mr.D.MOKKADEM MATI CHEMS-EDDINE MEDJOUBI HALIMA
Optimisation par les algorithmes génétiques
ANNEE UNIVERSITAIRE :2010/2011
Peuplement d’une ville virtuelle S.ESTIENNE PRE001v1.01 Exemple d’utilisation du GA 1. Initialement une population est choisie au hasard. 2. Chaque individu.
Cours 5 - Trois algorithmes de tri d'un tableau
Algorithmes de tri.
Post-optimisation, analyse de sensibilité et paramétrage
Souris blanche de lignée pure :
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
Scénario Quatre hipsters entrent en collision un dans l'autre dans un ascenseur plein de personnes. En conséquence ils laissent tomber leurs téléphones.
Les étapes de l’algorithme choisi -Calcul des fitness -Mélange si stagnation -Sélection quasi-élitiste -Croisement -Mutation.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

Dr. MOKEDDEM République Algérienne Démocratique et Populaire UNIVERSITE FERHAT ABBAS-SETIF Faculté des Sciences de l’ingénieur Département d’électrotechnique Option: AUTOMATIQUE LES ALGORITHMES GENETIQUES Présenté par : proposé par: BARBECHE ISMAIL BEKKA BRAHIM Dr. MOKEDDEM ANNEE UNIVERSITAIRE :2010/2011

UN PETIT EXEMPLE SUR L’APPLICATION DES AG PLAN DE L’EXPOSÉ PRINCIPES DES ALGOS GÉNÉTIQUES PETITE HISTOIRE DES ALGOS GÉNÉTIQUES SCHÉMA GÉNÉRAL D’UN ALGORITHME GÉNÉTIQUE LA SÉLECTION ENCODAGE DES CHROMOSOMES COURS DE REPRODUCTION les mutations génétique UN PETIT EXEMPLE SUR L’APPLICATION DES AG

PRINCIPES DES ALGOS GÉNÉTIQUES

PETITE HISTOIRE DES ALGOS GÉNÉTIQUES

Les paramètres de caractérisation des eaux résiduaires DE LA BIOLOGIE VERS L’I.A. Les paramètres de caractérisation des eaux résiduaires

SCHÉMA GÉNÉRAL D’UN ALGORITHME GÉNÉTIQUE 01: Générer une population aléatoire de n chromosomes 02: Tant que Continue Faire 03: Calculer la fonction fitness f (x), pour tout chromosome x 04: Tant que Nouvelle Population A Remplir Faire 05: Sélectionner deux chromosomes parents 06: En faire un nouveau chromosome 07: Lui imposer des mutations éventuelles 08: Ajoute le nouveau chromosome à la nouvelle population 09: Fin Tant que 10: Remplace l’ancienne population par la nouvelle 11: Fin Tant que

SÉLECTIONNER LES PLUS FORTS TIRAGE SUR UNE ROUE biaisée

LA ROUE DE LA SÉLECTION

ILLUSTRATION DE LA ROUE DES CHOIX

UNE AUTRE MÉTHODE DE CHOIX : LE TOURNOI On choisit deux individus et celui qui a la plus grande fonction de fitness remporte le combat (ou a de plus grandes chances de remporter le combat). On effectue un tournois entre tous les individus. Ceux qui remportent le tournois peuvent se reproduire.

ENCODAGE DES CHROMOSOMES

ENCODAGE DES CHROMOSOMES, II

ENCODAGE DES CHROMOSOMES, III

COURS DE REPRODUCTION SUR DES VECTEURS DE BITS

COURS DE REPRODUCTION SUR DES PERMUTATIONS ET DES VALEURS

COURS DE REPRODUCTION SUR DES ARBRES On choisit chez les deux parents un sous-arbre. On les échange.

les mutations génétique

QUELQUES PARAMÈTRES

Application au problème du voyageur de commerce Il consiste à visiter un nombre N de villes en un minimum de distance sans passer deux fois par la même ville. Il s'agit donc d'optimiser le coût d'un parcours dans un graphe complet possédant un certain nombre de sommets, en passant une et une seule fois par chacun. Des méthodes déterministes existent déjà pour résoudre le problème, mais le temps de calcul est très long : elles reviennent à parcourir toutes les solutions possibles et à déterminer la moins coûteuse. 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 dont les arrêtes sont pondérées par un coût strictement négatif. Pour l'implantation de notre algorithme, l'instance sera modélisée comme distance euclidienne sur n points du plan, pour construire la matrice de coût. Figure : modélisation du graphe sous forme de matrice

Application au problème du voyageur de commerce Représentation d'une solution : Comme nous l'avons déjà dit le voyageur de commerce doit revenir à son point de départ et passer par toutes les villes une fois et une seule. Nous avons donc codé une solution par une structure de données comptant autant d'éléments qu'il y a des villes, c'est à dire une permutation. Chaque ville y apparait une et une seule fois. Il est alors évident que selon la ville de départ que l'on choisit on peut avoir plusieurs représentations différentes du même parcours. Figure : codage d'une solution (ensemble de villes) dans un tableau .

Application au problème du voyageur de commerce Sélection : Nous utilisons ici la méthode de sélection par roulette. On calcule d'abord la valeur moyenne de la fonction d'évaluation dans la population : Où est l'individu i de la population et la taille de la population. La place d'un individu dans la roulette est proportionnel à On sélectionne alors individus pour la reproduction. Il y a aussi la possibilité d'avoir une politique «d'élitisme». C'est à dire qu'à chaque étape de sélection le meilleur chromosome est automatiquement sélectionné Croisement : Etant donné deux parcours il faut combiner ces deux parcours pour en construire deux autres. Nous pouvons suivre la méthode suivante : 1. On choisi aléatoirement deux points de découpe. 2. On interverti, entre les deux parcours, les parties qui se trouvent entre ces deux points. 3. On supprime, à l'extérieur des points de coupe, les villes qui sont déjà placées entre les points de coupe.

Application au problème du voyageur de commerce 4. On recense les villes qui n'apparaissent pas dans chacun des deux parcours. 5. On remplit aléatoirement les trous dans chaque parcours. Figure : exemple de croisement.

Application au problème du voyageur de commerce Mutation : Il s'agit ici de modifier un des éléments d'un point de l'espace de recherche, soit d'une permutation. Dans notre cas, cela correspond donc à une ville. Quand une ville doit être mutée, on choisit aléatoirement une autre ville dans ce problème et on intervertit les deux villes. Figure : exemple de mutation Calcul de fitness ou dite fonction d'évaluation : Le seul impératif sur la valeur d'adaptation est qu'elle soit croissante avec l'adaptation de la solution au problème. Un parcours valide renverra une valeur supérieur à un individu ( solution potentielle ) qui n'est pas solution au problème. On pourra décider par la suite qu'une solution non correcte sera de fitness négative et dans l'autre cas sera alors positive. Lorsque cette dernière éventualité se produit, il faut que le comportement suivant soit respecté, à savoir : plus notre chemin sera court, plus la fitness qui lui est associée sera forte.

Application au problème du voyageur de commerce On en déduit alors rapidement qu'il faut que la valeur d'adaptation varie dans le sens inverse de la distance correspondante au parcours. Par souci de simplicité, on pourra éventuellement choisir comme valeur d'adaptation, l'inverse de la longueur du parcours. ALGORITHME ABSTRAIT : Il s'agit dans un premier temps d'établir un ensemble de gênes G. Ceci étant fait, il faut alors définir deux fonctions, qui respectivement permettront de croiser deux ensembles de gênes et de réaliser une mutation sur deux ensembles de gênes. Croiser(G g1,G g2) { //résultat du croisement G r; //l'idée est tout simplement pour chaque variable de choisir aléatoirement la variable de g1 ou de g2. Pour chaque variable v de r Si un nombre aléatoire de 0 à 99 est inférieur à 50 alors copier la variable correspondante à v de g1 dans v Sinon copier la variable correspondante à v de g2 dans v Fin Si Fin Pour Retourner r; }

Application au problème du voyageur de commerce Et ci dessous la procédure de mutation : Muter(G g) { Pour chaque variable v de g Si un nombre aléatoire de 0 à 99 est inférieur à un certain nombre entre 0 et 99 // On échange deux variables car on ne peut avoir 2 villes semblables dans le même parcours. Echanger v et v Autre; Fin Pour } SelectionNaturelle(G g[],N) { // On trie les éléments à la fitness la plus grande vers ceux elle est la plus petite. Trier g par les g[i] dans l'ordre décroissant. Retourner les N premiers éléments de g }

Application au problème du voyageur de commerce A présent que nous avons tous les éléments dont nous avons besoin, nous pouvons construire l'algorithme final : AlgoGene(G g[N]){ // Tant qu'il y a des parcours . Tant que (g[i] != NULL) // N pour gi, N-1 pour gj . G r[N*(N-1)]; k=0; Pour chaque gi dans g[N] Pour chaque gj dans g[N] Si gi!=gj alors r[k]=Croiser(gi,gj); Muter(r[k++]); Fin Si Fin Pour g=Sélection Naturelle(r,N); Fin Tant Que }

Merci pour votre Attention Fin d’exposé merci Merci pour votre Attention