Optimisation par les algorithmes génétiques

Slides:



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

Soutenance du stage de DEA.
Algorithmes Génétiques : Principes mathématiques et Utilisations
Chap. 4 Recherche en Table
Algorithmes et structures de données avancés
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Conception Préliminaire de Manipulateurs Mobiles et Génération de Consignes Évolutionnaires : une Méthodologie pour Intégrer la Commande dans l’Évaluation.
GEF 435 Principes des systèmes d’exploitation
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.
Optimisation dans les télécommunications
12 novembre 2012 Grégory Petit
Optimisation globale non déterministe
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Utilisation des tableaux
Fluctuations d’une fréquence selon les échantillons, Probabilités
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
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
Programmation linéaire
Méthode des k plus proches voisins
Gestion de Fichiers Arbres B.
Comprendre la variation dans les données: Notions de base
Les fichiers indexés (Les B-arbres)
IFT 615 – Intelligence artificielle Recherche locale
IFT Complexité et NP-complétude
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
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,
Programmation dynamique
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
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.
Optimisation par les algorithmes génétiques
Programmation linéaire en nombres entiers
STATISTIQUES – PROBABILITÉS
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Intelligence Artificielle
GF-11: Tri Interne Efficace et Tri Externe
Travaux Pratiques Optimisation Combinatoire
Problème de double digestion
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.
Cours LCS N°4 Présenté par Mr: LALLALI
Recherches locales et méta-heuristiques
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
TIPE Les dames chinoises
Université Farhat Abbas_setif
Implémentation d’un opérateur de répartition de sources lumineuses
Christelle Reynès Utilisation des algorithmes génétique en analyse de données de protéomique.
Mr.D.MOKKADEM MATI CHEMS-EDDINE MEDJOUBI HALIMA
Dr. MOKEDDEM République Algérienne Démocratique et Populaire
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.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Le Jeu et l’intelligence artificielle
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
La pile de crêpes.
Chapitre 4 La représentation des nombres.
Évolution de second ordre dans un algorithme évolutionnaire V. Lefort
Files de priorité (Priority Queue)
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Multiplexeurs A.Lebrun.
ECHANTILLONAGE ET ESTIMATION
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.
Le Pitch appliqué au recrutement
Les étapes de l’algorithme choisi -Calcul des fitness -Mélange si stagnation -Sélection quasi-élitiste -Croisement -Mutation.
Transcription de la présentation:

Optimisation par les algorithmes génétiques Benabid Ali Selouana Mounir

C'est quoi l’optimisation ? De puits le début de la vie l'être humain cherche la perfection dans sont travail, pour ce la les scientifiques invente les méthodes d’optimisation pour obtenir les bons résultats dans tout les domaines. Ces méthodes en pour objectif de donnée les optimums parmi l’ensemble de solution possible Les algorithmes génétiques fait parti de ces méthodes

Les Algorithmes Génétiques Les algorithmes génétiques (AG) sont des méthodes utilisées dans les problèmes d’optimisation. Les AG tirent leur nom de l’évolution biologique des êtres vivants dans le monde réel Ces algorithmes permettent de calculer une solution acceptable a un problème dont l’espace de solutions est trop grand pour être parcouru dans un temps raisonnable. Les algorithmes génétiques sont basés sur trois éléments principaux : la sélection, le croisement et la mutation. Dans la littérature on parle alors d’opérateurs de reproduction.

Qu’est ce qui rend les AG différents aux autres méthodes d’optimisation? Les AG cherchent une représentation codée dans l’espace des solutions et non pas directement dans le domaine original. Les AG utilisent un espace de recherche plus vaste, limité par la taille de la population. Les AG utilisent des règles de transition probabiliste et non déterministes (pseudo aléatoires). Les AG n’utilisent que les valeurs de la fonction à optimiser, pas sa dérivée ou une autre connaissance auxiliaire.

Algorithme global // Initialisation de la population 1. Pour i=1 à N*300 Faire Générer individus (génération aléatoire dans des intervalles définis) 2. Population ← les N meilleurs individus // Garder les N meilleurs individus // Générer la population suivante 3. Tant que amélioration > T Faire Répéter N-1 fois: a) Sélectionner 2 parents de la population b) Faire un croisement avec la probabilité Pc c ) Muter l’une des progénitures (dénoté par I) d) Evaluer I e) Ajouter I à la Nouvelle population 4. Population ← Nouvelle population + meilleur individu précédent 5. Fin tant que 6. Réaliser une ascension locale à partir du meilleur individu 7. Si Amélioration > T Alors Aller à 3 8. Sinon Afficher le meilleur individu

On peut résumer l’algorithme précédent au diagramme ci-dessous qui nous permet d’avoir les grandes étapes nécessaires pour l’exécution d’un programme en utilisant les AG

La génération de la population : Cette étape consiste à générer une population constituée de « n » individus, chaque Individu représente une ou une partie de la solution. La représentation de chaque individu suit un codage particulier, le plus communément utilisé est le codage binaire. Les individus sont aussi appelés chromosomes et leur représentation est un ensemble de gènes.

