• Aucun résultat trouvé

CHAPITRE 5 GESTION DU TEMPS DANS LES SIMULATIONS

5.3 L ES POLITIQUES DE GESTION DU TEMPS DES SMA

5.3.4 Alors… gestion événementielle ou par horloge ?

Comme nous venons de le voir à travers ces quelques exemples, la gestion du temps est un point important des SMA et les techniques d’activation retenues peuvent influencer beaucoup les résultats d'un modèle [Bommel, 1997b; Axtell, 2000 ; Lawson & Park, 2000].

5.3.4.1 Les modèles physiques continus nécessitent une gestion événementielle du temps

En faisant abstraction des critères d'efficacité des temps de calcul, nombreux sont ceux qui considèrent que l'approche événementielle doit être privilégiée [Balci 1988] [Lawson et Park, 2000]. Néanmoins, ils ne rejettent pas l'approche par horloge :

On the other hand, execution efficiency may not be the number one goal of a simulation study and the fixed-time increment TFM (Time Flow Mechanism) may still be chosen just for the sake of easy implementation of the simulation model. [Balci 1988]

L'approche à événements discrets est particulièrement utile pour les simulations à temps-réels et pour décrire des phénomènes continus. Il est par exemple très difficile de simuler des interactions de boules de billard avec une gestion par horloge. Dans [Ferber, 1995] par exemple, l'auteur soulève la question de la collision entre deux mobiles. "Si l'opérateur Avancer(a, dx, dy) représente le déplacement d'un corps a d'un quantième d'espace représenté par son vecteur <dx, dy>, comment décrire la rencontre entre deux mobiles et ses répercussions sur la direction et la vitesse des mobiles ?" [ibid.]. Mais pire que cela, la discrétisation du temps provoque généralement une absence de collision. Ainsi, en étudiant le problème de la granularité temporelle, [Michel et al., 2001] montrent que des mobiles peuvent se croiser sans se cogner !

