Synthèse Bibliographique Application des méthodes évolutionnaires Inspiration biologique et algorithmes Equipe BOUQUET Gaëtan CHAZELLE Johann ESCOUTE Guillaume BOUILLOT Lucas
Introduction
Déroulement de la présentation Algorithme évolutionnaires et ingénierie Notions de biologie Principe Domaines d’application Limites et perspectives Des algorithmes limités Les avancées L’exemple de l’évolution du second ordre
Algorithmes évolutionnaires et ingénierie
Notions de biologie : l’évolution 5 propositions : Variabilité au sein des individus Ressources limitées, insuffisantes par rapport à l’accroissement → Conflit Certaines variations fournissent un avantage dans ce conflit → sélection naturelle Accumulation progressive au cours du temps : « évolution gradualiste » Importance de l’environnement, phénomène d’adaptation Présenter objectifs de chacune des phases
Notions de biologie : le neurone Élément de base du système nerveux 3 parties : le corps cellulaire, les dendrites et l’axone 5 opérations : intégration, traitement, codage, genèse et propagation de l’information nerveuse Présenter objectifs de chacune des phases
Notions de biologie : le neurone Réseaux de neurones, les synapses jouent le rôle de jonction Ne sont pas des mécanismes figés : Plasticité neuronale Plasticité structurale A l’origine des phénomènes d’apprentissage Présenter objectifs de chacune des phases
Principe Les algorithmes évolutionnaires : Méthode de résolution non déterministe Résolution de problème : Maximisation d’une fonction Modélisation de l’adaptation au milieu et de la sélection naturelle Un vocabulaire associé au domaine : individu, population , génération, parent, enfant…
Principe
Principe Différentes représentations : Discrète Algorithmes génétiques Continue Stratégies d ’évolution Fonctionnelle Programmations génétique et évolutionnaire
Principe Codage Algorithmes génétiques Croisement Mutation
Principe Stratégies d’évolution Mutation Croisement Ajout d’un bruit gaussien sur un terme du vecteur enfant Croisement Avec compris entre 0 et 1 Remplacement 2 approches : (,) : - meilleurs parents complétés par les enfants (+) : mélange des enfants avec les parents => meilleurs gardés
Principe Programmations génétique et évolutionnaire Croisement Mutation : Ajout, Suppression, Modification d’un nœud Modification d’une variable, constante La programmation évolutionnaire ne contient pas l’étape de croisement
Domaines d’application Dans quelles conditions utiliser ces algorithmes ? Les méthodes de résolution classiques ne donnent pas de résultats acceptables en un temps correct. Fonction d’adaptation pas trop gourmande en temps de calcul Si on souhaite un résultat rapide et pas forcément précis
Domaines d’application Les algorithmes évolutionnaires … Beaucoup de domaines concernés ! Ordonnancement Réseaux Optimisation de structures mécaniques Gestion des trajectoires Traitements d’images
Limites et perspectives
Des algorithmes limités : Choix empiriques Taux d’utilisation Converger rapidement Trouver un optimum global Inadéquation des opérateurs Tirer des information De bons parents donnent de bons enfants Représentation inadaptée Solution encodable Présenter objectifs de chacune des phases
Choix des taux d’utilisation Expliquer la difficulté de trouver des taux adaptés. Nécessité d’une certaine expérience. Des études existent pour les algorithmes génétiques, mais l’idéal est d’avoir des taux dynamique => recherches en ce sens Tests préliminaires nécessaires Taux conseillés pour les algorithmes génétiques Taux dépendant du problème et du stade de recherche
Choix des opérateurs Inadéquation des opérateurs à la représentation Problèmes d’épistasie Liens de proximités / liens épistatiques Un exemple : la fonction (x-t)² + z * y sur le domaine [0 ; 5] Inadéquation des opérateurs à la représentation Epistasie : les valeurs idéales pour certaines variables dépendent d’autres variables. liens épistatiques ne correspondent pas aux liens de proximités. Exemple : la fonction (x-t)² + z * y sur le domaine [0 ; 5] nous sommes confronter à ce type de problème si les variables sont ordonnées comme suit : (x ; y ; z ; t). Ainsi, les variables x et t sont liées epistatiquement (il faut x = t) tout comme z et y (l’une au moins doit être égal à 0). C’est pourquoi les enfants obtenus par crossover à partir des individus biens adaptés (5 ; 2 ; 0,1 ; 5) et (1 ; 0,1 ; 2 ; 1) seront totalement inadaptés. inadéquation entre les opérateurs et la représentation qui crée ce type de problème. La solution peut être de modifier les opérateurs pour qu’ils ne soient plus biaisés par les liens de proximité, ou de modifier la représentation pour que les liens d’épistasie reflètent les liens de proximité.
Choix de la représentation Un dilemme Choisir une taille des gènes suffisante pour atteindre l’optimum Limiter cette taille pour converger rapidement L’exemple des polynômes
Des algorithmes limités : une théorie sous-jacente dépassée Algorithmes génétiques adaptés pour la résolution de certains problèmes Mais utilisent des concepts simplifiés et dépassés => Etendue de problèmes limitée Si les algorithmes génétiques se comportaient comme l'évolution naturelle, les applications seraient bien plus intéressantes Exemple du micro-ondes Algos gen permettent de répondre à des problèmes de manière très satisfaisante : ça marche ! Mais concepts simplifiés et dépassés, donc limitation de l’étendue des problèmes qu’ils peuvent résoudre En théorie, possibilités énormes si les algos gen se comportaient exactement comme l’évolution naturelle Exemple du micro-ondes : si on pouvait concevoir des appareils évoluant comme un organisme, ce serait un énorme argument marketing
Des algorithmes limités : une théorie sous-jacente dépassée Evolution artificielle en fonction d'un objectif à atteinte L'évolution naturelle n'a pas d'objectif ni de fin Concepts simplifiés ou dépassés : Génomes de petite taille Phénotypes simples Relations simples entre les deux 1 génotype = 1 phénotype Génome = gènes indépendants, pas d'intérêt pour la matière non génétique Gènes passés directement aux enfants Sélection uniquement sur le phénotype Organisation fixe du génome Evolution naturelle bien plus complexe... Source : From artificial evolution to computational evolution : a research agenda Les algos gen répondent à des objectifs précis, l’évolution y est dirigée selon un objectif et s’arrête lorsque celui-ci est atteint. Concepts simplifiés ou dépassés : Génomes de petite taille et phénotypes simples, alors que bien plus complexes dans l’évolution naturelle Relations très simples entre le génotype et le phénotype (relation 1 à 1) alors qu’en réalité les relations entre les deux sont très complexes Génome = gènes indépendants et matière non génétique sans role particulier Gènes passés directement aux enfants != réalité Sélection uniquement sur le phénotype Organisation fixe du génome au cours de l’évolution, pas de variation Les applications considèrent que la matière génétique est symbolique plus que physique et ne prend pas en compte certains effets physique comme la charge électrostatique ou la température. Elles limitent également les effets de bord (bonnes pratiques de programmation), alors qu’on pourrait considérer qu’un module pourrait altérer le fonctionnement d’un autre
Les avancées : optimisation des algorithmes Problème des fonctions à forts gradients : les extremums locaux, convergence prématurée Problèmes des fonctions à faible gradient : stagnation des générations Présenter objectifs de chacune des phases
Les avancées : optimisation des algorithmes Le SCALING : Modifier la fonction de fitness pour réduire ou amplifier les différences, en faisant une « mise à l’échelle » Exemples : Le scaling linéaire : 𝑓 𝑠 =𝑎 𝑓 𝑟 + 𝑏 Le scaling exponentiel : 𝑓 𝑠 = 𝑓 𝑟 𝑘(𝑛) Présenter objectifs de chacune des phases
Les avancées : optimisation des algorithmes Le SHARING: Pénaliser les individus autour d’un sommet ayant un fort taux de concentration Exemples : Le sharing « simple » : 𝑓 ′ 𝜃 𝑖 = 𝑓( 𝜃 𝑖 ) 𝑗 𝑆( 𝑑 𝜃 𝑖 , 𝜃 𝑗 ) 𝑆 𝑑 = 1− ( 1 𝜎 ) 𝛼 𝑠𝑖 𝑑< 𝜎 0 𝑠𝑖 𝑑≥ 𝜎 Le sharing par « bouquets » Présenter objectifs de chacune des phases
Les avancées : les perspectives d’évolution Source des limites des algos génétiques : divergence prématurée entre les domaines de l'informatique et de la biologie Les méthodes évolutionnaires n'ont pas suivi les développements en biologie Nécessité d'un rapprochement entre les deux domaines Source : Going back to our roots : A second-generation biocomputing Emergence d’une informatique bio-inspirée de « seconde génération » via le rapprochement entre les domaines de l’informatique et de la biologie
Les avancées : l’évolution calculatoire "From artificial evolution to computational evolution" Nouvelle perspective de recherche But double : Permettre la résolution de nouveaux problèmes en ingénierie Fournir de meilleurs outils d'expérimentation in silico aux biologistes Principes et propositions Principe général : utiliser les nouvelles connaissances en biologie pour créer de nouveaux algorithmes plus performants Évolution de systèmes physiques plutôt qu'abstraits Quantité d'énergie finie et ressources limitées Organisation dynamique et hiérarchique des interactions entre l'information génétique et les individus qui évoluent Relations complexes et évolutives entre génotype et phénotype Introduction de variété dans les algorithmes Évolution de systèmes physiques ou systèmes physiques simulés Matériel non-traditionnel (cristaux liquides) plus adaptés que des composants informatiques Quantité d’énergie finie et ressources limitées : Algorithmes basés sur des machines abstraites (machine de Turing) considèrent qu’il y a assez d’énergie pour effectuer toutes les opérations nécessaires Simulations où des organismes sont en compétition pour des nutriments limités pour comprendre comment les différentes stratégies d’absorption apparaissent Organisation dynamique et hiérarchique des interactions entre l’information génétique et les individus qui évoluent : Génomes naturels développent un large réseau d’interactions qui guident le développement des êtres vivants Développement transforme une information indépendante du temps, le génome, en un système autonome et adaptatif, où le temps est une variable essentielle Organismes = collection de structures imbriquées avec des interactions entre chaque niveau => Organisation dynamique et hiérarchique des interactions entre l’information génétique et les individus qui évoluent Relations complexes entre génotype et phénotype Transformation du génotype en phénotype = processus multicouches qui opèrent sur divers éléments distribués dans la cellule L’évolution calculatoire vise à incorporer des relations complexes et évolutives entre le génotype et le phénotype, avec des processus interconnectés qui peuvent interagir entre eux. Introduction de variété dans les algorithmes Structure de données qui interagissent pour augmenter le nombre de degrés de liberté Nombre de composants en interaction largement supérieur à ce qui existe Introduction de bruit plutôt que des sources de variation pseudo-aléatoires
Les avancées : les difficultés et défis Sur le plan psychologique : Patience et générosité en ressources Complexité de la vie ≠ simplicité de l'ingénierie Spécifications floues et manque de compréhension du fonctionnement Sur le plan technique : Nouvelles structures de données et de contrôle Besoin d'une puissance de calcul considérable Technique : Les algos gen et compagnie ont démarré sur des puissances de calcul ridicules par rapport à ce qui existe aujourd’hui => les puissances de calcul ont augmenté mais on a juste amélioré les performances des algos Avec l’évolution calculatoire, on aura besoin dès le départ d’une puissance de calcul bien plus importante. Pourtant dans la recherche on ne s’en inquiète pas pour l’instant. Conclusion : on est loin d’avoir des applications pratiques de ces nouvelles approches, alors que les algos gén tels qu’on les connaît sont très ancrés dans l’industrie
L’exemple de l’évolution du second ordre Evolution Darwinienne / Evolution Incarnée Permettre l’évolution des mécanismes d’évolution La notion d’évolvabilité Principe Surmonter les limites habituelles Gagner en vitesse de convergence et optimisation Objectifs
Un algorithme : RBF-Gene Un réseau de neurones RBF pour le phénotype Le protéome représenté par les neurones Une représentation du génotype évolutive Un modèle innovant Un nombre de gènes variables Une place variable pour les gènes Des zones non codantes Une représentation dynamique
Le génotype Expliquer principes généraux : Code génétique codant des neuronnes Comment on trouve une valeur Les zones non codante
L’évolvabilité optimisée Optimisation de la taille des zones non codantes Comparaison avec des individus génétiquement modifiés Optimisation de l’ordre des gènes
Limites et perspectives Réponses aux limites habituelles Représentation dynamique assurant l’évolution des mécanismes d’évolution Limites Optimisation des opérateurs nécessaires Optimisation de lignées VS individu optimal Insister sur bienfaits potentiels de l’évolution du second ordre. Ne pas oublier de nuancé en expliquant que la thèse semble vouloir montrer que dans l’algo que la représentation évolue pour optimiser l’évolvabilité de l’individu, or n’est-ce pas simplement la sélection sur ces individus qui permet à ceux-ci d’avoir une évolvabilité élevée