• Aucun résultat trouvé

Dans cette section nous allons aborder la gestion du temps et les mod`eles de repr´esentation de l’espace dans les syst`emes multi-agents.

3.2.1 La gestion du temps dans les SMA

La gestion du temps dans la simulation constitue un enjeu majeur pour le mod´elisateur, la coh´erence des r´esultats du mod`ele repose en partie sur la gestion de temps de simula-tion. Dans la simulation 3 notions de temps, en g´en´eral, sont diff´erenci´ees [Fianyo et al., 1998] :

— le temps r´eel qui est le temps dans lequel le ph´enom`ene r´eel est observ´e ;

— le temps virtuel ou simul´e qui correspond `a la repr´esentation du temps r´eel par le simulateur ;

— le temps d’ex´ecution qui correspond au temps r´eel que le simulateur a utilis´e pour construire les r´esultats de la simulation ;

Chapitre 3. Les syst`emes multi-agents 53

Une des conditions principales `a respecter dans les simulations est la r`egle de causalit´e qui stipule que les ´ev´enements futurs du monde virtuel ne doivent pas influencer ceux du pass´e. En d’autres termes, lorsqu’un ´ev´enement E1 cause un ´ev´enement E2, ce dernier doit ˆetre trait´e apr`es le premier au niveau du temps d’ex´ecution. Lorsque l’on veut impl´ementer un mod`ele et le simuler, nous devons faire un choix de gestion du temps virtuel et du temps d’ex´ecution ; le premier ´etant le temps que l’on veut repr´esenter et le dernier d´ependant de la plateforme mat´erielle et logicielle de simulation choisie. G´en´eralement deux fa¸cons de repr´esenter le temps dans la simulation multi-agents sont utilis´ees : approche `a pas de temps constant et approche ´ev´enementielle.

3.2.1.1 Approche `a pas de temps constant

Dans la simulation `a pas de temps constant, le temps est avanc´e en incr´ementant sa valeur d’une dur´ee constante ∆t. La repr´esentation du temps est ainsi discr´etis´ee selon des intervalles de temps fixes. Tous les agents sont activ´es `a chaque pas de temps (dans un ordre fixe ou al´eatoire) afin d’ex´ecuter le code correspondant `a leurs comportements (perception /(d´elib´eration)/ action). L’ex´ecution de l’action choisie par chaque agent influe imm´ediatement les variables de l’environnement. Par cons´equent, l’environnement sera per¸cu ensuite modifi´e (de fa¸con instantan´ee) dans le mˆeme pas de temps par l’en-semble des agents.

Cette approche poss`ede l’avantage de la simplicit´e d’impl´ementation. Cependant, elle manifeste plusieurs inconv´enients qui ont un impact majeur sur la coh´erence des r´esultats de la simulation [Michel, 2004]. En effet, du fait que le d´eclenchement du comportement d’un agent peut engendrer un changement imm´ediat dans l’environnement, `a un pas de temps la situation d’un agent inclue le r´esultat des actions des agents qui ont ´et´e activ´e avant lui. En d’autres termes, selon l’ordre de l’activation d’un agent, sa perception et les connaissances qu’il obtient pour d´eterminer son action peuvent diff´erer. La figure 3.4 illustre ce probl`eme par le mod`ele du jeu de la vie [Gardner, 1970].

Les r`egles qui sont appliqu´ees sont les suivantes :

— une cellule morte poss´edant exactement trois voisines vivantes devient vivante ; — une cellule vivante poss´edant deux ou trois voisines vivantes le reste, sinon elle

meurt.

Cette figure montre que l’ordre d’activation des agents peut produire diff´erents r´esultats de la simulation en partant d’un mˆeme ´etat du monde. Ceci ne peut ˆetre acceptable car d’importants biais dans la simulation peuvent ˆetre induits. Id´ealement, tous les agents doivent avoir acc`es au mˆeme ´etat de l’environnement `a un instant t, ce qui empˆechera qu’un agent soit influenc´e par le r´esultat de l’ex´ecution d’autres actions [Michel, 2004].

Chapitre 3. Les syst`emes multi-agents 54 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

état initial du monde

Sénario 1 : ordre d'activation des agents

Sénario 2 : ordre d'activation des agents

Résultat selon le sénario 1

Résultat selon le sénario 2

Figure 3.4 : L’´etat (morte ou vivante) d’une cellule au pas de temps t + ∆t d´epend de son

indice dans la liste d’agents. Les cellules vivantes sont repr´esent´ees par un point rouge tandis que les cellules mortes sont repr´esent´ees par un point gris. L’ordre d’activation des agents est

repr´esent´e par les num´eros. Chaque agent poss`ede 8 voisins (voisinage de Moore).

Un autre probl`eme li´e `a cette approche a ´et´e relev´e dans [Payet et al., 2006] lorsque le mod`ele comporte des agents h´et´erog`enes qui n’ont pas besoin de s’activer `a la mˆeme fr´equence. L’utilisation de l’approche `a pas de temps constant peut conduire au ralentis-sement des actions de certains agents parce qu’ils sont activ´es peu souvent (l´ethargie), et inversement l’acc´el´eration des actions de certains agents parce qu’ils sont activ´es trop souvent (hyperactivit´e).

3.2.1.2 Simulation par ´ev´enement

Nous avons vu dans la section pr´ec´edente, que la simulation `a pas de temps constant engendre des probl`emes de l´ethargie et d’hyperactivit´e. La simulation par ´ev´enement peut pallier ce probl`eme. En effet, les agents ne sont pas activ´es tous en mˆeme temps mais plutˆot leur activation est bas´ee sur des ´ev´enements [Payet et al., 2006] . Un ´ev`enement repr´esente la condition de l’activation d’un agent, cette condition est traduite en une date du temps simul´e. La d´etermination des dates des ´ev´enements peut ˆetre faite par ordonnancement d’´ev´enements ou par analyse d’activit´es [Balci, 1988].

