• Aucun résultat trouvé

Systèmes de classeurs de type Michigan

3.2 Systèmes de Classeurs avec Algorithme Génétique

3.2.2 Systèmes de classeurs de type Michigan

Ce système de classeurs utilise pour son évolution un algorithme génétique et pour son évaluation un système de récompense appelé Bucket Brigade [Holland, 1985]. La bucket brigade, littéralement la brigade des seaux, simule une chaîne de personnes qui se passent les seaux d’eau depuis un point d’eau afin d’éteindre l’incendie d’une maison. L’eau symbolise la récompense qui doit être amenée de personne en personne. Éteindre l’incendie correspond à répondre au problème posé. Ainsi, les membres de la chaîne qui arrivent à éteindre l’incendie sont ceux qui arrivent non seulement à se passer l’eau (la récompense) jusqu’à l’incendie depuis le puits, mais aussi qui le font le plus rapidement i.e. la chaîne la plus courte. Ainsi les personnes deviennent des individus du système de classeurs et l’eau est une récompense qui va aller de membre en membre à chaque génération. Chaque participant aura une récompense quand le dernier de la chaîne aura trouvé l’eau qui est donné par l’environnement. Pour être le premier de la chaîne, il faut être capable de lire le message “au feu” que l’on a reçu du problème. Et pour faire partie de la chaîne solution, il faut être capable d’interpréter le nouveau message que le dernier membre de la chaîne actuelle aura transmis. Enfin pour être le dernier de la chaîne, personne ne doit pouvoir interpréter le message émis. Toutefois, si le message du dernier est mauvais, il n’aura pas d’eau et toute la chaîne qu’il termine risque de disparaître. Inversement si il a eu de l’eau, la chaîne peut subsister. La récompense est donc rétro-propagée au sein des individus. Au niveau du système de classeurs, l’environnement émet un message “au feu” sur un tableau noir qui ne lui coûte rien. Ensuite un individu du système de classeurs qui comprend le signal fait une offre afin de participer à la résolution du problème :

56 CHAPITRE 3. SYSTÈMES DE CLASSEURS

αest le coefficient d’apprentissage et est compris entre 0 et 1. Si l’individu i est retenu car son offre est soit la meilleure, soit la seule, il doit payer à l’environnement le montant de son offre. Sa force ainsi que celle de l’environnement sont modifiées :

Forcei ForceiO f f rei

Forceenv Forceenv O f f rei

Il émet ensuite un nouveau message qui va être interprété par les autres individus qui vont alors répéter le processus en essayant de faire la meilleure offre. Supposons que le classeur j fasse la meilleur offre au classeur i alors :

O f f rej α Forcej

Forcej ForcejO f f rej

Forcei Forcei O f f rej

Si le message n’est pas interprétable, c’est alors l’environnement qui va recevoir la décision des classeurs et déterminer une sanction :

Sanctionenv α Forceenv Si le dernier message n’est pas celui attendu :

Forceenv Forceenv Sanctionenv

Forcek ForcekSanctionenv

Si le dernier message est celui attendu :

Forceenv ForceenvSanctionenv

Forcek Forcek Sanctionenv

Il peut bien évidement y avoir plusieurs classeurs qui font la même offre, dans ce cas, tous les classeurs écrivent leur message sur le tableau noir. Ce qui nous amène à l’algorithme 1.

Voyons en détails le mécanisme d’une part de transmission des messages et d’autre part de dis- tribution de la punition / récompense. Dans un premier temps, le signal émis par l’environnement est codé par les détecteurs du système de résolution. Le message ainsi reçu est posté dans la liste des

messages appelée également tableau noir. La population de classeurs consulte la liste des messages et

certains classeurs seront activés car ils sont capables de déchiffrer le message i.e. leur partie condition correspond, au # près, à l’un des messages postés. Ils vont à leur tour poster un message qui pourra être également lu par d’autres classeurs. Lorsqu’un message n’est pas interprétable par les classeurs, le message est alors émis vers l’environnement à l’aide d’effecteurs. Le message transmis à l’envi- ronnement fait l’objet d’une sanction qui sera directement donnée à l’émetteur de ce dernier message.

3.2. SYSTÈMES DE CLASSEURS AVEC ALGORITHME GÉNÉTIQUE 57

Algorithme 1 de la bucket brigade. Début

Remplir(Class-List) ; { avec tous les classeurs du système. }

Remplir(Mesg-List) ; { avec les messages provenant de l’environnement. } Remplir(Ancien-List) ; { avec l’émetteur des messages, i.e. l’environnement. }

