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