Apprentissage pour Cybot

J’en bave !

Voilà !

Après lecture et relecture de la thèse de Kelly sur l’apprentissage par renforcement, je pensais utiliser toutes les possibilités de Cybot : 9 niveaux pour chaque moteur et 4 évaluations des distances …

En fait très rapidement je vois qu’on aura des matrices de possibilités exigeant des calculs tellement longs que le robot risque de " réfléchir " un peu trop longtemps au milieu de l’autoroute  avant de se décider!

J’ai donc comme Kelly (p 4-7 à 4-8 de sa thèse) décidé de simplifier les matrices au plus simple ( au moins dans un premier temps …) :

1 vitesse avant

1 vitesse arrière

1 vitesse=0

pour chaque moteur droit et gauche

3 estimations de distance pour chaque sonar au lieu des 4 possibles …( 8 pour TOM !):

près

moyen

loin

Ca me rabaisse déjà mon caquet ! ! ..(et celui de Cybot…Tom, lui, a 17 vitesses moteur possibles et 8 " range " de sonar ! ! ! )

J’arrive donc à ces matrices :

 

Je me heurte maintenant à plusieurs problèmes :

Ah ! si j’eusse étudié au temps de ma jeunesse  "   ( Ronsard peut-être Villon … ?)

… et mes notions d’application d’une matrice sur une autre sont bien loin …

Remplaçant mes notions mathématiques par un bon sens de plus de 60 ans et ignorant le concept même de "  fuzzy automata " cher à Kelly ( p 4-7 ) je m’aperçois qu’il va falloir confronter les 9 possibilités des sonars à chacune des 9 possibilités moteurs …

Soit 81 calculs élémentaires sans parler des mémoires de travail à utiliser pour ranger les résultats positifs ou négatifs dans chacun des cas … !

Dur …dur d’être Cybot !

De plus si ce petit robot dispose de capteurs assez bien foutus comme vous le voyez, il dispose d’élément de calcul extrêmement faibles ( + - / \ > < = )

Il ne peut compter que de 0 à 255 ( tiens … tiens !) : d’où retenues à mettre dans une autre case …

Alors les calculs tels que les propose Kelly …

Le logiciel permet des étiquettes heureusement mais combien ,… ?

Par contre , grâce à mon Génie mécanique !, tous mes robots disposent maintenant d’un contacteur de choc ( punition si le robot touche l’obstacle ! )

Résultat pratique :

Comment verriez-vous l’affaire pour que Cybot puisse apprendre à se déplacer sans toucher les obstacles ?

Bref si vous avez des solucs elles seront les bienvenues ! !

Pascal