Chap. 2 : Algorithmes génétiques
Transcription
Chap. 2 : Algorithmes génétiques
Intelligence Artificielle Chap. 2 : Algorithmes génétiques C. Bertelle LIH - Laboratoire d’Informatique du Havre M1-Math-Info Le Havre 0-0 C. Bertelle - LIH Plan 1. Algorithmes g´ en´ etiques 2. Strat´ egies e´volutives 3. Classifieurs g´ en´ etiques 4. Le modèle ECHO de J. Holland 1- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Références bibliographiques • J.H. Holland “Hidden order : how adaptation builds complexity” , Perseus books, 1995. • J.C. Heudin “La vie artificielle”, Hermès, 1994. • D.E. Goldberg “Genetic algorithms”, Addison-Wesley, 1989. • Ph. Preux “Les algorithmes évolutifs”, rapport de recherche LIL-94-1 (ftp://ftp-lil.univlittoral.fr/pub/users/preux/paper/lil-94-1.ps.gz). 2- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Echo : www.santafe.edu/projects/echo/echo.html • B.Cuvelier, Ph. Preux et C. Cambier “Studying adaptation with Echo”, rapport de recherche LIL (ftp://ftp-lil.univlittoral.fr/pub/users/preux/paper/eca197.ps.gz). 3- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Introduction : les systèmes évolutifs S’inspire du N´ eo-Darwinisme, synthèse de la th´ eorie de la s´ election naturelle (Darwin) et de la th´ eorie de l’h´ er´ edit´ e (Mendel) : • Evolution : r´ esultat d’une alt´ eration progressive des êtres vivants au cours des g´ en´ erations ; • Reproduction bas´ ee sur le caractère g´ en´ etique qui subit au cours des g´ en´ erations des recombinaisons et des mutations ; • M´ ecanisme de s´ election naturelle. 4- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Une des caract´ eristiques du vivant : les individus n’ont pas e´t´ e “programm´ es” pour r´ epondre à un problème sp´ ecifique, mais ils e´voluent en s’adaptant à leur environnement. Objectif : construire des systèmes informatiques sur la base de ce modèle. 5- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH 2.1 Algorithmes génétiques Principe La propri´ et´ e d’adaptation des individus s’interprète comme une recherche d’optimum d’une fonction (la survie). enère initialement un grand nombre d’individus Principe : On g´ (ou solutions) et l’algorithme les fait e´volu´ es en 3 phases : 1. Reproduction 2. Croisement 3. Mutation Le processus de s´ election est bas´ e sur une fonction d’´ evaluation (ou fonction objectif) qui correspond à une 6- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH performance de l’individu. On en d´ eduit une probabilit´ e pour chaque individu de se reproduire ou de g´ en´ erer des clônes (cette probabilit´ e s’appelle fitness). Finalement, ce processus contribue à produire une population ayant une meilleure adaptabilit´ e (convergence vers l’optimum). 7- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Algorithmes génétiques Formalisation • Les individus sont repr´ esent´ es par des chromosomes constitu´ es d’allèles (chromosome = chaı̂ne d’informations sur un alphabet fini). 8- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Un chromosome : Reproduction/clonage : Croisement : Mutation : 9- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Algorithmes génétiques Exemple de base • Population totale possible : nombre compris entre 0 et 31 en codage binaire sur 5 bits (00000 à 11111). • Problème : On recherche le maximum de la fonction f (x) = x2 sur cet ensemble. 10- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Population initiale constitu´ ee de 4 individus choisis arbitrairement : 13 de code 01101 24 de code 11000 8 de code 01000 19 de code 10011 • Fonction de performance pour chaque individu : correspond à f (x) = x2 . On en d´ eduit la fonction fitness qui est une r´ epartition par pourcentage de ces performances : 11- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Individu performance fitness 13 169 0,14 24 576 0,49 8 64 0,06 19 361 0,31 • Reproduction : on tire au hasard 4 nouvelles chaı̂nes parmis les existentes en tenant compte de la valeur de r´ epartition. On obtient, par exemple : 13, 24, 24 et 19. 12- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Croisement : on prend les individus 2 par 2. On coupe les chromosomes à une position al´ eatoire et on croise les parties coup´ ees 13 : 0110k1 & % 01100 : 12 24 : 1100k0 % & 11001 : 21 24 : 19 : 11k000 & % 11011 : 27 10k011 % & 10000 : 16 13- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Mutation : on opère par tirage al´ eatoire à partir d’une probabilit´ e de mutation d´ efinie initialement. On prend ici 0,05 donc sur les 20 bits des 4 chromosomes, on suppose qu’eun seul allèle a e´t´ e s´ electionn´ e et mute. 12 : 01100 → 01000 : 8 • La nouvelle g´ en´ eration est donc : 8, 21, 27, 16. Si on somme les performances, on obtient 1490 au lieu de 1170 à la g´ en´ eration pr´ ec´ edente 14- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Algorithmes génétiques Améliorations possibles Les am´ eliorations possibles peuvent être nombreuses ... • Autres op´ erateurs que le croisement et la mutation : inversion de sous-chaı̂nes, croisement à partir d’un masque binaire (dont les valeurs indiquent les positions de croisement), etc ... • Variante inspir´ ee de la th´ eorie des niches e´cologiques et des espèces : on conserve en partie la population de la g´ en´ eration pr´ ec´ edente. 15- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Pr´ eselection : un enfant remplace un parent si sa performance est meilleure, sinon le parent reste. • Conservation et s´ election d’individus suivant des critères de similarit´ es entre eux. • ... 16- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH 2.2 Stratégies évolutives D’après Ingo Rechenberge (Allemagne). Assez voisins des algorithmes g´ en´ etiques (J. Holland / USA), les diff´ erences essentielles sont : • Les individus ne sont pas cod´ es par des chromosomes mais par des valeurs r´ eelles ; • Moins d’al´ eatoire : la reproduction est d´ eterministe ; • L’op´ erateur de mutation agit principalement et l’op´ erateur de croisement est moins important : il agit simplement pour assurer une diversit´ e suffisante. 17- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH 2.3 Classifieurs génétiques Système capables d’apprendre des règles pour optimiser leurs performances dans un environnement perçu sous forme de messages. Il est constitu´ e de 3 parties principales : • Un système de règles ; • Un système d’attribution de cr´ edit ; • Un algorithme g´ en´ etique. 18- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Classifieurs génétiques Système de règles Une règle peut s’´ ecrire sous la forme : <cond> : <resultat> exemple : 01#0 : 0111 • S´ election d’un message binaire de 4 bits commençant par 01 et se terminant par 0 ; • Si acceptation d’un message, on renvoie le message 0111 . 19- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Classifieurs génétiques Système d’attribution de crédits Système de comp´ etition entre les règles qui possèdent chacune un cr´ edit variable. Lorsqu’un message arrive : • Les règles qui peuvent le s´ electionner font une offre proportionnelle à leur cr´ edit actuel ; • Le système d’attribution s´ electionne les règles qui offrent le plus et les active ; • Une règle activ´ ee renvoie son message de r´ esultat et offre une r´ ecompense correspondant à son cr´ edit pour les règles qui auront s´ electionn´ ees son message e´mis. 20- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Classifieurs génétiques Algorithme génétique • Un algorithme g´ en´ etique est mis en place sur la population des règles ; • La fonction de performance est directement le cr´ edit associ´ e à chaque règle ; • On s´ electionne, reproduit, croise et fait muter les règles les plus performantes. 21- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH schéma de fonctionnement d’un classifieur génétique Entrées Messages + Récompenses Liste de messages Attribut de crédit Sortie Règles Algorithme génétique 22- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH 2.4 Le modèle Echo de J. Holland • Ensemble d’agents situ´ es dans un environnement nutritif ; • Comportement des agents d´ eduit de leur g´ enomes ; • Interactions entre agents de nature vari´ ee : reproduction, comp´ etition, coop´ eration ; • Performance/fitness des agents : leur capacit´ e de survie. 23- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Caractéristiques • Temps discret et monde repr´ esent´ e par une grille torique ; • D´ eplacement possible d’un agent dans une case voisine à chaque pas de temps ; • Interactions possibles entre agents que s’ils sont sur des cases voisines ; • Les comportements des agents sont contrôl´ es par des gènes sp´ ecifiques appel´ es conditions ; • Les agents ont des signes ext´ erieurs apparents ou “tags” repr´ esentatifs de leur e´tat social. Ces tags sont repr´ esent´ es par des gènes sp´ ecifiques ; 24- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • Reproductions sexuelles ou asexuelles permettant l’´ evolution du g´ enotype ; • Chaque site produit une quantit´ e de ressources sp´ ecifiques à chaque pas de temps. Il y a 4 vari´ et´ es de ressources : a, b, c et d sur lesquelles est bas´ ee la survie de chaque agent ; Ce sont les “mol´ ecules” de base du monde Echo. Elles sont les constituants du g´ enôme des agents et forment pour cela des chaı̂nes (simple chaı̂nage, pas de r´ eaction chimique). Il n’y a pas d’interaction entre les gènes d’un g´ enôme. 25- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Agents Contitu´ es de 2 e´l´ ements : 1. Chromosome codant le comportement et l’apparence (tag) des agents : ce sont des chaı̂nes de ressources (appel´ es aussi nucléotide) ; 2. Un r´ eservoir de ressources stock´ ees dans chaque agent. 26- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Condition de combat abbc Condition d’échange bccd Condition d’accouplement cc Ressource d’échange d Réservoir a c d b b c d c Masque de prélèvement 1001 27- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques Tag d’attaque ba Tag de défense cda Tag d’accouplement dd C. Bertelle - LIH Echo - Chromosomes d’un agent Contitu´ es de 8 gènes au total • 3 gènes de tag : tag d’attaque, tag de d´ efense et tag d’accouplement ; • 3 gènes de conditions (comportementales et sociales) : condition de combat, condition de n´ egociation et condition d’accouplement ; 28- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH • 2 gènes de tags pour les e´changes de ressources : – Ressources d’´ echanges : type de ressource que peut donner l’agent à un autre au cours d’une n´ egociation ; – Masque de pr´ elèvement : masque binaire d’un bit par type de ressources. Une ressource peut être acquise dans l’environnement que si le bit correspondant vaut 1. D’autres possibilit´ es d’´ echanges de ressources : suite à un combat ou par transmission filiale. 29- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Auto-reproduction Lorsque la quantit´ e de ressources du r´ eservoir de l’agent est suffisamment importante, • il y a g´ en´ eration d’un clône auquel on transmet une quantit´ e des ressources ; • le chromosome du clône est obtenu par copie + mutation. 30- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Mutation Dans Echo, les mutations agissent sur les gènes. Sur les tags et les conditions, 3 types de mutation sont permis : • suppression du dernier nucl´ eotide du gène ; • insertion d’un nucl´ eotide à la fin du gène ; • modification d’un nucl´ eotide dans le gène. Sur les ressources d’´ echanges, seule la modification est permise. Sur le masque de pr´ elèvement, la mutation correspond à la modification d’un bit. 31- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Interactions entre les agents Elles sont contrôl´ ees par les tags et les conditions. Deux agents proches peuvent interagir : • par indiff´ erence ; • par e´change ; • par reproduction et g´ en´ eration de nouvels agents avec croisements g´ en´ etiques. Les interactions sont contrôl´ ees par un m´ ecanisme de pr´ efixe : elles ne peuvent se produire que si la condition est le pr´ efixe du tag associ´ e. 32- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Agent A Agent B Condition de combat : ab Tag d’attaque : abb Tag d’attaque : bcd Condition d’´ echange : b Condition d’´ echange : ab Tag d’attaque : abb Tag d’accoupl. : dcd Condition d’accoupl. : dc Condition d’accoupl. : a Tag d’accoupl. : adb • L’agent A peut attaquer l’agent B ; • Les deux agents peuvent proc´ eder à des e´changes ; • Les deux agents peuvent s’accoupler. 33- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Combat • Les combats se produisent si les conditions sont r´ ealis´ ees et avec une certaine probabilit´ e; • Dans le cas d’un combat, on compare 1 à 1 les nucl´ eotides du tag d’attaque d’un agent avec le tag de d´ efense de l’autre afin d’obtenir un score. La probabilit´ e d’être le vainqueur correspond au rapport de son score sur la somme des 2 scores. • Le vainqueur remporte toutes les ressources du vaincu, y compris celles qui constituent son g´ enôme. Le vaincu est retir´ e du monde. 34- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Accouplement Reproduction par croisement de deux sous-chaı̂nes : agent A : abkbcbdkcd & % abkbdkcd agent B : bkbdkca % & bkbcbdkca Les longueurs des gènes des ressources d’´ echange et du masque de pr´ elèvement doivent être constantes. 35- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques C. Bertelle - LIH Echo - Cycle de base 1. interaction entre des agents s´ electionn´ es ; 2. alimentation des agents par distribution des ressources de l’environnement ; 3. mort accidentelle des agents ; 4. renouvellement des ressources de l’environnement. 36- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques