présentation par
Jean-Paul Baquiast
22 juin 2005
Dès
nos premiers numéros, nous signalions l'importance
de la programmation génétique. Notamment,
en octobre 2000, nous présentions le réseau
d'excellence européen Evonet http://www.automatesintelligents.com/visites/2000/oct/evonet.html.
Ultérieurement, nous avons consacré un
interview à Pierre Collet, qui est (si sa modestie
nous permet de le dire) l'un des principaux promoteurs
de la programmation génétique dans l'université
française (http://www.automatesintelligents.com/interviews/2001/avr/p_collet.html)
Le
domaine ne cesse de se développer, aux Etats-Unis
d'abord mais dans de nombreux autres pays dont la France.
Les progrès de la discipline dans notre pays font
l'objet de présentations trimestrielles, les Journées
Evolutionnaires Trimestrielles dont la 15e vient de se tenir
à Paris 5 le 15 juin (voir http://www-lil.univ-littoral.fr/~fonlupt/JET15/).
Rappelons
que la programmation génétique est une
méthode de programmation qui se révèle
d'un riche avenir. Son ambition est de réaliser
des systèmes informatiques capables d'évoluer
sur le mode de la sélection naturelle à
l'œuvre dans les organismes biologiques.
Comme en ce qui concerne la vie, rien ne permet de lui
assigner des limites a priori. De nombreux laboratoires
et un nombre croissant d'entreprises commencent à
utiliser la programmation génétique pour
produire des systèmes dont les performances sont
identiques sinon meilleures que celles de systèmes
traditionnels, à des coûts infiniment moindres.
On
considère généralement que la programmation
génétique a été inventée
par le chercheur et homme d'affaires américain John
R. Koza à partir des années 1990. John R.
Koza, docteur en informatique à l'université
de Michigan en 1972, enseigne la programmation génétique
à l'université de Standford depuis 1988. Parallèlement,
il est professeur consultant en informatique biomédicale
au sein du département de médecine de cette
même université, ainsi que consultant en ingénierie
électrique.
Dans
le même temps, il a créé une entreprise,
Genetic Programming Inc, qui dispose dorénavant
de moyens importants. Il y développe notamment
la programmation génétique sur un cluster
de 1000 ordinateurs en parallèle.
Il a publié sur la programmation génétique
4 ouvrages considérés comme fondateurs:
en 1992 Genetic Programming: On the Programming
of Computers by Means of Natural Selection, en
1994 Genetic Programming II: Automatic Discovery
of Reusable Programs, en 1999 Genetic Programming
III: Darwinian Invention and Problem Solving, et
finalement en 2003 Genetic Programming IV: Routine
Human-Competitive Machine Intelligence.
Comment
fonctionne la programmation génétique ? Il
s'agit de processus évolutifs initialisés
à partir d'ensembles de programmes générés
au hasard. Ces populations sont soumises à une évolution
progressive s'exerçant à travers des séries
de générations. Le processus évolutionnaire
utilise les principes naturels de la sélection darwinienne
(survivance du plus adapte), incluant la combinaison ou
recombinaison sexuelle, les mutations ou destructions de
gênes, etc.
Les ambitions de la programmation génétique
n'ont cessé de s'accroître depuis les origines.
Aujourd'hui, elle ne se limite pas à proposer
des démonstrateurs. Elle vise à produire
des résultats opérationnels, compétitifs
au plan économique avec les produits du travail
humain traditionnel. Les critères retenus aujourd'hui
pour justifier d'entreprendre une nouvelle recherche
sont très ambitieux. Il faut que le produit visé
puisse démontrer sa supériorité
sur les produits résultant des méthodes
traditionnelles. Ceci peut être fait de différentes
façons, notamment en permettant d'obtenir
un résultat équivalent à celui
d'une invention brevetée dans le passé
ou qui pourrait est brevetable aujourd'hui.
Genetic
Programming IV n'est pas un livre destiné au
grand public. Il s'agit d'un ouvrage collectif qui s'adresse
essentiellement aux informaticiens et aux ingénieurs.
Il décrit 15 domaines dans lesquels la programmation
génétique a permis de réaliser des
entités reproduisant les fonctionnalités d'inventions
préalablement brevetées dans le courant du
20e siècle ou susceptibles de l' être aujourd'hui.
Il en présente plusieurs exemples :
- synthèse automatique de circuits électriques
analogiques ;
- synthèse automatique de contrôleurs ;
- synthèse automatique de processus métaboliques
(un réseau de réactions chimiques) ;
- synthèse automatique d'antennes ;
- synthèse automatique de réseaux génétiques
biologiques ;
- résolution de problèmes intéressant
la biologie et moléculaire ;
- résolution de nombreux autres problèmes
impliquant les automates cellulaires, les systèmes
multi-agents, les algorithmes mathématiques et
d'autres domaines du design.
Dans
ces diverses perspectives, la programmation génétique
apparaît comme une véritable machine capable
d'invention automatique, pouvant se montrer plus
puissante que l'invention humaine, surtout lorsque
celle-ci est inhibée par des préjugés
relatifs aux limites de l'esprit humain s'exerçant
dans des voies déjà explorées depuis
longtemps.
Les
scientifiques et ingénieurs pratiquant l'anglais
n'ont pas de difficultés pour découvrir
les véritables perspectives révolutionnaires
de la programmation génétique. Il serait
intéressant par contre qu'un ouvrage plus général,
destiné à un public non informaticien,
en présente les arcanes en français, afin
d'attirer l'attention des créateurs et des utilisateurs
qui ignorent encore cette discipline.
Pour
en savoir plus
Le
portail de la programmation génétique
http://www.genetic-programming.org/
Le
site du livre http://www.genetic-programming.org/gpbook4toc.html
Les
conférences EA'05 (7th Intl. Conf on Artificial
Evolution).
Lille, 26 - 28 Octobre 2005 http://www.lifl.fr/~ea2005/
et Euro-GP'06
Budapest, 10 - 12 Avril 2006 http://evonet.lri.fr//eurogp2006/