• Aucun résultat trouvé

Situations de non coopération des agents d’AGATS

Une Situation de Non Coopération (SNC) est une situation dans laquelle un agent, de par son comportement, ou simplement l’état dans lequel il se trouve, ne peut atteindre son but, ou empêche d’autres agents d’atteindre leurs buts. Nous décrivons dans cette section les SNC prévues dans lesquelles peuvent se trouver les différents agents d’AGATS, leur détection, et leur résolution.

7.10.1 SNC de l’Agent Situation

Cette section va décrire les 2 SNC de l’Agent Situation.

7.10.1.1 SNC 1 : Conflit d’Agent Situation

Deux Agents Situations se gênent dans la génération de leurs situations respectives.

Détection La situation est détectée par deux Agents EM appartenant à deux situations dif- férentes qui entrent en conflit lors de la phase de simulation.

7.10. Situations de non coopération des agents d’AGATS

Algorithme 7.19 :Comportement du Module Décision

1: Soit L, la liste contenant l’ensemble des couples (Aci,k, Criti,k)

2: Soit V, la liste contenant les couples (Agent EMj,Critj) et le couple (Agent EMi,Criti)

3: Trier V en fonction de Critj, du plus critique au moins critique

4: Ltemp ←L

5: jactuel ←1 //Cet indice est utilisé dans la suite pour parcourir les Agents EMjvoisins

du plus critique au moins critique

6: tant que Ltemp.taille()>1 et jactuel<V.taille() faire

7: siV[jactuel]6=Agent EMialors

8: Trouver l’action Aci,kjactuel telle que Criti,jactuel,kjactuel soit minimale pour tout couple

(Aci,k, Criti,k) dans Ltemp // On cherche l’action qui minimise la criticité avec

l’agent EMjactuel, qui est le jactuelème agent le plus critique. Pour rappel, Criti, j, k est

contenue dans Criti,k

9: Enlever toutes les actions de Ltemp dont la criticité Criti,j,kdans Critj,kest telle que

Criti,jactuel,k >Criti,jactuel,k

jactuel +e// On enlève toute les actions dont la criticité est

trop élevée par rapport à cette action de criticité minimale 10: sinon

11: Trouver l’action Aci,kjactuel telle que Criti,kjactuel soit minimale pour tout couple (Aci,k,

Criti,k) dans Ltemp// On cherche l’action qui minimise la criticité de l’Agent EMi.

12: Enlever toutes les actions de Ltemp dont la criticité Criti,kest telle que

Criti,k >Criti,kjactuel +e// On enlève toute les actions dont la criticité est trop

élevée par rapport à cette action de criticité minimale 13: fin si

14: jactuel ←jactuel+1

15: fin tant que

Résolution Les deux Agents EM transmettent cette information à leur Agents Trajectoires respectifs, qui eux-même transmettent cette information à leurs Agents Situations respectifs. L’Agent Situation le moins critique demande alors à son Agent Trajectoire de modifier sa tra- jectoire, qui demande alors à ses Agents Parties de modifier leurs parties de trajectoire.

7.10.1.2 SNC 2 : Incompétence d’un Agent Situation, non respect du réalisme

L’Agent Situation ne peut pas améliorer la satisfaction de ses contraintes sans dégrader le réalisme, ou inversement. La situation requise par le scénariste n’est alors pas compatible avec le réalisme demandé.

Détection La SNC est détectée par l’ Agent Situation, par observation de sa criticité. Si celle-ci ne baisse pas, ou suit un cycle, l’Agent Situation est alors dans cette SNC.

Résolution L’Agent Situation ne peut pas construire la situation telle que voulue par le scé- nariste, il doit donc signaler son incompétence et demander au scénariste de modifier une ou plusieurs caractéristiques de la situation, en proposant en premier celles ayant la criticité

la plus élevée.

7.10.2 SNC de l’Agent Trajectoire

L’Agent Trajectoire traite la SNC suivante.

7.10.2.1 SNC 3 : Conflit d’Agents Trajectoires, génération de collision non désirée

Les trajectoires de deux Agents Trajectoires génèrent une ou plusieurs collisions entre les Agents EM qui parcourent leur trajectoire.

Détection La détection de cette SNC se fait lors de la phase de simulation, les Agents EM qui suivent ces trajectoires ont dû s’éviter l’un l’autre, et par conséquent ils ont envoyé cette information à leur Agent Trajectoire respectif.

Résolution La résolution dépend du fait que les Agents Trajectoires appartiennent à la même situation ou non.

— Si les deux Agents Trajectoires appartiennent à la même situation, l’Agent Trajectoire le moins critique demande à ses Agents Parties de se modifier, en commençant par l’Agent Partie qui était suivi par l’Agent EM lors de l’interaction.

— Sinon, l’information est remontée aux Agents Situations respectifs, et ces derniers né- gocient pour savoir quel Agent Trajectoire doit se modifier. L’Agent Situation le moins critique demande alors à son Agent Trajectoire de modifier sa trajectoire, qui demande alors à ses Agents Parties de modifier leurs parties de trajectoire.

Cette SNC est résolue par les Agents Trajectoires qui demandent la modification de la trajectoire à leurs Agents Parties.

7.10.3 SNC de l’Agent EM

L’Agent EM traite les 6 SNC suivantes.

7.10.3.1 SNC 4 : Incompréhension Agent EM