Figure 5-26 : Le problème de la granularité des actions (d'après [Michel et al., 2001]). Les mobiles 1, 2 et 3 se déplacent à des vitesses de deux cases par pas de temps, et le mobile 4, à une vitesse d'une case. Les quatre mobiles se déplaçant vers une position convergente, n'entrent cependant pas en collision.

1

2

3 4

2

3

4

1

exécution T T + dt

1

2

3 4

1

1

2

2

3

3 44

2

3

4

1 22

3

3

4

4

1

1

exécution T T + dt

126

Comme l'a montré L. Magnin [1996], la modélisation de collisions de balles nécessite une gestion événementielle du temps.

Figure 5-27 : Rebond de balles et gestion événementielle des collisions (d'après [Magnin, 1996])

Le principe que Magnin met en œuvre, consiste à définir des règles de l'environnement et à décrire les collisions entre les balles a priori. Pour déterminer les événements futurs, il calcule au préalable la date où aura lieu la prochaine collision en fonction des trajectoires et des vitesses actuelles. Cet événement est inséré dans l'échéancier et le temps global saute alors à l'événement suivant qui correspond à la prochaine collision.

L. Magnin s'est attaché à la résolution de ce type de problèmes dans le contexte des robots footballeurs. On trouve la même préoccupation dans le problème de la porte à battant que deux robots veulent pousser simultanément et qui a donné lieu à une série d'articles suite à celui de [Ferber & Müller, 1996] sur le modèle "influence – réaction". Il est clair que pour ce genre d'application qui touche entre autres à la multi-robotique, une gestion événementielle du temps est préférable.

5.3.4.2 L'approche à temps continu n'apporte pas d'avantage clair pour la modélisation des ressources renouvelables

Mais dans le cadre de la gestion des ressources, ce souci de réalisme ne paraît pas crucial. En effet, les problèmes que nous étudions, se trouvent généralement à un niveau de définition plus grossier. En s'intéressant à des conflits d'usage d'une ressource naturelle, à des problèmes de gestion de la biodiversité ou à l'émergence de territoires, nous construisons des sociétés artificielles dans lesquelles les interactions entre agents ne nécessitent pas ce degré de réalisme. Par exemple, en changeant d'échelle, nous ne nous préoccupons pas du déplacement réaliste d'un agent-agriculteur dans son territoire, mais nous cherchons plutôt à synthétiser des connaissances sur sa façon de gérer annuellement sa propriété. A cette échelle nous nous permettons des raccourcis qui simplifient la conception. Néanmoins, même dans ce contexte, nous devons garder à l'esprit ces difficultés et employer le formalisme événementiel si besoin. D'ailleurs, de nombreux modèles en écologie ou en gestion des ressources (et des plates-formes) font appel à ces techniques [Michelin & Poix, 1998]. Elles sont d'ailleurs à la base d'une revue spécialisée sur ce sujet : "Discrete dynamics in nature and society".

En comparant les approches par horloge et par événements, [Galler, 1997] relève les avantages et les inconvénients relatifs de chacune. Il étudie ainsi la façon dont les deux approches peuvent traiter la question des événements simultanés et des actions concurrentielles, mais aussi leurs performances respectives en termes de temps de calcul. Sans conclure à une préférence pour l'une ou l'autre, il note cependant que l'approche temps continu n'apporte pas d'avantage clair. Car la mise au point et l'implémentation d'un simulateur événementiel ne sont pas évidentes. Beaucoup d'erreurs peuvent se glisser dans les mesures sans qu'il soit aisé de les détecter. L’auteur conclut alors que pour des raisons pratiques, il vaut mieux utiliser une approche à temps discret, qui simplifie considérablement le développement de simulations, mais avec une granularité de temps

127

fine. En effet, lorsque les entités d'un modèle sont fortement reliées, "une approche à temps continu se révèle très inefficace car à chaque changement d'état d'une entité, le futur (la prochaine occurrence d'un changement d'état d'une entité) d'autres entités se retrouvent systématiquement invalidées" [Meurisse, 2004].

Cependant, on peut minimiser l'impact de la gestion par horloge. De nombreux modèles utilisent cette activation asynchrone randomisée sans que leurs résultats soient pour autant liés à l'ordonnanceur aléatoire. D'autre part, si l'ordre d'exécution des agents est décidé et justifié par le modélisateur, les variations des résultats sont considérées comme étant liées au domaine : tri des agents par ordre de vivacité, de force, de proximité, etc. Dans ce cas, l'ordonnancement des agents constitue précisément un élément du modèle. Mais bien des fois, le concepteur du SMA n'a pas conscience des impacts possibles de cet ordonnancement sur les résultats de ses simulations. Les conclusions sur son objet d'étude peuvent s'avérer être un artéfact. Lorsqu'on utilise une gestion par horloge, il est donc indispensable de prêter une attention toute particulière à l'ordonnancement des agents et à la granularité du temps.

5.3.4.3 Phénomènes oscillatoires inexpliqués ?

En ré-implémentant Sugarscape52 [Epstein & Axtell, 1996], mais en y appliquant une évolution asynchrone, Lawson et Park montrent qu'il vaut mieux utiliser une gestion événementielle qu'une gestion par horloge :

While we agree that synchronous behavior is correct for some applications, such as seasonally motivated movement, many other applications are modeled more accurately using asynchronous time evolution. For such asynchronous applications, forcing events to occur synchronously is unnatural and can produce simulation artifacts. In addition, forced synchronous time evolution produces an ambiguity in the order in which events should occur. Because all events occur randomly at their own characteristic rates, the use of asynchronous time evolution removes any such ambiguity. [Lawson et Park, 2000]

A partir de leurs travaux, Lawson et Park concluent qu’une gestion événementielle convient mieux qu’une simulation par horloge53 pour la modélisation d’une société artificielle. Car, expliquent-ils, la nature nous montre des entités qui agissent à des instants non corrélés du fait de leur autonomie (la notion d'autonomie fait l'objet de chapitre suivant). Ils tirent leur conclusion des résultats non oscillatoires de leur réplication.

52

Nous reviendrons en détail sur les problèmes de ré-implémentation au chapitre 9.1. 53

Comme je l'ai déjà signalé, la gestion par horloge classique des SMA peut rarement être considérée comme une gestion synchrone : les agents agissent séquentiellement, les uns après les autres. Contrairement aux automates cellulaires qui, seuls, mettent en œuvre une gestion véritablement synchrone, la gestion classique par horloge doit justement être considérée comme asynchrone.

128

Figure 5-28 : Comparaison de l'évolution asynchrone et synchrone d'une population d'agents, d'après [Lawson et Park, 2000]. Le trait fin représente l'évolution du nombre d'agents par un traitement synchrone alors que le trait épais montre cette même évolution par gestion asynchrone du temps.

En comparant les approches par "pas de temps" synchrone (type automate cellulaire) et par événements, [Meurisse, 2004] constate aussi des phénomènes d'oscillation. Pour cela, il s'appuie sur un exemple simple dans lequel deux agents A et B se déplacent sur une grille : A souhaite aller sur la case de B et B sur celle de A. Dans le cas d'une gestion asynchrone (par événement ou par horloge), le système converge en un "pas de temps" vers une situation d'équilibre stable : A et B se retrouvent au même endroit, soit sur la case de B si A a été activé le premier, soit sur la case de A dans le cas contraire. Par contre, lors d'une gestion synchrone, A et B se croisent indéfiniment sans jamais se rencontrer. [Meurisse, 2004] explique que :

"Des résultats similaires ont été remarqués lors d’essais de reproductions d’expérimentations de Sugarscape par Lawson et Park [Lawson et Park, 2000]. En effet, les résultats de simulations originels ne convergent pas, mais semblent contenir des oscillations difficilement explicables. Ce type de phénomènes pourrait expliquer cette absence de convergence.

Au chapitre 9.1 qui traite de la réplication, nous reviendrons sur les différentes expériences de réplication de Sugarscape par [Lawson et Park, 2000], [Meurisse, 2004] et [Michel, 2004]. Mais dans le cadre de ce chapitre, il est nécessaire d'en discuter certains points.

Même si je suis en accord avec Lawson et Park sur le problème des artefacts qu'ils relèvent, nous verrons plus loin que l'ajout d'une période de gestation dans leur modèle, censé être une réplication du modèle d'Epstein et Axtell, constitue une modification du modèle initial et change évidemment les résultats de ce dernier. Or, ceci minimise la portée de leur démonstration. Néanmoins, de nombreuses expériences de réplication de Sugarscape ont montré des différences significatives. En particulier, l'analyse "des variations de contraintes d'ordonnancement entre comportements dans Sugarscape tend à montrer que certains choix d'implémentation, classiquement laissés à la discrétion de l'expert informatique, ne sont pas neutres quant aux résultats de simulations" [Meurisse, 2004]. En termes de réplication de modèles, les procédures d'activation des agents est un sujet régulier de discussion car leur manque de description est souvent à l'origine des divergences de résultats.

Cependant, comme le souligne [Michel, 2004] qui a également répliqué ce modèle, il faut chercher les raisons de ces oscillations. Il réfute les conclusions apportées par Lawson et Park en expliquant que ces phénomènes oscillatoires sont dus à l'homogénéité des conditions initiales, couplée aux contraintes spatiales du système. En fait, ces oscillations correspondent à des phénomènes de morts massives d'agents ou de naissances d’un très grand nombre d'individus. Or, la ressource étant abondante à l'initialisation, "la véritable ressource critique du système est l’espace. L’extinction d’un très grand nombre d’agents (phase descendante), entraine une nouvelle disponibilité d’espace. Ceci engendre naturellement un très grand nombre de naissances du fait de la place disponible et ainsi un nombre important de nouveaux agents (phase montante). Ces nouveaux agents vont occuper l’espace et réduire de fait le nombre de naissances. Mais ils vont aussi tous mourir approximativement au même moment, c’est-à-dire en quelques itérations. Ce qui va créer une phase descendante et ainsi produire un cycle dans la dynamique de la population. C’est pourquoi, une première oscillation suffisamment forte à toutes les chances de rendre le système définitivement instable" [ibid.].

En mode asynchrone par événements, ce phénomène d'oscillation est amorti par le fait qu'un agent peut être activé plus souvent qu'un autre sur une période de temps donnée. Ceci est lié à la génération des événements qui suit une loi de Poisson. Statistiquement les agents sont activés autant de fois les uns que les autres. Mais sur une période de temps donnée, un agent peut agir plus fréquemment et donner ainsi naissance à plusieurs individus. Par ce procédé, les naissances se trouvent alors distribuées de façon plus homogène dans le temps. Contrairement à la gestion par horloge, le mode événementiel amortit les oscillations des effectifs en atténuant progressivement

129

l'uniformité de la population initiale. Ces constats sont confirmés par les expérimentations de Michel. Je les ai également répliquées (cf. chapitre réplication).