/ Accueil / Simuler l'apprentissage
     | Ecrire

Le classeur génétique

L'animation de la base de connaissances et la prise de décision sont confiées à un algorithme génétique. Ce type d'algorithmes[JHH] simule les processus dits de sélection naturelle pour améliorer une population d'individus. Choisir les "bons" pour en créer de meilleurs. Dans notre cas la population est la base de connaissances et les individus sont les règles.

Un algorithme génétique repose sur deux éléments, un code génétique et une fonction d'évaluation :

La sélection des individus a pour but d'éliminer les plus mauvais et recombiner les survivants par croisement puis mutation pour en créer de nouveaux qui seront à leur tour évalués. Tout repose donc sur la qualité de la fonction d'évaluation et les possibilités de recombinaisons. L'algorithme génétique est efficace si :

Les règles sont assimilées à des individus, et par conséquent, la base de connaissance, l'ensemble des règles, est assimilable à une population. Cette population va subir une pression sélective qui va, on l'espère, augmenter la qualité moyenne des individus qui la composent. Ceci imposes les individus soient mortels, autrement dit les règles sont périssables : il faut continuellement renouveler la population, traquer les individus inadaptés pour les remplacer par de nouveaux, issus de règles plus fortes.

Comme pour une population réelle, des individus naissent et meurent, les effectifs varient. Il faudra donc porter son attention au contrôle de la taille de la population. Si trop d'individus meurent, l'espèce s'éteint, la base de connaissance se vide et l'animat perd son savoir. Si le taux de natalité est trop important, la population croît exponentiellement. La base de connaissances devient vite ingérable et il est alors difficile de reconnaître les bons individus et la mémoire de la machine sera vite saturée (n'oublions pas que nous avons quand-même quelques contraintes matérielles).

Une première méthode simpliste est de tout simplement empêcher toute variation de la taille de la population. Elle est fixée dès le départ, toute naissance entraîne une mort et inversement. Tout le problème est alors de choisir une dimension adaptée : une population trop petite ne permet pas une exploration efficace, la probabilité d'apparition d'une bonne règle pour chaque situation est trop faible pour espérer en trouver dans un délai raisonnable. Par contre une population trop grande peut ne pas se stabiliser vers un ensemble de règles intéressant et sa gestion consomme inutilement des ressources. Toutefois ce système impose une entorse à l'un de nos postulat qui établit que l'animat n'a pas de connaissance innées. Comme la population a une taille fixe, celle ci est établie dès le départ. Le jeu de règle nécessaire est simplement créé aléatoirement. L'animat a des connaissances innées, mais il s'agit de n'importe quoi !

mis à jour le : 15/04/2006 - 21:58