L'évolution artificielle

Symposium écrit

Introduction sommaire au symposium écrit sur l'évolution artificielle

Selon la doctrine généralement admise aujourd'hui par les biologistes, le développement de l'individu (ontogenèse) est régi par son génome (génotype) constitué de chaînes d'ADN groupées en chromosomes.

Quant à l'évolution de l'espèce, elle repose sur trois mécanismes fondamentaux :

  • la variation du génome, qui se fait par mutations,
  • la sélection, qui ne porte pas sur le génome lui-même, mais sur les individus dont ce génome a déterminé le développement (sur les phénotypes), favorisant ceux qui ont survécu jusqu'à l'âge de la reproduction,
  • la reproduction à un ou à plusieurs exemplaires de ceux que leurs caractères et leurs preformances ont permis de survivre.

L'idée de M.Floreano est de simuler dans une population de petits robots mobiles Khepera (diamètre : 5.5 cm) une évolution de ce type, de varier aléatoirement les «génomes» et de reproduire préférentiellement ceux qui font preuve des meilleures performances. Celles-ci sont évaluées à l'aide d'une fitness function (fonction d'aptitude) qui donne une prime à la distance parcourue et sanctionne ceux qui ne sont pas retournés à temps (délai : 20 sec.) sur une aire colorée en noir surmontée d'une lumière où ils sont censés se recharger. Tant qu'ils restent sur cette aire, ils n'accumulent pas de points. Le «génome» est un ensemble de bits qui détermine les poids donnés aux divers éléments d'un réseau de «neurones» (artificiels !) dont les entrées sont les données des capteurs et les sorties le mouvement des roues. Des neurones forment une couche intermédiaire entre ceux d'entrée et de sortie. Ce réseau détermine ainsi le comportement du robot en fonction des données de ses capteurs. Les poids ne changent pas au cours de la vie du robot (qui ne dure que 60 sec). À chaque génération, une certaine proportion des génomes est modifiée aléatoirement selon certaines règles (simulation des mutations).

Toute l'expérience est réalisée à l'aide d'un seul robot qui joue successivement le rôle de tous les individus de la population et de toutes les générations. Chaque génération comprend 100 individus et le génome de chaque individu a, d'être reproduit à la génération suivante, une chance proportionnelle au nombre de points de la fitness function que celui-ci a accumulés durant sa vie.

Au cours des générations successives, la population (l'«espèce») apprend progressivement à coordonner les mouvements de ses deux roues indépendantes, à parcourir de grandes distances dans son enclos, à éviter les obstacles (bords de la piste) et à aller se recharger à temps, quittant l'aire noire aussitôt après. La fitness function moyenne de la population s'accroît et le meilleur individu de la dernière génération ne rate jamais son ravitaillement, quelle que soit sa position initiale sur la piste. Il faut souligner que les individus n'apprennent rien (ils gardent le même comportement inné tout au cours de leur vie) mais que c'est l'espèce qui progresse au cours des générations successives. Le progrès n'a pas lieu dans l'histoire de l'individu (ontogenèse) mais dans l'histoire de l'espèce (phylogenèse).

Le symposium écrit devrait d'abord permettre aux participants de se mettre au courant des détails de cette expérience et d'autres expériences de ce type, puis de méditer de façon critique sur les leçons qu'on peut tirer – et celles qu'on ne peut pas tirer – de leurs résultats. Car on ne peut discuter de façon pertinente que de ce qu'on a bien compris. La discussion pourra bien sûr ensuite être étendue à la notion d'apprentissage naturel et artificiel en général, en se référant si possible à des expériences qui ont été faites.

F. Bonsack (2002)

Introduction complémentaire

L'expérience de «robotique évolutionniste» à laquelle se réfère le texte ci-dessous est intitulée «Homing Navigation». L'article qui la décrit contient tous les détails et figures (Khepera, réseau de neurones, fitness graphs, etc.) importants à la compréhension de celle-ci. Il peut être téléchargé sur le site http://lsa.epfl.ch Dans la suite, je vais m'efforcer de rappeler quelques points généraux.

Un réseau de neurones (dans le cas qui nous préoccupe) est composé d'éléments essentiellement intégrateurs (neurones artificiels, représentés par des cercles) et de liaisons (synapses artificielles) qui peuvent pondérer (multiplier par une valeur entre −1 et 1) l'information provenant des neurones en amont. Ce sont justement ces poids synaptiques qui sont codés dans l'ADN artificiel et qui seront ajustés lors du processus de l'évolution artificielle.

Ce réseau de neurones est connecté aux senseurs (8 capteurs de proximité, 2 capteurs de lumière, un indicateur de niveau de batterie) et aux actuateurs (un moteur par roue). La tâche est d'optimiser la longueur du chemin parcouru dans une arène à peu près carrée, avec une énergie limitée. Chaque individu est testé durant 60 sec alors que sa batterie (simulée) ne dure que 20 sec. Dans un des coins de l'arène, il y a une zone de recharge (marquée en noir sur le sol) où le robot est instantanément rechargé. Juste au dessus de la zone de recharge, une lampe éclaire la piste.

La fonction de fitness (performance) est constituée de deux termes. Le premier évalue la vitesse (somme des valeurs absolues de chacune des roues) du robot, alors que le deuxième sanctionne les valeurs élevées des capteurs de proximité. Ce critère de performance est incrémenté à chaque boucle sensori-motrice (chaque 380 ms) uniquement dans le cas où le robot ne se trouve pas sur la zone de recharge. À la fin de la vie, cette valeur est normalisée sur le nombre de boucles sensori-motrices que le robot pourrait faire en 60 sec. Si celui-ci n'a pas pu se recharger à temps, il cesse s'accumuler des points.

Les meilleurs individus sont capables de naviguer de façon efficace (rapide, en évitant les obstacles) et de se retrouver la zone de recharge entre 1 et 2 sec avant que la batterie ne soit totalement déchargée.

En résumé, l'évolution artificielle a sélectionné des individus capables de :

  • découvrir de façon autonome la présence de la zone de recharge,
  • corréler des impératifs « physiologiques » internes avec leur propre position dans l'environnement afin de changer de comportement au bon moment pour éviter la décharge complète de la batterie;
  • créer une sorte de représentation interne de l'environnement afin de pouvoir naviguer efficacement en direction de la zone de recharge;
  • décomposer de façon autonome le comportement global en sous-objectifs (avancer, éviter les obstacles, s'orienter, etc.);
  • chercher activement une information manquante.

J.-C. Zufferey (2002)

Symposium écrit sur l'évolution artificielle

Merci de votre intérêt
 
Valid CSS! Valid XHTML 1.1! Conception et réalisation : AFG/N. Peguiron
Mise à jour : 2014-12-12