next up previous contents
suivant: 3 Protocole d'apprentissage monter: 2 Exemple d'application: navigation précédent: 1 Présentation du problème   Table des matières

2 Stratégie de modularisation et de hiérarchisation de l'apprentissage

Le découpage de la tâche globale (atteinte d'une objectif en évitant les obstacles) est tout d'abord découpée en deux grandes catégories de processus:
  1. les processus pouvant être programmés ``à la main'', sans avoir à utiliser une méthode d'apprentissage
  2. les processus devant être appris: ceux pour lesquels une étude préalable des différents cas possibles se révélerait impossible ou hasardeuse
Dans notre cas, nous supposons que la position de l'objectif, la position du robot simulé et son orientation par rapport à un repère fixe sont connus parfaitement à tout moment: le processus consistant diriger le robot vers l'objectif peut donc être programmé très facilement. Il reste le processus d'évitement par suivi de mur: il sera appris.
Ce processus peut être lui-même découpé. Nous choisissons d'établir des sous-tâches spécialisées chacune dans le respect d'une contrainte perceptive particulière: ainsi, les tâches à apprendre sont hiérarchiquement connectées, suivant la figure 4.4. Chaque tâche est considérée comme un module indépendant, activé par une tâche hiérarchiquement supérieure. Lorsqu'un module est activé, il choisit une des actions disponibles suivant la valeur courante des signaux perceptifs, puis reçoit en réponse un signal de renforcement qui lui est spécifique. Dans un même apprentissage global, l'ensemble des modules peut évoluer, suivant l'algorithme 4.1, donné en annexes (cet algorithme est appliqué à chaque découverte de transition, pour un module activé).
L'ensemble des modules participe donc au comportement global d'évitement d'obstacle qui, à chaque pas de temps, revient à exécuter l'une des cinq actions élémentaires. Ce comportement global est mis au service d'une stratégie d'atteinte d'objectif, qui est mise sous la forme d'un algorithme de haut niveau (algorithme 4.2.2), composé d'une base de règles, dont les prémisses utilisent les valeurs des marquages (obtenues grâce à l'apprentissage) des différents modules. L'objectif de ces règles est de constituer un branchement permettant de décider, à tout moment, si on peut se diriger vers l'objectif en toute sécurité (action prioritaire), ou s'il faut adopter un comportement de suivi de mur.


\begin{algo}[b]
\medskip {}
\textbf{[atteindre l'objectif]}
Si l'objectif est de...
...nt \lq\lq suivre un mur sur la gauche (resp. sur la droite)'' est utilisé.
\end{algo}

Figure: Hiérarchisation des agents utilisés par Khepera dans son comportement d'évitement d'obstacles.
\includegraphics{fig/hierarchie.eps}
Les flèches signifient ``peut utiliser''. Cela signifie, par exemple, que la tâche A1 (suivi de mur sur la droite) est une séquence de trois tâches plus élémentaires: B1, B2 et A2. B1 et B2 sont non décomposables. Par contre, A2 (évitement d'obstacle sur la gauche) est une séquence des trois actions élémentaires B1, B3 et B5. Les contraintes associées à la bonne exécution de chacune des tâches non élémentaires à apprendre ( A1, A'1, B1 et B'1) sont notées dans les rectangles.


next up previous contents
suivant: 3 Protocole d'apprentissage monter: 2 Exemple d'application: navigation précédent: 1 Présentation du problème   Table des matières
Frédéric Davesne 2001-07-13