Répéter

Pour (Tous les Mjde Mesg-List) Faire

Pour (Tous les Cide Class-List) Faire

Remplir(Match-List) ; { avec les Ciqui comprennent Mj. }

Pour (Tous les Cide Match-List) Faire

Calculer l’offre : O f f rei Forcei α;

Remplir (Gagnant-List) ; { avec les Ci de Match-List qui ont fait la meilleure offre. }

Pour (Tous les Cide Gagnant-List) Faire

Calculer la force : Forcei ForceiO f f rei;

Pour (Tous les Cjde Ancien-List) Faire

Pour (Tous les Cide Gagnant-List) Faire

Calculer la force : Forcej Forcej TailleO f f rei AncienList

;

Pour (Tous les Mjde Mesg-List qui n’ont pas été traités ) Faire

Sanction Forceenv α

TailleM jList

; { Calculé une fois. }

Si (Mjn’est pas le message attendu) Alors

Sanction Sanction ;

Calculer la force : Forceenv ForceenvSanction ;

Pour (Tous les Cide Ancien-List ayant émis Mj) Faire

Calculer la force : Forcei Forcei Sanction ; Effacer (Mesg-List) ;

Remplir (Mesg-List) ; { avec les actions des Cide Gagnant-List. } Effacer (Ancien-List) ;

Remplir (Ancien-List) ; { avec les classeurs de Gagnant-List. } Effacer (Gagnant-List) ;

Jusqu’à (Mesg-List soit vide) ; Fin

Les messages seront par conséquent, tous traités avant de passer à la génération suivante. Les tables 3.2 décrivent l’exécution de l’exemple décrit par la figure 3.7. Pour cet exemple, on fixeα 0 1 et on suppose que l’environnement attend le signal 011 pour offrir une sanction positive. Le premier mes- sage est celui émis par l’environnement, à savoir : 001. Au pas numéro un, seul le premier individu est activable par le message de l’environnement. Il émet alors le signal 111 tout en payant une offre égale àα SaForce à l’environnement soit 1. Le message émis va déclencher, au pas numéro deux, l’acti-

vation des individus 2 et 4 qui vont faire une offre identique à l’individu 1 pour pouvoir émettre à leur tour. Les deux offres sont payées à l’individu 1 qui se retrouve avec une force de 11 et deux nouveaux messages sont émis : 010 et 100. Au pas numéro trois, le message 010 n’est pas interprétable par l’ensemble des classeurs, il est donc émis par les effecteurs auprès de l’environnement. Ce message n’étant pas celui escompté, l’environnement prélèveα Forceenvau classeur émetteur (le classeur 2) qui n’a plus qu’une force de 79 après cette action. L’environnement a alors 121 de force. L’autre

58 CHAPITRE 3. SYSTÈMES DE CLASSEURS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 001 111 010 100 011

Liste des messages

#01:111 11#:010 #00:011 1#1:100 Ensemble de classeurs 010 011 Effecteurs Détecteurs 001

Environnement

Résolution

FIG. 3.7 – Mécanisme de résolution de la Bucket Brigade.

message, 100, est traité par le classeur 3 qui émet au pas numéro quatre, le message 011 qui n’est pas interprétable par la population de classeurs. Ce message est émis et donne lieu à une récompense de la part de l’environnement égale à 121. L’environnement se retrouve alors avec une force de 1089.

On voit qu’à la génération suivante, le classeur numéro 4 va commencer à bénéficier de la force gagnée par celui qui est après lui dans la chaîne tandis que le classeur numéro 2 risque de ne pas participer à cette prochaine génération car l’offre qu’il va pouvoir faire devient trop faible.

Pour l’évolution, le système de classeurs de type Michigan utilise un algorithme génétique qui se base sur la force pour brasser les classeurs. En reprenant l’exemple que nous venons de voir et en regardant les forces finales de chacun d’entre eux, on constate que les classeurs ayant le plus de chance d’être éliminé par la sélection sont le numéro 2 dont on sait instinctivement qu’il ne répond pas au problème bien qu’à une mutation d’avoir une récompense, et le numéro 4 qui bien qu’essentiel à la bucket brigade de cet exemple n’a pas encore reçu les bénéfices de sa participation.

La rétro-propagation de la récompense fait courir le risque au système de perdre un individu important de la chaîne qui meurt faute d’avoir eu de l’eau à temps. Ainsi dès que la chaîne qui mène à la solution est trop longue, les systèmes de classeurs de type Michigan se trouvent dans l’impossibilité de trouver une solution stable.