Sélection : La sélection est chargée de définir quels seront les individus de population P qui vont être dupliqués dans la nouvelle population P' et vont servir de parents (application de l'opérateur de croisement). . En règle générale, la probabilité de survie d’un individu sera directement reliée à son efficacité relative au sein de la population. Il y’ a plusieurs méthodes de sélection, citons quelques-unes  :

a/ Roulette de casino : C’est la sélection naturelle la plus employée pour l’AG binaire. Chaque chromosome occupe un secteur de roulette dont l’angle est proportionnel à son indice de qualité. Un chromosome est considéré comme bon aura un indice de qualité élevé, un large secteur de roulette et alors il aura plus de chance d’être sélectionné.

B/ " N/2 –élitisme " : Les individus sont tries selon leur fonction d’adaptation, seul la moitié supérieure de la population correspondant aux meilleurs composants est sélectionnée, nous avons constates que la pression de sélection est trop forte, il est important de maintenir une diversité de gènes pour les utilise dans la population suivante et avoir des populations nouvelles quant on les combine.

C/ "par tournoi " : Choisir aléatoirement deux individus et on compare leur fonction d’adaptation (combattre) et on accepte la plus adapte pour accéder à la génération intermédiaire, et on répète cette opération jusqu'à remplir la génération intermédiaire (N/2 composants). Les individus qui gagnent à chaque fois on peut les copier plusieurs fois ce qui favorisera la pérennité de leurs gènes.

Croisement : à partir de deux chromosomes le croisement produit deux nouveaux chromosomes incorporant chacun du matériel génétique pris dans le patrimoine initial. Il y a plusieurs méthodes de sélection, citons quelques-unes :

Le croisement simple point : Les deux chaînes initiales vont être divisées en deux. La première partie de la première chaîne sera associée à la seconde partie de la seconde chaîne et inversement, deux nouveaux individus sont ainsi obtenus résultant d’un croisement entre les deux chaînes initiales.

Le croisement double points : Le principe est assez proche de croisement simple point, à cette différence qu’il y a deux points de séparation des chaînes, la chaîne initiale est divisée en 3 parties et la combinaison de ces 3 parties permet d’obtenir deux nouvelles chaînes.

Les croisements uniformes : Cet opérateur combine deux chromosomes selon une chaîne binaire aléatoire. A chaque position, les bits correspondants des parents sont échangés si la chaîne aléatoire contient un « l » à cette position. Si le bit aléatoire est « 0 », il n’y a pas d’échange.

Mutation : opérateur d'importance secondaire, mais qui permet d'éviter une convergence prématurée vers un maximum local, en maintenant une diversité de solution. Pour l'appliquer, choisir au hasard un bit du chromosome et modifier sa valeur. La mutation ne doit pas être appliquée systématiquement, mais en fonction d'une probabilité, paramètre de la simulation. Les probabilités de l'ordre de 0,01 à 0,03 sont généralement choisies.

Exemple d’application Parcours d'un labyrinthe

Description du problème: Les A.G ont rapidement été utilisés en l’intelligence artificielle pour générer des comportements susceptibles de résoudre des problèmes complexes comme par exemple de sortir d'un labyrinthe. Ce labyrinthe est compose de 10*10 cases avec une entrée et deux sorties, on va placer un robot a l’entrée et le programmer a l’aide des AG a fin de lui permet de trouver la sortie tout seul ; donc il va trouver la solution optimale qui est la sortie plus courte d’après les plusieurs solutions possibles.

Résolution: La résolution par un algorithme génétique se base sur une idée différente, celle de la sélection naturelle entre individus. Chaque individu est un chemin dans le labyrinthe, tentative de solution, partant de l'entrée. Avant de programmer l'algorithme génétique, il est nécessaire de définir le codage employé qui est comme suit: Représenter pour chaque case du labyrinthe la direction à prendre. Il y a à chaque fois quatre directions possibles, que l'on peut donc coder sur deux bits : 00 = est, 01 = nord, 10 = ouest, 11 = sud. Un labyrinthe 10x10 fait 100 cases, le génome d'un individu comportera 200 bits. Par exemple le génome 01101011110001... représente le chemin partant de l'entrée nord - ouest - ouest - sud -...

Le mécanisme des générations successives avec mutation - sélection - croisement fait émerger ces individus, parmi les 2200 possibles (environ 1020). L'on peut aussi essayer d'optimiser en décidant de tenir compte des parois dans le génome. Sur chaque case, le mobile a quatre directions possibles : nord, ouest, sud, est. Dans chacune de ces directions, les parois peuvent prendre 8 aspects différents, chacune des trois issues potentielles (à gauche, tout droit, à droite) peut être libre ou bloquée :

la longueur maximale au bout de laquelle l'on interrompt le robot s'il n'a pas trouvé la sortie c’est 55 qui est titre par expérience. La solution de ce problème d’après deux expérience est schématisée dans la figure suivante:

Conclusion: Les méthodes d’optimisations aide l'être humain a améliorer leur travaille ,augmenter leur bénéfice . donc nous somme obliger de les appliquer si on veut qu’on soit parmi les Pays développés. Même notre croyance nous dit qu’il fout