Introduction aux algorithmes génétiques

  • View
    1.819

  • Download
    6

Embed Size (px)

DESCRIPTION

une Introduction aux algorithmes génétiques

Text of Introduction aux algorithmes génétiques

Module: Reconnaissance des formes

Introduction aux algorithmes gntiques

Prpar par: BENACHOUR Ibrahim

2009/2010

1

Plan de lexposI. Introduction II. Domaine dapplication III. Principe gnrale IV. Description de lalgorithme V. Exemple VI. Critiques VII.conclusion

2

introductionLes algorithmes gntiques (AGs) sont des algorithmes doptimisation stochastique fonds sur les mcanismes de la slection naturelle et de la gntique. Les AGs ont t initialement dvelopps par John Holland (1975),il dcrit comment appliquer les principes de la thorie dvolution naturel sur les problmes doptimisation. Cest au livre de Goldberg (1989) que nous devons leur popularisation. 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. On dit gnralement quun gne encode un trait de lindividu (par exemple la couleur des yeux). Les diffrents traits possibles sont appels allles. Un gne a sa propre position sur le chromosome, appele locus.3

Domaine dapplicationLes applications des AG sont multiples : optimisation de fonctions numriques difficiles (discontinues). traitement dimage (alignement de photos satellites, reconnaissance de suspects). optimisation demplois du temps. optimisation de design. contrle de systmes industriels . apprentissage des rseaux de neurones Les AG peuvent tre utiliss pour contrler un systme voluant dans le temps (chane de production, centrale nuclaire). Les AG sont galement utiliss pour optimiser des rseaux (cbles, fibres optiques, mais aussi eau, gaz), des antennes TSP (voyageur de commerce) Bin Packing - Remplissage de boites rectangulaires . Construction de rseaux de communication . Contrle de pipe-lines et d'autres systmes complexes. Constitution des quipes de travail.

4

Principe gnraleUn algorithme gntique recherche les extrema dune fonction dfinie sur un espace de donnes appel population initiale. Par analogie avec la gntique, chaque individu de cette population est un chromosome et chaque caractristique de lindividu est un gne On part avec une population de solutions potentielles initiales , on value leur performance(fitness). Sur la base des ces performance on cre une nouvelle population de solutions potentielles en utilisant des oprateurs volutionnaires simples (la slection, croisement et la mutation). On recommence ce cycle jusqu ce que lon trouve une solution optimale.

5

Algorithme1) Initialiser la population initiale P. 2) Evaluer P. 3) TantQue (Pas Convergence) faire : a) P ' = Slection des Parents dans P b) P ' = Appliquer Oprateur de Croisement sur P ' c) P ' = Appliquer Oprateur de Mutation sur P ' d) P = Remplacer les Anciens de P par leurs Descendants de P ' e) Evaluer P FinTantQue

6

La fonction dadaptation(fitness)Chaque chromosome apporte une solution potentielle au problme rsoudre. Nanmoins, ces solutions n'ont pas toutes le mme degr de pertinence. C'est la fonction de performance (fitness) de mesurer cette efficacit pour permettre l'AG de faire voluer la population dans un sens bnfique pour la recherche de la meilleure solution . La fonction dadaptation, ou fitness, associe une valeur pour chaque individu. Cette valeur a pour but dvaluer si un individu est mieux adapt quun autre son environnement. Ce qui signifie quelle quantifie la rponse fournie au problme pour une solution potentielle donne.

7

CodageUn chromosome doit contenir les informations sur la solution quil reprsente. Codage binaire ( binary encoding): Chaque chromosome est reprsent par une srie de bit (1 ou 0).Chromosome A Chromosome B 1011001011001010111001 01 1111111000001100000111

Codage rel: 11 Chaque chromosome est reprsent par une srie de valeurs, cette valeur est peut tre nimporte quoi li au problme.

Codage de permutation:(Permutation Encoding) Chaque chromosome est reprsent par une srie de nombre, qui reprsente la position dans une squence. Ce codage est seulement utile dans les problme dordre (ordonner).ex: problme de voyageur de commerce.

8

SlectionIde: slectionner parmi tout les individus de la population les parents qui assureront la reproduction. La probabilit de survie dun individu sera directement reli a son efficacit au sein de la population. Inspiration: survival of the fittest devenu synonyme de la slection naturel de DARWIN. Plus les individu sont adapts au problme , plus ils ont de chance dtre slectionne. Problme: pression forte: lie la prsence dun super individu dans la population Mthode slction: slection par roulette Wheel (loterie biaise) slection litiste slection par tournoi slection par rang9

Roulette Wheel: Principe: Meilleur individu a une chance . Chance: proportionnelle a sa performance (fitness). Implmentation: -> assign a chaque individu une part (secteur) dans la roulette Wheel ->tourner la roue n fois pour slectionner n individu ->plus le secteur est grand plus les chromosomes auront de chance dtre slectionns.

