Utilisation avancée des effectifs dans Edu’modèles multi-agents (mode « expert »)

par Philippe Cosentino

Cet article présente des fonctions avancées des effectifs dans le mode « expert » d’Edu’modèles multi-agents (algorithmique).

Il ne s’adresse qu’aux utilisateurs déjà familiarisés avec ce logiciel.

Introduction : des effectifs fluctuants

Dans une modélisation par agents, des entités — que l’on peut assimiler à des réactifs chimiques — interagissent pour être remplacées par d’autres agents, appelés produits.

C’est ainsi que l’on modélise le résultat des interactions entre ces agents, que ce soit à l’échelle moléculaire (réactions enzymatiques par exemple), cellulaire ou macroscopique (sélection naturelle, compétition etc.).

Il découle de ce mécanisme une fluctuation des effectifs, puisqu’à chaque rencontre, des réactifs disparaissent tandis que des produits se forment.

Dans cet exemple les effectifs d’éléphants avec et sans défenses fluctuent du fait de la dérive génétique.

 

Bien souvent, c’est précisément cette fluctuation qui nous intéresse, et que l’application représente sous la forme d’un graphique généré en temps réel.

L’effectif d’un agent doit donc être considéré comme une variable, et nous cette variable nous allons pouvoir l’utiliser pour réaliser des calculs mais aussi comme élément conditionnel dans une règle.

 

Transformer un agent en fonction mathématique

Dans certains cas le suivi du simple effectif d’un agent n’est pas pleinement satisfaisant.

Prenons comme exemple le modèle dans lequel des éléphants avec ou sans défenses sont soumis au braconnage (lien vers le modèle). Dans ce modèle, le graphique affiche l’évolution du nombre d’éléphants avec ou sans défenses.

Imaginons qu’à la place de cela, on veuille suivre l’évolution du pourcentage d’éléphants sans défenses. Pour calculer ce pourcentage on réalise ce calcul :

[% sans défenses] = [nb sans défenses] / ([nb sans défenses + nb avec défenses]) * 100

(on divise le nombre d’éléphants sans défenses par le nombre total d’éléphants, multiplié par 100)

Pour saisir cette relation mathématique, on commence par créer un agent (en cliquant sur « Ajouter un agent ») que l’on va nommer « % sans défenses » (ou tout autre nom). 

On clique ensuite sur le symbole « fx » en bas à droite du panneau, ce qui débloque un champ dans lequel on va pouvoir saisir la relation mathématique, en utilisant la convention #N pour désigner l’effectif de l’agent n°N. Ainsi l’effectif des éléphants sans défenses, 2ème agent dans la liste, sera écrit #2.

Enfin, on saisit la relation qui sera sous la forme :

#2 / (#1 + #2) * 100

En cliquant sur « Ajouter cet agent », on constate qu’un nouvel agent a été rajouté à la liste des agents, mais que cependant il n’apparaît pas sur l’échiquier (c’est un agent « virtuel » qui ne sert qu’à effectuer un calcul).

On constate par contre qu’un nouvel agent apparaît dans la légende du graphique (en bas de l’écran), et qu’il est souligné, tout comme les effectifs des éléphants. Le fait qu’un agent soit souligné signifie que son effectif sera tracé dans le graphique, et en cliquant sur les noms des agents on peut changer cela. Je vais donc cliquer sur les noms des 2 autres agents (dans la légende) pour que seul mon pourcentage soit souligné.

Enfin je lance ma simulation, et je constate que désormais ce qui est tracé sur le graphique c’est bien le pourcentage d’éléphants sans défenses.

Remarque : l’axe des ordonnées est toujours légendé « effectif », car il ne faut pas oublier que pour l’application, toute variable (y compris le % calculé) est un effectif.

 

Conditionner une règle à un effectif

Pourquoi ne pas laisser une chance aux éléphants ?

Imaginons que notre braconnier soit « responsable » et ne braconne que si notre réserve contient plus de 3 éléphants avec défenses (je suis désolé, cet exemple n’est pas réaliste, mais il est parfait pour expliquer ce qui suit).

Pour cela on modifie la règle intitulée « Braconnage », on coche « Conditionner cette règle à l’effectif d’un agent », et on modifie les 3 menus déroulant de façon à obtenir :

Active si l'effectif de [Elephants avec défenses] est [supérieur à] [3].

Puis on clique sur « Appliquer ».

En lançant le modèle on constate qu’en effet, le braconnage cesse lorsqu’il ne reste que 3 éléphants avec défenses (ce qui n’empêchera pas la disparition des éléphants avec défenses si la dérive génétique s’en mêle).

Bien entendu, il est aussi possible de conditionner une règle à une variable calculée, comme par exemple le [% sans défenses] créée précédemment. La procédure est la même.

Pour l’exemple, on peut créer une règle qui entraîne le départ définitif des braconniers si le pourcentage des éléphants sans défenses dépasse 80%.

(cette règle transforme un [Braconnier] en [Case vide] si la valeur de [% sans défenses] dépasse 80).

 

Conclusion

Le mode « expert » d’Edu’modèles ouvre des possibilités particulièrement puissantes pour affiner et enrichir les simulations multi-agents. En exploitant les effectifs comme variables dynamiques, il devient possible de suivre des indicateurs personnalisés, tels que des pourcentages ou des rapports, mais aussi de conditionner finement les règles de comportement des agents.

Ces fonctionnalités offrent aux enseignants des outils précieux pour modéliser des phénomènes complexes et explorer la dynamique des systèmes. Elles permettent également de formuler des hypothèses, de tester des scénarios, ou encore de visualiser les conséquences de certaines conditions ou paramètres.

En maîtrisant ces fonctions avancées, les utilisateurs peuvent ainsi aller bien au-delà de la simple observation d’un système pour en faire un véritable outil d’investigation scientifique et pédagogique.

 

Liens

Application Edu’modèles, module algorithmique (en ligne)

Modélisation multi-agents avec Edu’modèles

Utiliser Edu’modèles pour comprendre l’augmentation du nombre d’éléphants sans défenses dans certaines réserves africaines

 

Aller au contenu principal