• Aucun résultat trouvé

3.2 Spécification et conception d’Amadeus

3.2.3 Conception : comportement nominal des agents

3.2.3.4 Agent contexte

Objectif Lorsqu’un utilisateur réalise une action dans une certaine situation, nous pou- vons considérer que cette action est pertinente pour cette situation spécifique. Par consé- quent, une des hypothèses de notre étude est que, si cette même situation se présente à nou- veau, alors la même action sera à nouveau pertinente. Cette connaissance est représentée au travers des agents contexte.

Un agent contexte associe une situation spécifique, dite “situation de validité”, à une action à réaliser sur une effecteur donné. Son objectif est alors de déterminer si la situation courante telle qu’il la perçoit est similaire à sa situation de validité, auquel cas il considère comme pertinent que son action soit réalisée. Ne pouvant pas réaliser lui-même cette action, il la propose à l’agent contrôleur en charge du contrôle de l’effecteur sur lequel s’effectue son action.

Représentation du monde Une situation de référence représente la situation dans laquelle un utilisateur a réalisé une action. Chaque agent contexte prend en charge une connaissance portant sur la réalisation de cette action dans cette situation de référence. La proposition d’un agent contexte envoyée à un agent contrôleur peut alors être traduite comme ceci : “la situation courante est similaire à la situation de référence durant laquelle je sais qu’un uti- lisateur a réalisé telle action, aussi je pense que si tu réalises la même action maintenant, cela va le satisfaire”. L’action elle-même est une valeur numérique représentant l’état à af- fecter à l’effecteur. Une situation pourrait être représentée comme l’ensemble des états des variables qui la caractérisent, mais se pose alors le problème d’évaluer la similarité entre deux situations. En effet, l’égalité parfaite des valeurs de chaque variable serait inapplicable avec des capteurs réels. Considérons un thermomètre retournant une température avec une précision de trois décimales après la virgule. Il est évident que si les valeurs caractérisant la situation courante sont identiques aux valeurs caractérisant la situation de référence à l’ex- ception de la température, si la différence entre ces deux valeurs de température se joue à

le troisième décimale après la virgule, les deux situations peuvent être considérées comme étant similaires.

Au lieu d’une représentation basée sur des valeurs exactes, nous proposons d’associer à chaque variable perçue une plage de valeurs représentant l’ensemble des valeurs pour les- quelles l’agent contexte considère que la valeur courante est similaire à celle de la situation de référence. Ces plages de valeurs sont appelées plages de validité, chacune d’elles se considé- rant alors comme valide si la valeur courante de la donnée associée se situe entre les bornes de sa plage de valeurs. Chaque plage de validité est initialisée à[vd−τ, vd+τ], vdreprésen- tant la valeur de la donnée d dans la situation de référence, et τ représentant 2% de l’inter- valle[dMI N, dMAX]que peut prendre la donnée d (autrement dit, τ=0.02· (dMI N−dMAX)). Cette valeur de τ a été obtenue au travers de divers tests empiriques.

Chaque plage de validité est modélisée sous la forme d’un AVRT, un outil que nous avons développé et présenté au chapitre 4.1. Il s’agit d’un outil logiciel permettant de repré- senter et manipuler une plage de valeurs dont les bornes évoluent en fonction des feedbacks perçues depuis son environnement. L’intégration (ou l’exclusion) d’une valeur au sein de la plage de valeurs se fait progressivement en fonction de la distance entre cette valeur et la borne la plus proche ; ainsi, l’intégration d’une valeur proche d’une des bornes nécessitera moins de feedbacks que l’intégration d’une valeur très éloignée des bornes de l’AVRT.

Voici donc la représentation du monde d’un agent contexte :

– une représentation de sa situation de validité sous la forme d’une liste de plages de validité (une par donnée perçue). L’agent contexte est lui-même valide si la totalité de ses plages de validité sont valides, et invalide dans le cas contraire ;

– une connaissance sur l’action à réaliser sur l’effecteur, autrement dit l’état à lui attri- buer, lorsqu’il est valide. Cet état peut être différent de l’état courant de l’effecteur (changement d’état), ou être identique (maintient de l’état courant) ;

– un gain estimé, qui est une valeur numérique représentant une croyance sur l’inté- rêt de réaliser son action plutôt que celle d’un autre agent. Cet estimateur est implé- menté grâce aux mécanismes de l’agent self-ordered, dont hérite l’agent contexte (voir section 4.2). Ces mécanismes fonctionnent grâce à une liste de croyances sur des agents contexte qu’un agent contexte considère supérieurs (agents supérieurs), et une autre liste sur les agents contexte qu’il considère inférieurs (agents inférieurs). Ces méca- nismes permettent alors de générer une valeur numérique représentative de la hiérar-

chie entre les agents contexte : si un agent contexte c1 est supérieur à un autre agent

contexte c2, alors le gain estimé de c1 est supérieur à celui de c2. Les mécanismes issus

de l’agent self-ordered assurent aussi la consistance entre les gains estimés des diffé- rents agents contexte reliés par une relation d’ordre (directement ou à par transitivité avec d’autres agents contexte) ;

– un niveau de confiance qui représente la confiance qu’il accorde à sa proposition d’ac- tion lorsqu’il l’envoie à l’agent contrôleur ;

– une connaissance sur le fait d’être actuellement sélectionné par l’agent contrôleur ou pas.

Aptitude Un agent contexte est capable d’envoyer des messages aux agents de son voisi- nage, en l’occurrence son agent contrôleur et les agents donnée locaux. Il est aussi capable d’ajouter des agents contexte dans sa liste d’agents supérieurs ou inférieurs, ce qui modi- fie automatiquement la valeur de son gain estimé. L’utilisation d’AVRT pour modéliser ses plages de validité lui donne l’aptitude de détecter s’il est valide dans la situation courante, ainsi que l’aptitude de modifier les situations où il est valide, en intégrant de nouvelles situa- tions, ou en excluant des situations précédemment valides. Enfin, il est capable d’augmenter ou diminuer la valeur de sa confiance.

Compétence Un agent contexte possède la compétence de déterminer la pertinence d’en- voyer sa proposition d’action à son agent contrôleur, en fonction de son état de validité. Il est aussi capable d’estimer l’utilité de certaines variables perçues dans certaines situations (voir section 3.2.4.8).

Comportement nominal Le comportement nominal de l’agent contexte pour un cycle de fonctionnement, réitéré en continu pendant toute la durée de vie de l’agent, est illustré par l’algorithme 3.4. Celui-ci commence son cycle en mettant à jour sa situation de validité en fonction des mises à jours reçues depuis les agents donnée. Si l’ensemble des données sont situées dans l’intervalle de leur plage de validité respective, alors l’agent contexte devient valide à son tour. Dans ce cas, il envoie sa proposition d’action à l’agent contrôleur. Si sa proposition d’action est acceptée, l’agent contexte est sélectionné. Cela signifie que l’action qu’il a proposée va être appliquée à l’effecteur associé. Dans ce cas, il attendra jusqu’à ne plus être sélectionné, soit par déselection de l’agent contrôleur, soit par son invalidité (au moins une donnée est hors de sa plage de validité, ce qui amène l’agent contexte à annuler sa proposition d’action).