J’ai continue a reflechir au processus de remise en cause des valeurs dans un cognit.
Tout d’abord, j’ai change les criteres de reproduction. Maintenant un mebius mort engendre un nouveau mebius a son image (avec des alterations aleatoires) s’il a reussi a vivre presque (actuellement 80%) aussi longtemps que le champion courant, sinon c’est le champion qui se reproduit. Ca ameliore un peu l’evolution de la population.
Mais il y avait toujours cette periode de regression apres l’apparition d’un champion. Apres reflexion j’ai compris que ca venait de la facon dont je fais bouger la cible. A chaque fois qu’un champion apparait, elle se deplace plus rapidement. La contrainte sur les Mebius est donc plus grande, une erreur de trajectoire les entrainant en moyenne plus loin de la cible. Il faut alors attendre qu’ils evoluent pour etre plus performants et caapble de suivre la cible a sa nouvelle vitesse de deplacement. Au passage c’est deja en soit une facon de constater qu’il y a une certaine remise en cause remise en cause des valeurs dans les cognits, puisque de nouveaux champions continuent effectivement a apparaitre.
Cependant, en regardant les videos des cognits je me suis rendu compte que des valeurs ‘correctes’ ont tendance a se perdre. En soit c’est normal, le mebius en lui meme ne sait pas qu’elle est correcte et la remet en cause comme les autres. Mais etant correcte elle devrait reapparaitre tres rapidement et etre remise en cause beaucoup moins souvent d’apres mon modele. La, j’ai trouve que le probleme venait de l’implementation des cognits interfaces. Ils ne disposaient en effet que d’un senseur global de rapprochement a la cible pour alimenter les cognits d’apprentissage. Ainsi, si le mebius s’eloigne globalement de la cible, il va avoir tendance a penser que ses valeurs ne sont pas bonnes et chercher de nouvelles. Mais s’il s’est eloigne car les cognits gerant le deplacement haut/bas ont fait n’importe quoi, pendant que les cognits droite/gauche ont vu juste, ces derniers seront penalises a tort. J’ai donc divise le senseur de rapprochement pour chaque axe dans le mebius interface et reconfigurer les cognits de son mebius. On obtient tout de suite de bien meilleurs resultats :
Distance moyenne a la cible
en bleu mebius interface a senseurs separes,
en rouge mebius interface a senseurs confondus
Plus les mebius ont d’information sur leur environnement et plus elles sont pertinentes, plus ils obtiennent de bons resultats. C’est coherent avec le modele, donc c’est satisfaisant.
Ensuite je me suis penche sur le probleme inverse, les valeurs incorrectes qui ne sont pas remises en cause. La aussi j’ai commence par suspecter un probleme de configuration, au niveau des cognits d’enseignement. J’ai reflechi aux parametres que j’utilisais, et je me suis dit qu’ils engendraient des mebius un peu trop sur d’eux, prompt a decider et rechignant a changer d’idee. J’ai donc changer les parametres pour des mebius un peu plus prudent et ouvert d’esprit, et j’ai refait tourner un petit run.
Distance moyenne a la cible
en bleu parametres « prudent et ouvert »
en rouge parametres « fonceur et tetu »
Le mebius prudent et ouvert stagne au debut, il prend le temps de s’assurer de ses choix diront nous, alors que le mebius fonceur arrive tres rapidement a sur une solution. Mais au bout de 30.000 iterations, ils arrivent tout les deux a des performances similaires. Cependant le mebius ouvert a des valeurs maximales de distance a la cible plus grandes que le mebius fonceur. C’est parce qu’il continue a explorer des possibilites, donc commet des erreurs qui le penalise, alors que le mebius fonceur s’en tient a sa solution optimale. Il va donc etre interressant de comparer les deux sur du long terme. A priori le tetu ne progressera plus, alors que le prudent va finir par trouver une meilleure solution. Je vais arreter la pour aujourd’hui et laisser tourner a nouveau un run d’un million d’iteration pendant que je vais me changer les idees devant un petit cafe ! Si ca a fini de tourner ce soir je referai un autre long run avec le mebius fonceur, et demain soir je devrai pouvoir comparer les resultats.