• Aucun résultat trouvé

Chapitre II : Sélection distribuée d'actions

2. Coordination de comportements par arbitrage

Des différentes politiques de coordination d'actions, l'arbitrage est la plus simple. Il s'agit de sélectionner un comportement et de lui déléguer le contrôle de l'agent. C'est donc finalement le comportement sélectionné à un pas de calcul qui va, lui seul, choisir les actions réalisées pendant ce pas.

Le problème est donc ramené à la question suivante : « comment sélectionner un comportement et sur quels critères ? » Plusieurs réponses ont été proposées, qu'il est possible de classer en trois stratégies d’arbitrage :

par priorités,

par machine à états finis,

le principe du « le gagnant emporte la mise » (winner-take-all).

Les paragraphes suivants présentent ces trois possibilités ainsi que des exemples d'architectures associées.

2.1 Politique d'arbitrage par priorités

Parmi les trois stratégies d'arbitrage, la sélection par priorités est la plus ancienne. Son fonctionnement est le plus simple. Un comportement est actif s'il propose une réponse. Le principe des priorités consiste à sélectionner le comportement actif le plus prioritaire. L'action réalisée par l'agent est donc celle proposée par le comportement actif le plus prioritaire.

C'est sur ce principe que repose l’architecture emblématique de l'approche comportementale : la subsomption [Brooks, 1986] illustrée par la figure II.5. L'architecture globale est divisée en couches. Les plus prioritaires sont les plus hautes et peuvent inhiber ou remplacer les réponses des couches de priorités inférieures (d'où le nom de subsomption). Dans [Brooks, 1986], le niveau zéro est responsable de l'évitement d'obstacles. Le niveau un gère le déplacement aléatoire dans l'environnement tandis que le niveau deux supervise l'exploration de l'environnement. Le niveau trois construit une carte de l'environnement.

Figure II.5 : architecture à subsomption [Brooks, 1986].

Chaque couche est composée de plusieurs comportements. Chaque comportement est décrit par une simple machine d'état qui possède des variables locales, des entrées, des sorties et une entrée de remise à zéro (cf figure II.6). Comme le montre cette figure, les entrées peuvent être subsumées et les sorties inhibées ; les nombres inscrits sur les nœuds correspondent à des temps, ici la sortie est inhibée pendant 3 unités de temps après l'arrivée d'un message sur l'entrée du noeud.

Couche de compétence niveau 2

Couche de compétence niveau 1

Couche de compétence niveau 0

Chapitre II : Sélection distribuée d'actions 41

Figure II.6 : comportements et noeuds de l'architecture [Brooks, 1986].

En pratique, le réseau n'est pas aussi simple que celui présenté en figure II.5. En particulier, les couches sont fortement liées entre elles : il y a de nombreux échanges entre les comportements de couches connexes. Brooks insiste sur la possibilité de concevoir l'agent de manière incrémentale, c'est à dire en développant un premier niveau puis en ajoutant le second sur le premier sans le modifier et en continuant de cette manière. Cette propriété intéressante est revendiquée par beaucoup d'architectures orientées comportement mais l'expérience montre que l'objectif est rarement atteint. Pour la subsomption [Rosenblatt et al., 1989] souligne qu'un comportement peut subsumer l'entrée d'un autre comportement dont rien ne garantit qu'il ait été prévu ou même testé pour cette nouvelle entrée. Cela montre que la construction incrémentale n'est possible que pour certains cas particuliers.

Rosenblatt déplore également la perte d'informations qui s'opère dans cette architecture car on ne garde aucune trace des propositions subsumées ou inhibées. D'une certaine manière, ce défaut est celui de la stratégie d'arbitrage en général, mais cet effet est aussi accentué par l'utilisation d'un réseau de nœuds complexe.

Le principe de priorité est simple et nous a permis de présenter la première architecture comportementale. La subsomption est historiquement importante. Elle est à la base de l'architecture ALLIANCE [Parker, 1994] ainsi que des robots de [Mataric, 1994]. Cependant, la mise en oeuvre de cette architecture n'est pas aisée car le principe de construction incrémentale n'est pas effectif. De plus il n'est pas toujours possible de mettre des priorités sur les comportements. L'approche à base de machines à états finis qui fait l'objet du paragraphe suivant, présente une possibilité intéressante dans le cas où le concepteur de l'agent souhaite modéliser l'enchaînement temporel des comportements.

2.2 Politique d'arbitrage par machines à états finis

A l'instar de l'arbitrage par priorité, les machines à états finis permettent de sélectionner un des comportements du modèle décisionnel [Blach et al., 1995]. La sélection n'est plus uniquement basée sur des priorités mais fait appel à des machines à états finis qui permettent de modéliser les relations de successions entre les comportements. Lorsqu'un état est actif le comportement associé est sélectionné. Lorsque la transition vers un autre état est vraie l'état actif change et un autre comportement est ainsi sélectionné.

[Bryson, 2002] prône une technique assez proche (les plans réactifs que nous ne détaillerons pas). Elle justifie ce choix par le fait que le concepteur d’un agent connaît souvent l’enchaînement des comportements qu'il souhaite voir réaliser par son agent. L'architecture des schémas [Arkin, 1989] utilise conjointement cette méthode et une stratégie de fusion. (Nous reviendrons sur les schémas dans le paragraphe 3.1).

La simplicité des machines à états finis offre la possibilité de décrire le comportement général de l'agent. Cependant, les difficultés apparaissent si plusieurs états sont actifs en

S 10 I 3 Entrées Sorties Inhibiteur Suppresseur Initialisation

Chapitre II : Sélection distribuée d'actions 42

