Sujet de stage Master2 ou Ecole d'Ingénieur proposé par Marc Schoenauer - Année 2010-2011
Plusieurs modèles de degrés de complexité variés, ou réseaux de régulatoin génétiques artificiels (AGRNs) ont été proposés pour décrire des GRNs. L'ADN est représenté par une chaîne de caractères, à base de 0/1 [1], ou d'alphabets plus complexes [2], les protéines sont des chaînes de caractères données, et la force de l'interaction est donnée par le degré d'appariement des protéines avec les sites activateurs ou inhibiteurs des gènes [1]. Ces interactions déterminent ensuite la dynamique de l'évolution des concentrations de protéines au cours du temps.
Deux utilisations (au moins) ont été proposées pour les AGRNs. D'une part, en considérant chaque gène comme représentant un noeud, et chaque interactions entre gènes, une connection, les AGRNs jouent le rôle d'un modèle génératif de réseaux, dont on peut éventuellement contrôler des propriétés macroscopiques par évolution artificielle [3]. Et si l'on considére aussi les forces des interactions comme autant de poids sur les connections, les AGRNs sont alors un modèle génératif de réseaux de neurones.
D'autre part, considérant les concentrations de protéines comme des variables d'un système dynamique, un AGRN est vu directement comme une 'unité de calcul', les concentrations de certaines protéines pouvant être imposée de l'extérieur, comme entrées du système, et les concentrations d'autres protéines devenant les résultats du calcul [4]. Dans les 2 cas, le GRN peut être utilisé pour résoudre des problèmes d'apprentissage par renforcement (e.g. des problèmes de contrôle, en robotique par exemple), c'est-à-dire des problèmes pour lesquels on ne dispose que d'une mesure de la qualité d'un contrôleur qu'après de nombreuses utilisations de celui-ci (e.g. le robot a-t-il atteint sa cible ?).
[2] P. Dürr, C. Mattiussi, and D. Floreano. Neuroevolution with Analog Genetic Encoding. In Th. Runarsson et al., editor, PPSN IX, pp 671-680. LNCS 4193, Springer Verlag, 2006.
[3] Nicolau, M. and Schoenauer, M.. On the Evolution of Scale-Free Topologies with a Gene Regulatory Network Model. BioSystems Journal, 98(3) pp 137-148, 2009.
[4] Nicolau, M. , Schoenauer, M. and Banzhaf, W.. Evolving Genes to Balance a Pole. In A. I. Esparcia and A. Eckart, eds., 13th European Conference on Genetic Programming, LNCS 6021, pp 196-207, Springer Verlag, 2010.
Genetic Regulatory Networks
Les réseaux de régulation génétiques (ou Genetic Regulatory Newtorks, GRN) sont les réseaux décrivant les interactions entre gènes et protéines dans une cellule. Vu de très loin : les gènes, disposés sur un génôme (brin d'ADN), sont responsables de la production de protéines. Certaines protéines, ou "facteurs de transcription", peuvent se fixer sur des sites dits "promoteurs" situés en amont d'autres génes, et ainsi activer ou inhiber la création de protéines par ces gènes. Un GRN est la donnée de l'ensemble de telles interactions.Plusieurs modèles de degrés de complexité variés, ou réseaux de régulatoin génétiques artificiels (AGRNs) ont été proposés pour décrire des GRNs. L'ADN est représenté par une chaîne de caractères, à base de 0/1 [1], ou d'alphabets plus complexes [2], les protéines sont des chaînes de caractères données, et la force de l'interaction est donnée par le degré d'appariement des protéines avec les sites activateurs ou inhibiteurs des gènes [1]. Ces interactions déterminent ensuite la dynamique de l'évolution des concentrations de protéines au cours du temps.
Deux utilisations (au moins) ont été proposées pour les AGRNs. D'une part, en considérant chaque gène comme représentant un noeud, et chaque interactions entre gènes, une connection, les AGRNs jouent le rôle d'un modèle génératif de réseaux, dont on peut éventuellement contrôler des propriétés macroscopiques par évolution artificielle [3]. Et si l'on considére aussi les forces des interactions comme autant de poids sur les connections, les AGRNs sont alors un modèle génératif de réseaux de neurones.
D'autre part, considérant les concentrations de protéines comme des variables d'un système dynamique, un AGRN est vu directement comme une 'unité de calcul', les concentrations de certaines protéines pouvant être imposée de l'extérieur, comme entrées du système, et les concentrations d'autres protéines devenant les résultats du calcul [4]. Dans les 2 cas, le GRN peut être utilisé pour résoudre des problèmes d'apprentissage par renforcement (e.g. des problèmes de contrôle, en robotique par exemple), c'est-à-dire des problèmes pour lesquels on ne dispose que d'une mesure de la qualité d'un contrôleur qu'après de nombreuses utilisations de celui-ci (e.g. le robot a-t-il atteint sa cible ?).
1- Sujet de stage - Evolution de AGRNs
Quelle que soit l'application visée, l'évolution de AGRN a pour l'insant été réalisée sur le 'génôme' développé. Or les génômes biologiques sont souvent le résultats de processus de duplication-mutation à partir d'un petit segment d'ADN. Le but du stage est de tester l'évolution de séquences de transformations dont le résultat serait évalué sur un problème de type renforcement. Un des points cruciaux ici est bien entendu la définition d'un langage de description de telles séquences de transformations. De la description in extenso de séquences précises à la spécification via des grammaires ou des arbres d'opérateurs, plusieurs pistes pourront être explorées.2- Sujet de stage - AGRNs et Programmation Génétique
Une autre utilisation des AGRNs comme représentation d'unités de calcul conciste à considérer transformer le graphe d'interaction en un arbre de calcul "à la GP" (Genetic Programming), en interprétant les noeuds comme des opérateurs, et en restreignant les connections afin d'obtenir un arbre. Le but du stage est de tester la faisabilité et l'intérêt d'une telle représentation pour la Programmation Génétique en proposant plusieurs méthodes de transformation d'un GRN en arbre GP, puis en comparant leurs performances avec celle de la programmation génétique "classique" sur des problèmes test classiques en GP.Déroulement du stage
- Les stages auront lieu au sein de l'équipe TAO au LRI, sous la supervision de Marc Schoenauer.
- Une connaissance préalable de l'évolution artificielle est recommandée, sans être absolument nécessaire.
- Les programmes (en C++) modélisant les GRN utilisés pour [3] et [4] sont disponibles - et leur auteur pas loin en cas de besoin.
- Un goût certain pour la programmation en C++ est indispensable. Une connaissance de la programmation parallèle est un gros plus, vus les coûts-calcul de ce genre d'approche,
Références
[1] W. Banzhaf. Artificial regulatory networks and genetic programming. In Rick Riolo and Bill Worzel, editors, Genetic Programming Theory and Practice, chapter 4, pp 43-62. Kluwer Publishers, 2003.[2] P. Dürr, C. Mattiussi, and D. Floreano. Neuroevolution with Analog Genetic Encoding. In Th. Runarsson et al., editor, PPSN IX, pp 671-680. LNCS 4193, Springer Verlag, 2006.
[3] Nicolau, M. and Schoenauer, M.. On the Evolution of Scale-Free Topologies with a Gene Regulatory Network Model. BioSystems Journal, 98(3) pp 137-148, 2009.
[4] Nicolau, M. , Schoenauer, M. and Banzhaf, W.. Evolving Genes to Balance a Pole. In A. I. Esparcia and A. Eckart, eds., 13th European Conference on Genetic Programming, LNCS 6021, pp 196-207, Springer Verlag, 2010.