Détection. L’Agent EM reçoit des observations qui ne concernent aucun de ses Module Voi- sin, son Module Perception se retrouve donc dans l’incapacité de le transmettre au bon Module Voisin.

Résolution. L’Agent EM crée le Module Voisin approprié et transmet via son Module Percep- tion le message qu’il n’arrivait pas à transmettre.

7.10. Situations de non coopération des agents d’AGATS

7.10.3.2 SNC 5 : Ambiguïté d’un Agent EM, message incomplet

Détection. Quand un Agent EMireçoit une information incomplète venant d’un Agent EMj

voisin, en particulier pour des informations comme la criticité de l’agent, ou son vecteur vi- tesse, il est dans une situation d’ambiguïté. Cette information importante peut potentielle- ment prendre n’importe quelle valeur. En raison de l’absence de cette information, le Module Voisin associé à l’Agent EMj est incapable d’effectuer les tâches qu’il doit effectuer, comme

inférer les SNC de l’Agent EMj qu’il observe, ou sa tâche principale qui est de transmettre

une information complète au Module Action.

Résolution. L’Agent EMi tente de résoudre cette SNC en utilisant la mémoire du Module

Voisin. Le module estime les informations manquantes en utilisant les informations qui sont à sa disposition, c’est-à-dire les informations qu’il perçoit à l’instant, ou celles qu’il a mé- morisées. L’information estimée par le Module Voisin est transmise aux Modules Actions pour qu’ils réussissent à estimer les informations ou non. L’échec est dû à un manque d’informa- tion, notamment lorsque l’Agent EMj vient d’entrer dans la zone de perception de l’Agent

EMi, et que ce dernier n’a donc pas de mémoire le concernant.

7.10.3.3 SNC 6 : Incompréhension d’un Agent EM

Détection. Cette SNC est détectée par le Module Action qui reçoit une information venant d’un Module Voisin et que celle-ci n’est pas complète, en particulier pour des informations comme la criticité d’Agent EMj, ou son vecteur vitesse. Cette situation peut arriver quand le

Module Voisin n’arrive pas à résoudre la SNC5 (présentée dans 7.10.3.2).

Résolution. La résolution dépend de la nature de l’information manquante :

— Si l’information manquante est le vecteur vitesse de l’Agent EMj, le Module Action consi-

dère que la vitesse est nulle.

— Si l’information manquante est la criticité de l’Agent EMj, le Module Action considère

que la criticité de l’Agent EMj est maximale.

7.10.3.4 SNC 7 : Inutilité de l’action d’un Agent EM

Détection. Cette SNC apparaît lorsque l’action d’un Module Action est appliquée plusieurs fois par le Module Décision sans que la criticité de l’Agent EMine s’améliore.

Résolution. L’Agent EMi décide de désactiver ce module jusqu’à ce qu’il observe que sa

criticité baisse suffisamment.

7.10.3.5 SNC 8 : Incompétence d’un Agent EM, suivi de trajectoire

Détection. Cette situation apparaît en raison de la priorité que l’évitement de collision a sur le suivi de la trajectoire. Voulant éviter les conflits, mais aussi en même temps se rappro-

cher de sa trajectoire un Agent EMipeut se retrouver en situation d’interblocage, avec un ou

plusieurs autres Agent EMj. Cette situation est détectée de deux manières :

— Si la situation concerne l’Agent EMilui-même, elle est détectée par le Module Action lors

de la détection de la SNC 7 (section 7.10.3.4).

— Si la situation concerne un autre Agent EMj, elle est détectée par le Module Voisin qui

observe cet Agent EMj

Résolution.

— Si la situation concerne l’Agent EMi, il choisit une action différente de l’action précé-

demment effectuée, et effectue cette action tant que la criticité par rapport à la collision n’est pas nulle.

— Si la situation concerne un autre Agent EMj qui est plus critique que lui, le Module Dé-

cision demande au Module Voisin qui observe l’Agent EMj d’estimer sa trajectoire. Tant

qu’aider l’Agent EMjne le pénalise pas, le Module Décision de l’Agent EMichoisit l’action

qui aide le plus l’Agent EMjà rejoindre sa trajectoire

7.10.3.6 SNC 9 : Improductivité d’un Agent EM, pas d’action

Détection. Le Module Décision ne peut pas choisir d’action car il n’a reçu aucune proposi- tion d’action de la part de ses Modules Actions. Cette SNC peut arriver notamment parce que l’Agent EM est en SNC 5 (7.10.3.4) pour toutes ses actions.

Résolution. Le Module Décision indique la SNC, et l’Agent EM réactive les différents Mo- dules Actions qui étaient désactivés provisoirement.

7.10.4 SNC de l’Agent Partie

L’Agent Partie traite 2 SNC.

7.10.4.1 SNC 10 : Conflit d’Agents Parties

Deux Agents Parties veulent modifier leur partie de trajectoire en même temps, de ma- nière antinomique. Par exemple, l’un veut décaler vers l’est sa partie de trajectoire, et l’autre vers l’ouest, alors qu’ils étaient parfaitement liés entre eux.

Détection. En effectuant leurs actions respectives, les deux agents remarquent la SNC.

Résolution. L’Agent Partie qui était le plus critique reste dans son état, et l’autre agent retourne dans l’état antérieur.

7.10.4.2 SNC 11 : Inutilité d’un Agent Partie