Quelques extraits de réactions qui circulent chez les chercheurs français concernés (sachant qu'un certain nombre de laboratoires du CNRS sont en lien avec les universités)...
Tract de prise défense de la recherche et de l'enseignement supérieur en France... Extrait :
«Ensemble, nous formulons les exigences suivantes :
[…]
un CNRS pluridisciplinaire, qui ne doit pas être démembré en instituts, garant de la liberté de recherche pour faire progresser les connaissances et satisfaire aux besoins de la population ; une
politique de coopérations entre organismes et universités, avec maintien d’une pluralité des tutelles des UMR, et préservation du lien enseignement-recherche à tous les niveaux ; une révision
négociée du cadre législatif universitaire visant à renforcer la collégialité et favoriser les coopérations plutôt que la concurrence entre établissements. Nous voulons être entendus. Nous
voulons une vraie négociation. C’est pourquoi nous appelons à bloquer le CA du CNRS le 19 juin 2008 à partir de 8h 30 et à occuper les délégations régionales. Un préavis de grève sera déposé. »
Pour l'avenir de la recherche en bioinformatique en France, [...] les sciences informatiques et les sciences biologiques doivent continuer d'exister dans un institut où la recherche fondamentale
est un objectif majeur: le CNRS.
En ce qui concerne les sciences informatiques, un texte et une pétition défendent cette idée et préconisent le maintien d'une informatique forte et visible au CNRS.
Si vous partagez cet avis, je vous invite à les consulter et à signer ici :
http://www.lix.polytechnique.fr/~baptiste/coordonner_recherche_informatique/index.php?petition=4
Comme vous le savez, le découpage du CNRS en instituts fait à l'heure actuelle l'objet de nombreux débats. La bioinformatique se situant à la charnière de plusieurs disciplines qui se verraient
de facto séparées les unes des autres est donc particulièrement concernée par ces réformes. Dans ce contexte, il nous est apparu important de préciser la position du bureau de la SFBI par le
biais d'une lettre qui a été adressée à la direction générale du CNRS. Le texte intégral de ce document est reproduit ci-dessous :
La Société Française de Bioinformatique (SFBI) regroupe les chercheurs de la communauté interdisciplinaire qui réunit des biologistes, des informaticiens
mais aussi des mathématiciens et des physiciens. Ils ont pour sujet de recherche l'étude de toutes les questions ouvertes par la connaissance des séquences et des structures biologiques, de leur
évolution et de leurs interactions. Cette thématique porte à la fois sur des problèmes de recherche fondamentale - biomolécules, fonctionnement de la cellule, évolution des espèces - et sur des
domaines cruciaux pour la société - environnement, santé. Elle connait un développement rapide dû à la collaboration des différentes équipes et à un important dynamisme au niveau
international.
Cette communauté travaille dans des laboratoires régis par les universités, le CNRS, l'INRA, et aussi l'INRIA, l'INSERM et même le CEA. Depuis plus de dix ans, le CNRS tient un rôle fédérateur
esentiel qui perdure aujourd'hui grâce à la création du GdR Biologie, Informatique et Mathématiques (BIM), d'une commission transversale (44), et de financements inter-disciplinaires (PEPS).
Qu'adviendrait-il de ce dispositif dans le découpage du CNRS qui nous est proposé ?
Nous sommes fortement inquiets quant à la persistence de notre activité transdisciplinaire, qui à l'étranger fait l'objet d'efforts importants. Notre communauté devrait se scinder dans différents
instituts ou départements gérés par des organismes différents pilotés sans concertation ni coordination. Ceci reviendrait à ajouter des barrières entre les chercheurs du domaine et à affaiblir
notre visibilité internationale et notre compétitivité.
Réaction normale ou épidermique (simplement lié à chaque réforme) ? J'ai compris au moins une chose sur la prévision de cette réforme : plus d'enseignants-chercheurs, mais des
enseignants et des chercheurs (ce qui éviterais sûrement à bon nombre de perdre trop de temps), quitte à alterner les deux toutes les quelques années... Quant à dire que je vois les effets de la
démotivation des professeurs (enseignants-chercheurs) de mon université, proche du
Génopole.
Principal soucis de cette réforme du CNRS, plus de biologie ni d'informatique? Qu'adviendra-t-il donc du master de bioinformatique ? Le seul ensemble de
recherche qui profitera des élèves sortant sera sûrement le CEA (Commissariat à l'Energie Atomique), il était temps de s'en rendre compte... En effet, le CEA fait
de la recherche fondamentale en sciences du vivant, financement grâce à des dépôts de brevet dans d'autres domaines...
@+
Gaby
Un article un peu ancien (que j'avais écrit et publié en 2001, mais qui reste relativement bien explicatif et utilisable actuellement pour toute personne un tant soit peu intéressée par le sujet, tant en modélisation qu'en algorithmique...
Présentation
Un peu d'histoire
Les algoritmes «génétiques» ont été créés dans les années 60 et reviennent «à la mode» depuis les années 80. On en trouve dans des domaines d'application très divers : pour profiler une aile
d'avion, faire un diagnostic médical...
Ces algorithmes sont utilisés afin d'avoir des systèmes de recherche plus performants que les programmes traditionnels. Ces derniers n'étant pas très adaptables à tout type de recherche (sauf à y
passer beaucoup plus de temps).
Principe
Le but est de trouver la (ou les) meilleure(s) solution(s) à un problème donné grâce à un programme informatique sans que ce dernier ne les contienne explicitement. En d'autres termes, le
programme génère une population «d'individus» qui sont autant de solutions potentielles pour le problème. Chaque individu étant codé pour le problème : le chemin pour sortir d'un labyrinthe ou
autre application plus sérieuse...
Ensuite ces individus sont classés selon leur capacité à résoudre le problème, ceux en tête de liste seront favorisés (on les duplique au sein de la population) tandis que les derniers
disparaissent. Au fil des générations,et de quelques «mutations» (modification aléatoire de leur code), les individus sont ainsi sélectionnés selon leur aptitude à être une (ou de) bonne(s)
solution(s). Le problème est ainsi résolu.
Et la «vie» dans tout ça !
Les principales applications étant sans rapport avec la vie : la recherche (profiler la meilleure aile d'avion, ou fabriquer une intelligence artificielle...) et le diagnostic (systèmes experts
médicaux ou de réparation automobiles,...). On voit donc mal pourquoi on parle de «vie artificielle».
Les algorithmes génétiques ont donnés des idées à de nombreux théoriciens et programmeurs : simuler la vie dans un ordinateur, à partir d'éléments simples. La première apparition publique de tels
programmes a été curieuse : les tamagotchis, petits portes-clefs comportant un écran sur lequel apparait une petite bestiole qu'il faut surveiller, nourrir...
Le jeu de la vie
Ces «portes-clefs vivants» n'ont pas été les premiers dans le domaine des programmes grand public : le jeu sur ordinateurCreatures (simulation, GTInteractive, 1996) simule un monde sur
ordinateur, dans lequel l'utilisateur fait naître les premiers individus d'une espèce. Ces charmantes «créatures» demandent peu : communiquer avec l'utilisateur, apprendre à parler et à se
nourrir et se reproduire. On peut voir évoluer cette espèce et les individus qui la compose au cours du temps (les «norns» ayant une espérance de vie d'une dizaine d'heures), le programme met à
disposition quelques outils d'études pour le biologiste en herbe.
La toute première théorie concernant la vie artificielle (et mise en pratique) a été celle du «jeu de la vie» : des cellules apparaissent à l'écran et ne restent «vivantes» (affichées) que si
elles sont entourées d'un certain nombre d'autres cellules. Les créateurs de ce «jeu» ont vu apparaitre des structures non prévues par le programme. Des figures stables ou mouvantes dont le seul
but était la stabilité ou le maintien «en vie» des cellules composant ces structures.
Une autre création des débuts de la vie artificielle a été celle des automates cellulaires. Une cellule est figurée à l'écran, avec son code génétique à l'intérieur sous forme de pixels colorés.
Celle cellule se duplique en créant une copie de son code et de sa «membrane» : une autre cellule apparaît. Ces cellules vont continuer à se dupliquer en restant en place et meurent si elles ne
le peuvent pas, et ainsi de suite... (Ce mécanisme, très joli, crée une structure en fractale sur l'écran).
Utilisation pratique
Mais des propriétés autres que ludiques ont été trouvées pour ces programmes auto-évolutifs : on en retrouve dans certains moteurs de recherche dans le but qu'ilsd soient de plus en plus
performants ou comme les agents évolutifs pour dialoguer sur ordinateur ou dans des mondes virtuels en 3D.
Le principal axe de recherche est surtout celui de l'intelligence artificielle : créer une intelligence numérique de manière «naturelle» (les techniques avec les algorithmes traditionnels ayant
échoués du fait de la complexité de la chose).
Les principes de base
Reconstituer les principaux mécanismes
On peut définir quatres mécanismes vitaux fondamentaux : la nutrition (recherche de sources d'énergies), l'assimilation (conversion de l'énergie), la croissance (développement et auto-entretien grâce au code de l'individu), la reproduction (avec l'évolution : mutations et croisements (si mâle et femelle)). Ce dernier mécanisme induit la mort par surnombre (manque de nourriture , d'espace...). On peut assimiler le code de l'individu à un code «génétique».
Individualité des «organismes»
Chaque «cellule» ou individu dispose d'un plan (code génétique) individuel et traite ses informations séparément : celles citées au paragraphe précédent, sa connaissance de l'environnement, son code génétique...
Limites de la reconstitution
La complexité de la vie empêche une programmation complète, ou dans les moindres détails, sans compter les lacunes de nos connaissances de nombreux mécanismes biologiques. De plus la
programmation doit tout de même être suffisament simple pour fonctionner sans trop d'erreurs, dans cet ordre d'idée le code des individus doit être haploïde (ou assimilable à un code génétique de
type haploïde, c'est à dire qu'il n'est présent qu'en un seul exemplaire, contrairement à celui de l'homme, qui a un code diploïde) car cela fait moins d'information à traiter (le code génétique
d'un individu pouvant être assez long).
On peut rajouter une «éthique» dans ce domaine : si ce sont bien de nouvelles formes de vie qui apparaissent ainsi sur ordinateur, des espèces pouvant apparaître, évoluer et disparaître :
qu'a-t-on le droit de faire ?
Programmation (et voies de recherche)
Les exemples du monde vivant
Un code génétique simple est un atout majeur qui a deux caractéristiques dans le monde que l'on crée : simplicité et universalité. Cela a une influence sur l'organisation en chromosomes et les mutations, qui sont alors plus faciles à mettre en place et permettent de voir les similitudes entre les «espèces» ( groupe d'individus qui se reproduisent entre eux et qui ont un code semblable : nombre de «chromosomes», longueur du code et similitudes majeures entre les codes d'individus distincts). On dispose alors d'une certaine souplesse d'action, alors qu'un code constitué de commandes les unes à la suite des autres n'est pas facile à manipuler (même pour un ordinateur).
La création du code
Il s'agit de déterminer le nombre le plus petit possible de commandes (qui seront équivalentes à des «acides aminés») auquelles on attibuera un caractère (lettre, chiffre...). Le code des
individus sera constitué d'une succesion de ces caractères et traduit par le programme principal qui exécutera le code pour l'individu.
Le plus simple pour créer ce code est d'établir le fonctionnement des gènes et de créer le code sur cette base (les gènes n'étant en ce sens qu'une suite de commande), et aussi de penser à un
code de début et de fin de gêne.
Les mutations
Une fois le code créé, il est plus facile de concevoir des «erreurs de trancription», plus ou moins au hasard selon les schémas traditionnels : substitution d'un caractère à un autre, addition ou
délétion, duplication d'un gène ainsi qu'une éventuelle activation ou désactivation d'un gêne.
La principale difficulté est que le code soit fonctionnel, ou que le programme central élimine les individus comportant un code non fonctionnel (sélection «naturelle») ou rende inactif le gêne
concerné.
Le choix du moment où s'effectue la mutation est assez souple : le plus simple est au moment de la reproduction (création d'un nouvel individu), mais rien n'empêche à priori la création d'agents
mutagènes, de virus particuliers...
Croisements
Si l'idée vous viens (ou à un programmeur) de concevoir un monde virtuel avec des individus de plusieurs sexes (mâle et femelle pour simplifier, il y a possibilité de croisement des codes
parentaux pour obtenir les codes des descendants. Ce croisement peut se définir comme suit : on choisit au hasard pour chaque gêne (ou groupe de gènes) entre les deux parents, qui sont censés en
avoir le même nombre (sinon c'est qu'ils sont d'espèces différentes).
Le choix du sexe peut être laissé au hasard ou lié à l'activation/la présence d'un gêne particulier. Dans ce dernier cas, tous les individus possèdent tous les gènes sexuels (tout sexe confondu,
transmis comme les autres de ses deux parents dans notre exemple), seuls les gènes liés au sexe choisi sont activés.
La nutrition
Élément essentiel de la vie mais difficile à gérer, cet aspect vital concerne la présence et le renouvellement, dans le monde virtuel considéré, «d'objets» d'une valeur nutritive donnée. Tous les individus peuvent ingurgiter et assimiler ces objets : augmentation d'un taux de «sucre», «d'amidon» ou de «graisse». Ces taux seront bien sûr baissés par la suite lors de leur utilisation : déplacement, reproduction, et autres processus de votre cru (ou apportés par l'évolution).
Limiter le programme
C'est dans un but de recherche et surtout de simplicité que l'on peut limiter différents paramètres : la nourriture, le nombre total d'individus, leur durée de vie, le nombre de génération... Sinon l'ordinateur qui exécute le programme sera très vite saturé. Ces limites ont aussi un avantage : on peut réaliser des expériences répétitives, observer l'évolution sur un nombre de générations donné, étudier comment s'effectue la sélection...
Les «Plus» , recherche de l'aboutissement
Faire «comme de vrai»
Il y en aura sûrement pour penser «Et les virus, bactéries, parasites... ?» Ceux-ci n'auront pas tort : il y en a dans certains programmes de vie artificielle (entre autres : Creatures). Mais cet aspect de la vie peut aussi apparaître «naturellement». Un virus n'est pas très complexe : quelques gènes qui servent à se dupliquer (se transmettre) d'un individu à l'autre, voire à perturber leur comportement.
- La difficulté est maintenant le système immunitaire (car en cas de virus létaux, tous les individus finiront par disparaître), c'est une chose à bien considérer, ou à laisser faire par l'évolution... Le plus simple est d'y penser en dernier, ou de ne pas y penser du tout.
Simplifier le programme
Comme pour tout programme informatique, on aboutit parfois à un monstre d'une taille imposante. Comment le faire plus petit et qu'il marche aussi bien : un programmeur peut chercher à le faire. C'est pourtant simple : le programme principal/central gère les «tâches de fond» (enregistrement, gestion de l'interface, les calculs, traduction et exécution des codes des individus...). Le tout est de savoir comment le faire :
- «Factoriser» les répétitions : créer des fonctions qui seront utilisées avec différentes variables, au lieu de les utiliser x fois dans le programme et de x manières différentes.
- Utiliser un système «multitâche» ou qui fait tout comme : il exécute les ordres le plus rapidement possible. Ces commandes (simples) arrivent sur une liste et sont executées les unes après les autres, parfois sans rapport les unes avec les autres : tous les processus en cours se déroulent ensembles (y compris une éventuelle attente d'une action de l'utilisateur).
- Résoudre ce problème par un algorithme génétique (recherche des meilleurs programmes dans ce genre). Belle idée ! Mais qui peut prendre encore plus de temps...
Conclusion
On arrive toujours à quelque chose dans ce domaine : déjà de nouvelles espèces «numériques» (dans le jeu Creatures et ses versions successives) ou des agents intelligents (moteurs de recherche).
Les applications concrètes sont peu visibles, mais se retrouvent partout : les jeux (vie artificielle, intelligence artificielle dans certains jeux de stratégie), des systèmes experts (médecine
ou tout autre domaine bien spécifique)...
Les principaux intérêts de ce genre de programmes sont bien sûr : obtenir des ordinateurs plus performants, trouver une bonne solution rapidement, créer des objets ou des programmes difficilement
concevables par les manières plus «traditionnelles» : l'intelligence artificielle, et plus récemment des robots capables d'évolution «spontanée».
Gabriel Chandesris, le 10 octobre 2000
(mail : gabywald[no-spam]@webmails.com ;
URL : http://gabriel.chandesris.free.fr/)
Sources :
- «L'ordinateur génétique», Jean Louis Dessales,
Hermès, ISBN 2-86601-538-X - «3 étapesvers l'intelligence artificielle, pour Amstrad CPC»,
P.S.I., ISBN 2-86595-278-9
(Notamment le chapitre 3 : Ashby et les structures adaptatives) - «Conscience artificielle et systèmes adaptatifs», Alain Cardon,
Eyrolles, ISBN?
(Chapitre XVI : l'évolution des systèmes d'agents)
- Le Nouvel Observateur du 22 eu 28 juin 2000, p.109 : «Moteurs Darwiniens»
- Libération du 1er Septembre 2000, p.22 «Le robot, génération spontanée»
- Creatures (2, 3, Aventure) de GTInteractive, 1996 à 2000 (ainsi que l'aide jointe avec le jeu)
- Life (très nombreux petits programmes du même nom sur «le jeu de la vie» )
Quelques éléments peuvent être rajoutés (comme des liens de références) mais vous en retrouverez l'essentiel dans les billets précédents abordant le sujet : Simulation informatique, Vie Artificielle et Programmation Orientée Objet / Vie Artificielle.
@+
Gaby
Un petit clin d'oeil en passant sur mon sujet de formation actuel (en attendant de publier à nouveau sur le sujet et de finir le master de bio-informatique à l'université Evry)... Quand je pense que je fais ce passage à l'université «pour le diplôme», ça peut en faire réfléchir un bon nombre !
- Quelques articles d'un autre blog
- Bio-informatique (Wikipedia FR)
- Articles bio-informatiques
- Le paradoxe de la reine rouge...
- «Geno - Pole» de compétitivité...
- L'intérêt webbloggesque pour la bio-informatique
- Spécialité en bio-informatique (expliquée à ma mère)
- Licence professionnelle bio-informatique
- Phylogenetik, un projet Java de bio-informatique
- Séquençage, banques de données et emploi en bio-informatique
- (biologie)++
- Simulation, Vie Artificielle et Programmation Orientée Objet
Bonne (re)lecture en attendant la suite (entre examens et stage, il faudra que je prenne le temps d'écrire sur la bio-informatique) !
@+
Gaby
- Un article sur la vie artificielle
- Vie Artificielle, Robot et Intelligence Artificielle
- Simulation Informatique (Wikipedia)
- Introduction à la programmation orientée objet (commentcamarche.net)
- Simulation Multi-Agent
- Développement Orienté Objet : UML
-
- Simulation informatique d'environnements
- Vie Artificielle
- Vie artificielle (schéma de projet)
- Un article sur la vie artificielle
- Ressources en programmation dont l'Orienté Objet
- Darwinia
- Creatures Wiki Homepage
-
-
Proximité avec la vie artificielle
- Des virus informatiques au service de la police
- Dossier les virus informatiques
- Description d'un virus informatique
- Virus Informatique et Virus biologique
- Comprendre les virus informatiques
- Elevage de virus informatiques
- Définitions des virus informatiques
- Comment créer un virus informatique ?
Un sujet à multiples facettes qui intéresse du monde, tant en biologie qu'en informatique...
@+
Gaby
AFM - Agence Française contre les Myopathies / Téléthon, Généthon et compagnie... / Génoscope et Génopôle
Thérapies cellulaires, Thérapeutiques avancées, biotechnologies, Maladies génétiques rares, Thérapie génique...
Tout ceci ne vous évoque rien ou «pas grand-chose» sinon des émissions et évènements radio-télévisés ponctuellement une fois par an ? Ce n'est pas grave à priori, mais un peu de curiosité ne
ferait pas de mal dans l'actualité. Je profite (un peu) d'être en Master de bioinformatique à l'université d'Evry Val d'Essonne (oui, il y a une université à Evry !) pour faire un peu de
publicité pour un lieu et quelques laboratoires que j'ai déjà visités (et déjà travaillé pour certains...).
Pas de lancement de polémique sur les pôles de compétitivité (mais c'est la terme usité), ou le financement de la recherche scientifique en France («en voie de privatisation» ?...), mais quelques signalements sur des regroupements et thématiques d'entreprises et laboratoires de recherches qui gagneraient à être mieux connus (comme cette fameuse université d'Evry, bien placée à proximité du Génopole).
- Site du Génopole
- Génoscope / Centre National de Séquençage (CNS)
- Centre National de Génotypage (CNG)
- Téléthon
- Généthon : «Des biotechnologies innovantes pour des maladies génétiques orphelines»
- AFM - Association Française contre les Myopathies
-
Master BioInformatique (à l'université d'Evry)
Master Sciences et ingénierie, mention Biologie et Génome, Génie Biologique et Informatique - Société Française de Bio-Informatique
- Biologeek
-
La bio-informatique en master dans d'autres université que Evry (au cas où)
- Rouen
- Rennes
- Bordeaux
- Lille
- Montpellier
- Nantes
Comme quoi (après renseignements pris), l'initiative d'avoir des pôles de recherche scientifique importants existe depuis longtemps en France, mais plus d'origine privée (AFM et entreprises diverses), initiative sur laquelle sur laquelle viennent ensuite se greffer les ressources publiques (centres de recherche publique et université).
@+
Gaby