Slection

Fitness(A)=3 Fitness(B)=1 Fitness(C)=2

Les dsavantages: Si un individu occupe 90 % de la roue ,les autres individus aurons une petite chance d tre slectionn. Et rend la population trop peu diversifie Il est possible que les individus de mauvais qualit soient slectionne. La plus connue. Introduite par Goldberg[89] dans sont livre 10

SlectionSlection litiste Slectionne les meilleurs n individus de la population aprs lavoir trie de manire dcroissante selon leurs fitness . Slection par tournoi Choix alatoire de deux individu combat =valuation des deux chromosomes Slection du meilleur. Rpter le processus n fois pour obtenir n individu de p. Slection par rang Trie la population par fitness Chaque individu se voit attribue un rang Le mauvais individu reoit le rang 1 ,le suivant le rang 2 ,ainsi de suite jusqu le nime chromosomes (meilleur fitness) qui aura le rang n (pour une population de N chromosomes).

11

Croisement (Cross over)Le croisement a pour but d'enrichir la diversit de la population en manipulant la structure des chromosomes. Sil n y a pas de croisement les enfant sont exactement des copies de leurs parent. Cest un Processus de recombinaison qui va se drouler en trois tapes: Un choix alatoires de deux individus (parent). Un choix alatoires du point de croisements changer les valeurs (informations ,paramtres) des deux parents par rapport de ce point de croisement.

Types de croisementscroisement simple un point :

Croisement multipoint

12

Croisement (Cross over)Croisement spcifique: Un croisement spcifique pour un problme spcifique. Pour le codage de permutation: Un point de croisement est choisie alatoirement ,jusqu ce point les valeurs du premier parent sont copi a lenfant , puis le deuxime parent est scanner et si une valeur ne se trouve pas dans lenfant sera ajout .

parent1 1 2 3 4 5| 6 7 8 9 parent2 5 7 2 4 9| 6 3 8 1

enfant1 123457968 enfant2 572491368

Pour le codage rel: Tout les types de croisement du codage binaire peuvent tre utilises.

13

MutationSon but est dintroduire un nouveau matriel gntique(gnome). Cest une assurance contre la perte irrversible du matriel gntique. permet datteindre la proprits de lergodicit. (L'ergodicit est une proprit garantissant que chaque point de l'espace de recherche puisse tre atteint.) Le changement de la valeur alllique dun gne a une probabilit Pm trs faible ( ).

Flip bit:(inverser le bit)Changer 0 1 et vise versa. Cette mthode est utilis seulement pour un codage binaire. Pour un codage de permutation: La mutation permute deux gnes dun chromosome.

Avant

Pour un codage rel: un petit Apres nombre (pour un codage valeur rel) aux valeurs slectionns est additionns (ou soustrait ).

318592647 318542697

avant 1.29 5.68 2.86 4.11 5.55 aprs 1.29 5.68 2.73 4.22 5.5514

RemplacementSon travail est de rintroduire les descendants obtenus par application successive des oprateurs de slection ,croisement et de mutation(p) dans la population de leurs parent (p) Il ya deux mthodes de remplacement Le remplacement stationnaire : les enfants remplacent automatiquement les parents sans tenir compte de leurs performances respectives. mise en uvre de 2 faons diffrentes : La premire se contente de remplacer la totalit de la population P par la population P', cette mthode est connue sous le nom de remplacement gnrationnel . La deuxime mthode consiste choisir une certaine proportion d'individus de P' qui remplaceront leurs parents dans P (proportion gale 100 % dans le cas du remplacement gnrationnel). Le remplacement litiste: un nouvel individu (enfant) prend place au sein de la population que sil remplit le critre dtre plus performant que le moins performant des individus de la population prcdente.15

Critre darrt (critre de convergence)Dtermine quand le processus gntique arrte dvolu. plusieurs condition parmi eux: Nombre maximale de gnration: Lalgorithme arrte quand un nombre de gnration est atteint. Temps coul: Lalgorithme arrte quand un temps spcifique scoule. Pas de changement de la performance(fitness): Lalgorithme arrte sil n y a pas un changement de la fonction fitness dune population pour un nombre de gnration spcifier. le meilleur lment de la dernire gnration atteint un seuil de qualit fix au dpart.

16

trouver le maximum de la fonction f(x) = x sur l'intervalle [0, 31] o x est un entier naturel. On a 32 valeurs possibles pour x on choisit donc un codage discret sur 5 bits. On gnre la population initiale de manire alatoire. On fixe la taille de la population 4 individu. On dfinit la fonction fitness comme tant la valeur X.(vu quon cherche la valeur maximum sur lintervalle [0,31],plus la valeur de x sera l