Apartés

Comme prevu j’ai pu me remettre aux Mebius ce mois ci. Je continue a bien avance sur le livre qui grossis a vue d’oeil (143 pages au jour d’aujourd’hui). J’ai aussi realise les optimisations dont je parlais dans le precedent post. Il s’agissait d’utiliser une structure d’arborescence mutlidimensionnelle pour une partie de la memoire du Mebius. Je craignais que ca ne me prenne un temps fou, et puis en deux jours c’etait regle. La je suis en train de refaire quelques runs pour prouver que la nouvelle version de l’algo fonctionne bin, qu’il n’y a pas de regression, et voir en quoi ca ameliore les performances.

A partir de Fevrier je commence un nouveau travail, mais j’ai negocie des arangements dans l’emploi du temps pour avoir 3 jours de conges par semaine. Je compte en consacrer un pleinement aux Mebius. Donc ca devrait bien avancer. J’ai deja defini les experiences que je veux faire sous la forme du plan du livre. Petit a petit je me dirige vers une organisation ou le livre devient une feuille de route que je remplis avec les resultats que j’obtient et les analyses que j’en fait. Et je voudrais augmenter ma productivite en preparant l’experience suivante pendant qu’une est en train de tourner, ou automatisant plus les runs d’une meme experience. Bref cette annee je veux passer a la vitesse superieure ! Cote code, l’algo des Cognits est tres probablement dans sa version definitive a quelques details pres (il y a surement moyen de l’optimiser). Il ne reste donc que la surcouche pour assembler plusieurs Cognits en un Mebius, mais ca ne represente pas vraiment de difficulte. Par contre il y aura aussi ce que j’appelle le module d’inference qui sera un gros boulot. Mais ca viendra plus tard, pour l’instant je m’occupe de voir ce dont les Mebius sont capables sans ce module.

Depuis mi-Octobre j’ai un boulot a plus-que-plein temps, je participe a des fouilles archeologiques. D’ou le nouveau blanc dans ce projet. Mais je fini dans trois semaines et je devrai pouvoir me remettre au Mebius debut Janvier. 

Dans les derniers choses que j’avais faite et dont je n’avais pas parle ici, l’experience ou les Mebius controlent leur acceleration a donne de tres bon resultats. Et cote livre, en redigeant des bouts du chapitre a propos de l’algorithme ca m’a permis de realiser qu’il y avait des ameliorations a apporter a l’algo par endroit, et c’est la prochaine chose que je veux faire. Ca m’obligera surement a refiare quelques tests mais je positive en me disant que ce travail de redaction est benefique a l’algo en me forcant a plus de verification, d’optimisation.

Bon finalement ce a quoi j’avais pense n’ameliore pas la vitesse de l’algo donc j’ai laisse tomber et suis revenu au bouquin. J’ai mis au propre une grosse partie de la description des structures de donnees qui contiennent la memoire des Cognits, et avance sur la mise au propre de l’experience ou le mebius ne controle pas sa vitesse mais son acceleration (experience que je n’avais finalement pas faite jusqu’a present). Et la, pan voila que ca explose ! Apres une journee a broyer du noir « ca marchera donc jamais » comme d’habitude, je me suis finalement rendu compte que c’etait juste un depassement de capacite dans une variable du cote de la simulation de l’environnement. Ouf ! Resolu en 1 seconde, et mes petits Mebius tournent du feu de Dieu…
Du coup je met plus trop de resultats par ici, sorry, faudra acheter le bouquin quand il sortira (dans un siecle) :-p . Non, je remettrai quelques resultats ici aussi un jour.

 

J’ai fini une optimisation sur la gestion de la memoire dynamique dans l’algo du Mebius. Je determine maintenant dynamiquement le type des references aux blocs memoires dans le segment de memoire du cognit. Par exemple s’il y en a moins de 256, un unsigned char suffit. Je peux ainsi reduire la taille des blocs memoires, et donc augmenter leur nombre dans le segment, ce qui a pour effet de rendre plus « intelligents » le Mebius. 
Ce faisant j’ai aussi remarque que je pourrais ameliorer encore la gestion de la memoire dynamique, cette fois pour ameliorer la vitesse d’execution de l’algo. Je vais y reflechir un peu plus maintenant.

Fini de debugger, ca tourne impeccable. Au passage j’ai implemente de nouveaux mecanismes de controle et ameliore la gestion de la memoire.

En faisant des tests tres longs pour generer des graphiques pour le livre j’ai trouve un bug dans la gestion de la memoire dynamique qui etait passe inappercu sur run moins long. Je l’ai resolu en partie mais il y a toujours quelque chose qui va pas. Je continue a investiguer…

Ces dernieres semaines j’ai ete tres pris par une competition de programmation et un petit boulot de traduction. J’ai encore quelques travaux en previsions pour les jours qui viennent mais je vais me remettre en parallele a la redaction du livre.

J’ai fini de rediger le premier chapitre de mon livre qui presente ce qu’est le projet mebius, son historique et le but du livre. Maintenant je vais commencer par mettre au propre les resultats que j’ai obtenu jusqu’a present. Ce soir j’ai ameliore mon processus de mise en oeuvre pour simplifier le travail en parallele en tout simule et en embarque sur mon Arduino.

 

Finalement, une fois que j’ai mis le doigt dans cette histoire de rapport je n’ai plu pu m’arreter. J’ai passer presque toute la semaine a ecrire ! Je commence par presenter le projet, ensuite je vais mettre petit a petit au propre ce que j’ai fait jusqu’ici et qui est presente en vrac dans ce blog. Au passage, je redige en anglais, et j’utilise Latex.

Je continue aussi a lire le livre de Penrose.

 

 

 

 

 

 

J’ai fini les modifications necessaires pour integrer mon mebius sur un Arduino, et apres quelques bugs inevitables resolus en deux temps trois mouvements, ca marche ! 😀

Une photo, pour la posterite 😉

Image

Rien de bien folichon pour l’instant, ca se contente de controller la luminosite d’une led en la ‘regardant’ via une photoresistance de sorte qu’elle atteigne une valeur imposee par l’utilisateur via un potentiometre. C’est le plus simple exemple possible : une entree, une sortie, et des composants qui reagissent selon une fonction unite (au bruit pres).

Maintenant je vais mettre un peu au propre les resultats de ce premier test.

A part ca j’ai commence a ecrire un rapport a propos de ce projet, ou j’aimerai mettre au propre et presenter tout ce que j’ai fait (et ferai). Je sais pas si le courage va me tenir bien longtemps mais de toute facon a terme il faudra bien que je le fasse alros autant commence des maintenant, petit a petit.