même temps car plusieurs comportements sont sélectionnés. Pour résoudre ce problème une nouvelle politique de coordination doit alors être mise en oeuvre. Par exemple, dans HPTS (Hierarchical Parallel Transition Systems) [Moreau, 1998]9, le concepteur doit écrire des « fonctions d'intégration » qui permettent de sélectionner une action lorsque plusieurs comportements commandent des actions contradictoires.

Les méthodes par priorités et par machines à états finis sont basées sur des principes très simples. La coordination y est centralisée et le concepteur intervient pour choisir les priorités ou la séquence d'activation des comportements. La méthode suivante se distingue par le caractère distribué de la coordination de comportements.

2.3 Arbitrage par la politique du « gagnant emporte la mise »

Les priorités instaurent une hiérarchie entre les comportements alors que les machines à états finis décrivent leurs successions. La méthode du « gagnant emporte la mise » (Winner take all) est beaucoup moins restrictive. En effet, comme son nom l'indique, il s'agit d'une méthode d'arbitrage mais la stratégie n'est pas explicitement précisée.

La méthode du « gagnant emporte la mise » est inspirée de « la société de l'esprit » [Minsky, 1988] qui imagine l'esprit comme une société bureaucratique de comportements10 collaborant ou luttant pour le contrôle du corps. Les « réseaux d’activation » (Spreading activation network) [Maes, 1989] constituent une implémentation célèbre de la méthode du « gagnant emporte la mise ». Chaque comportement i constitue un noeud du réseau d'activation et est défini par un tuple (ci, ai, di, αi) avec :

ci : les conditions selon lesquelles le comportement i peut être activé.

ai : la liste des symboles ajoutés dans le modèle du monde si le comportement i est exécuté avec succès.

di : la liste des symboles retirés dans le modèle du monde si le comportement i est exécuté avec succès.

αi : le niveau d'activation du comportement i.

Le comportement sélectionné est celui dont l’énergie d’activation α est la plus élevée. L’énergie d’activation est attribuée en fonction de facteurs externes et internes.

Les facteurs externes sont relatifs à l'état du monde et aux buts de l’agent. L'énergie d'un comportement est augmentée s'il est exécutable (si au moins une des conditions ci est vraie) ou s'il réalise l'un des buts de l'agent (au moins un des ajouts ai est un but). L'énergie d'un comportement est réduite s'il peut défaire un des buts déjà atteints (au moins une des suppressions di correspond à l'un des buts réalisés).

Les facteurs internes sont relatifs aux relations qu'entretiennent les comportements (cf. figure II.7). Les ci, ai et di permettent de les définir et elles se traduisent par des échanges d'énergie d'activation entre les comportements. Sur la figure, le comportement 2 est le successeur du comportement 1 car des ajouts de 1 sont des conditions de 2. Le comportement 2 transmet donc de l'énergie à 1 pour qu'il soit activé et ainsi rendre une des conditions de 2 vraie. La relation de prédécesseur est définie de manière symétrique. Deux comportements entrent en conflit, si, comme pour les comportements 2 et 3, la condition de l'un a une

9 HPTS n'est pas, à proprement parler, une architecture comportementale, mais utilise des automates pour

modéliser des acteurs autonomes. Les problématiques sont donc assez similaires. 10 Minsky emploie le terme agent

Chapitre II : Sélection distribuée d'actions 43

intersection avec les suppressions de l'autre. Le comportement 3 limite donc l'énergie d'activation du comportement 2.

Figure II.7 : Liens entre comportements dans les réseaux d'activation.

Les réseaux d'activation ont été repris, entre autres, par [Decugis et al., 1998] et [Dorer, 1999]. Les améliorations modifient l'architecture pour prendre en compte des buts et perceptions continus et également pour proposer des algorithmes d'apprentissage permettant d'optimiser les nombreux paramètres qui définissent les échanges d'énergie.

[Blumberg et al., 1995], repris dans [Isla et al., 2001] apporte une légère modification à la politique du « gagnant emporte la mise » : le comportement sélectionné dirige l'agent mais les autres comportements peuvent influencer la manière dont les actions vont être réalisées. Dans le cadre de l'animation comportementale, le comportement gagnant choisit l'action effectuée mais les autres peuvent affecter l'attitude du personnage ou l'intensité de l'action sélectionnée.

2.4 Conclusion sur la coordination par arbitrage

Les priorités, les machines à états finis ainsi que la méthode du « gagnant emporte la mise » sont les trois principales méthodes de la politique d'arbitrage. L'inconvénient de ces trois méthodes et de la stratégie d’arbitrage en général est que le choix est celui d'un seul comportement, les autres étant totalement ignorés. Par conséquent, cette stratégie enfreint le critère n°6 qui stipule que tout choix doit être un bon compromis.

Cependant cette stratégie est bien adaptée au cas d’une sélection, à un niveau d’abstraction élevé, entre des comportements indépendants et traitant de tâches différentes. Il faut alors souligner que le critère n°7 de réutilisation n’est donc également pas atteint.

La politique d'arbitrage est parfois qualifiée de sélection compétitive. Dans le cas du « gagnant emporte la mise », il existe néanmoins une collaboration entre les comportements. La fusion d'actions, décrite dans le point suivant est qualifiée de collaborative.

Comportement 1 Précondition (c) Liste des ajouts (a)

Liste des retraits (d) Niveau d'activation (α) Algorithme d'exécution Relat ion confl ictue lle Successe ur Comportement 2 Précondition (c) Liste des ajouts (a)

Liste des retraits (d) Niveau d'activation (α) Algorithme d'exécution Prédéces seur Comportement 3 Précondition (c) Liste des ajouts (a)

Liste des retraits (d) Niveau d'activation (α) Algorithme d'exécution

Chapitre II : Sélection distribuée d'actions 44