— Ordonnancement d’´ev´enements : dans ce cas, les ´ev´enements futurs du syst`eme doivent ˆetre d´efinis pr´ealablement, la simulation consiste `a parcourir la liste de tous les ´ev´enements et activer le code des agents correspondant ;

— Analyse d’activit´es : dans certains cas il est difficile voire impossible de d´efinir et de planifier les ´ev´enements futurs, auquel cas utiliser une impl´ementation par ordonnancement d’´ev´enements s’av`ere inappropri´e. La solution dans ce cas est de contraindre le d´eclenchement des ´ev´enements par l’´evolution mˆeme du syst`eme

Chapitre 3. Les syst`emes multi-agents 55

simul´e. L’´ev´enement est vu alors comme une condition qui prend en compte l’´etat courant du syst`eme. De cette fa¸con, il n’est pas n´ecessaire d’anticiper les ´ev`enements futurs, cependant il est important d’avoir une connaissance pr´ecise du contexte (ensemble des conditions qui correspondent `a l’´ev´enement) dans lequel les actions doivent ˆetre d´eclench´ees.

Mˆeme si avec cette approche le probl`eme de l’ordre d’activation des agents ainsi que les probl`emes de l´ethargie et hyperactivit´e sont ´evit´es, du fait que chaque agent se d´eclenche `

a son rythme propre et qu’il n’existe pas un ordonnancement commun `a tout les agents, le probl`eme de la simultan´eit´e reste pr´esent. On notera que cette approche est moins utilis´ee que la pr´ec´edente du fait de sa complexit´e de mise en œuvre et de validation par les mod´elisateurs.

Dans [Ferber et M¨uller, 1996, Michel, 2004], les auteurs ont largement abord´e le probl`eme de l’activation s´equentielle des agents et le probl`eme de la simultan´eit´e. Il s’est av´er´e que ces probl`emes ne sont finalement pas li´es qu’`a l’approche de gestion `a pas de temps constant mais de fa¸con g´en´erale `a la conception de l’action qui consiste, une fois d´eclench´ee, `a une modification directe de l’environnement. Inspir´e par les tra-vaux de Travers [Travers, 1996] les auteurs proposent le principe Influence/R´eaction

[Ferber et M¨uller, 1996, Michel, 2004]. Ce mod`ele sera pr´esent´e dans la section 3.3.2.

3.2.2 Repr´esentation de l’espace

3.2.2.1 Repr´esentation discr`ete de l’espace

Dans les SMA, les mod`eles d’agents consid´erant une repr´esentation discr`ete de l’espace, le repr´esente soit sous forme d’un graphe dans lequel les sommets repr´esentent les r´egions de l’espace (parcelles, patches,. . . ) o`u l’on veut observer ou mod´eliser des actions et les arcs repr´esentent les liens qui existent entre ces r´egions, soit comme une grille de cellules. Les cellules sont reli´ees entre elles par des liens de voisinage, les plus connus sont les voisinages de Von Neumann et de Moore. Dans le premier cas chaque cellule est en relation avec les cellules adjacentes qui se trouvent aux quatre points cardinaux : Nord, Sud, Est et Ouest, tandis que dans le deuxi`eme cas elle est en relation avec les huit cases adjacentes. D’autres liens de voisinage peuvent ˆetre consid´er´es, par exemple la distance entre deux cellules en termes de nombre de cellules les s´eparant. Cette repr´esentation de l’espace est la plus facile `a mettre en œuvre et poss`ede des avantages. Par exemple elle permet de localiser facilement les agents et les objets. Ces derniers sont g´en´eralement localis´es par le couple (num´ero de ligne, num´ero de colonne) de la cellule sur laquelle ils sont localis´es `a un instant t. Son inconv´enient majeur est qu’elle contraint la g´eom´etrie des interactions. Par exemple, la perception d’un agent est limit´ee `a un nombre de cases,

Chapitre 3. Les syst`emes multi-agents 56

la zone per¸cue aura donc implicitement la forme de l’assemblage des cases. Plusieurs plateformes de simulation de syst`emes multi-agents proposent ce type de repr´esentation de l’espace, nous citons Cormas [Bousquet et al., 1998], Netlogo [Wilensky, 1999], AnyLogic [AnyLogic, 2000].

3.2.2.2 Repr´esentation continue de l’espace

L’espace est consid´er´e comme un seul bloc o`u les entit´es du syst`eme poss`edent des coordonn´ees spatiales `a valeurs r´eelles (par exemple (x, y) en 2D). Dans ce type de repr´esentation, pour les entit´es de l’espace qui ont un volume il est important de leur attribuer non seulement leurs coordonn´ees spatiales (x,y,z) mais aussi un espace d’oc-cupation qui correspond `a leur taille. Ce type de repr´esentation est ´evidement le plus r´ealiste et permet d’avoir plus de pr´ecision quand au r´esultat du mod`ele, cependant il induit beaucoup de complexit´e computationnelle. Par exemple, chaque agent pour connaitre ses voisins doit mesurer la distance le s´eparant de chaque autre agent. Si l’agent est amen´e `a se d´eplacer dans l’espace, cela implique qu’il doit recalculer ses voi-sins `a chaque fois qu’il change de position. Plusieurs plateformes de simulation SMA proposent n´eanmoins ce type de repr´esentation telles que AnyLogic [AnyLogic, 2000], Repast [Collier, 2001], Gama [Grignard et al., 2013], Netlogo [Wilensky, 1999].