15/11/01
La
programmation génétique, une histoire d'informatique évolutive
Précédemment: Ca
existe ? Les nano-processeurs
Arthur C. Clarke
et Stanley Kubrick, visionnaires ? Alors que la
première année du XXIème siècle
est sur le point de se terminer, le mythique ordinateur
H.A.L. du film "2001, l'Odyssée de l'Espace"
apparaît déjà commercialisé
par la firme Star
Bridge Systems. Qualifiés d'hypercalculateurs
par leur fabricant, les modèles HAL-15 et 300
(Hyper algorithmic logic) s'appuient en apparence sur
un PC tout ce qu'il y a de plus classique: système
d'exploitation Windows 98, et processeur Pentium III...
en annexe. Car le véritable cerveau de la bête,
lui, se nomme FPGA (Field programmable gate array) et
se caractérise par une puce reprogrammable dotée
de millions de ports ouverts, pour remodeler l'architecture
à la demande. Parmi les fabricants de ces puces,
des noms comme Xilinx, Motorola, et Altera. Et ces simples
PC évolués, utilisés par la NASA,
pourraient traiter l'information 1 000 fois
plus vite que les calculateurs classiques.
Pour opérer ce matériel, un environnement
spécial est requis: la plate-forme logicielle
Viva made in Star Bridge, un mot emprunté de
l'italien qui signifie "la vie".
Tourné
vers l'optimisation de l'éxécution de
chaque tâche, Viva s'auto-reconfigure en temps
réel selon ses besoins à partir de l'inventaire
des ressources disponibles en interne et sur le réseau.
En outre, sa capacité à émuler,
selon l'éditeur, n'importe quel type de matériels
lui confère des dons de portabilité entre
plates-formes incompatibles. Pour cela, il serait capable
de concevoir lui même ses propres formules et
processeurs (d'où les puces reprogrammables),
toujours en fonction de ses besoins. Or, à la
base de cette technologie, que retrouve-t-on ? Les algorithmes
génétiques et le calcul évolutionnaire.
Des
systèmes capables d'apprendre tout seuls
C'est en 1960 que
naît le concept de programmation
évolutionnaire, issu du cerveau du chercheur
Lawrence J. Fogel, co-auteur en 1966 avec Owens et Walsh
du livre "L'intelligence Artificielle à
travers l'Evolution Simulée".
Leur
vision de la stratégie d'optimisation se base
alors sur les liens comportementaux entre des objets
"parents" et leurs "héritiers".
Les algorithmes génétiques, assez proches,
cherchent à émuler les opérateurs
génétiques (les quatre protéines
bases qui composent les gênes de toutes les espèces)
de la même façon que ce que l'on peut observer
dans la nature. La programmation
génétique, quant à elle, apporte
l'encadrement hiérarchique nécessaire
au développement de ces algorithmes à
partir du modèle d'apprentissage génétique.
Une "population" se compose "d'individus"
représentés par des "chromosomes",
qui traversent un processus d'évolution et d'adaptation
naturelle au sein d'un "environnement", comme
ce qui est décrit par Darwin. La "reproduction"
existant dans la nature peut être asexuée
(cellules) ou sexuée (espèces). Il en
résulte respectivement une réplique, ou
un nouvel individu constitué d'une combinaison
des attributs de ses parents. Grâce à des
langages comme Lisp, Perl ou Ruby dans leur ordre d'apparition
historique, ces théories sont mises en pratique
sous forme d'algorithmes logiciels. Un exemple
en Java est même démontré en
ligne , qui nécessite tout de même quelques
connaissances pour l'interprétation des résultats.
IBM apporte de son côté quelques
rudiments en Perl sous Linux.
Des implications dans de multiples
domaines
IBM, la firme qui a inspiré Arthur C.Clarke,
n'est donc pas en reste. Pour la petite annecdote, il
suffit d'ajouter 1 à chaque lettre de H.A.L.
pour parvenir au nom du géant incontesté
de l'informatique pluridisciplinaire. Une série
de requêtes en rapport avec la question sur le
moteur de recherche du site de Big Blue donne des références
comme l'allocation automatique et dynamique de ressources
pour les réseaux mobiles ATM (Asyncronous transfer
mode). Spécialiste de la question, le laboratoire
de recherche israélien d'IBM organise des
séminaires sur le calcul évolutionnaire,
une méthode qu'il qualifie de désormais
courante. D'après lui, cette technologie peut
s'appliquer à "l'optimisation, la programmation
automatique, l'apprentissage informatisé, l'économie,
les systèmes immunitaires, l'écologie
ou encore à la conception de matériels".
Pour les systèmes immunitaires par exemple, ces
techniques débouchent sur les réseaux
auto-immunisés, où chaque élément
est chargé d'assurer la sécurité
de tout le système - des réseaux encore
à l'étude dans des laboratoires avancés
comme le belge StarLab.
Enfin, les découvertes liées à
ces procédés, comme la sélection
naturelle d'orbites de satellites, n'ont pas encore
fini de faire couler de l'encre. En terme d'intelligence
artificielle, la programmation génétique
semble avoir encore de beaux jours devant elle, avec
pour seule limite l'imagination des scientifiques.
|