• Aucun résultat trouvé

Ajout d’une colonie toutes les 1000 étapes sur le graphe «data» de

aussi souvent en connectivité. Ce sont les critères utilisés par les fourmis pour créer des grappes d’entités, détectées comme des organisations.

Cette section présente quelques graphes dynamiques simples utilisés en majorité pour tester le comportement d’AntCO2. Ces graphes ne sont pas obtenus à partir d’une application particulière, mais artificiellement créés en générant un graphe de topologie donnée, puis en le modifiant par l’intermédiaire d’événements tels que :

– l’ajout ou le retrait d’un sommet ; – l’ajout ou le retrait d’un arc ; – la modification d’une valeur.

La figure 12.3 page 169 montre un graphe simple de 18 sommets dont les arcs apparaissent et disparaissent au cours du temps. Sur cette figure les sommets sont représentés par les rectangles, sur les arcs sont affichés des diagrammes circulaires indiquant les taux relatifs de phéromones, le niveau maximum étant indiqué textuelle-ment. Sur les sommets sont indiqués, à gauche le nombre total de fourmis, et à droite un diagramme circulaire indiquant le nombre relatif de fourmis de chaque couleur sur le sommet.

Le graphe est naturellement découpé en trois groupes de sommets liés dans le centre par une série d’arcs apparaissant et disparaissant. Dans chaque groupe, des arcs apparaissent et disparaissent aussi. Ce graphe pourrait représenter une petite applica-tion dans laquelle chaque ensemble d’entités travaille à part, se communiquant des informations par intermittence. Au sein de ces groupes d’entités, tous les éléments ne sont pas en communication constante.

Paramètre Valeur α 1 β 4 ρ 0.8 N∗ 5 M 4 φ 0.3 Individu/sommet 10 RAZ-P 0 Espèce AgoraphoMyrmex

La figure 12.4 page 170 représente un graphe de32 sommets qui passe réguliè-rement par trois configurations. Cette figure montre les mêmes vues du graphe sur deux colonnes, la première reprenant les mêmes informations que la figure précédente, l’autre n’affichant que les groupes colorés, pour plus de lisibilité. Ce test montre un graphe constitué principalement de3groupes naturels, coloré par4colonies. La dif-ficulté réside dans la répartition de charge, puisque le nombre de groupes d’entités observé est inférieur au nombre de ressources de calcul disponibles. De plus ce graphe change continuellement de structure les entités au sein de organisations communicant plus ou moins.

On constate que la répartition de charge est correcte, et que les organisations détec-tées restent en place malgré leurs reconfigurations importantes. L’un des trois groupes est coupé en deux pour répartir la charge également sur les quatre ressources de calcul. La figure 12.5 page 171 montre un graphe de type grille sur lequel se déplace une plus petite grille, s’y connectant. La second grille se connecte par intermittence à tous les sommets de la plus large grille1. Ce graphe simule une organisation d’entités par-courant un maillage d’entités, que l’on peut comparer par exemple dans une simulation aquatique à un banc de poissons (la petite structure) passant dans un environnement (la grille). Les communications au sein du banc de poissons sont basées sur la vision de ces derniers et est donc importante et durable au sein du banc, alors que la perception de l’environnement est momentanée.

La plus petite structure conserve sa coloration tout au long de l’expérience, bien qu’elle croise plusieurs domaines de couleur différente. Ceci est du en partie au fait que les communications au sein de la petite grille sont élevées.

12.3 Écosystème marin

Une application de simulation d’écosystème marin [Tranouez, 2005] a été déve-loppée afin de tester AntCO2. Cette application repose sur le principe des Boids de Craig Reynolds que nous avons détaillé à la section 4.5.1 page 68, avec plusieurs mo-difications. Cette application non seulement permet de testerAntCO2sur un problème réel, mais a aussi servi à comparer ses performances avec deux autres méthodes de distribution.

1Deux vidéos de cette simulation sont disponibles aux adresses http://www-lih.

univ-lehavre.fr/~dutot/videos/MovingStruct1.avi et http://www-lih.

12. Graphes dynamiques 12.3. Écosystème marin

12.3.1 Simulation

Le comportement général des boids définis dans cette simulation est identique à celui proposé par Reynolds, cependant, l’environnement définit additionnellement un flux porteur qui agit sur leur déplacement. De plus, il existe plusieurs espèces de boids, chacune pouvant être paramétrée différemment. Deux individus d’espèces différentes se repoussent.

Ainsi les rétroactions positives :

– attraction vers le barycentre du groupe perçu ; – orientation dans le direction générale du groupe ; – adaptation à la vitesse du groupe,

sont contrecarrées pas plusieurs rétroactions négatives : – distance minimale vis-à-vis des membres du groupe ; – angle de vue inférieur à 360 degrés ;

– réaction de fuite vis-à-vis d’autres espèces.

Ces mécanismes permettent la création d’organisations de boids qui, au lieu de ne former ultimement un unique groupe, se scindent en plusieurs organisations, évoluant au fil du temps, pouvant être brisées par d’autres espèces.

L’implantation de cette simulation utilise une grille évitant ainsi de parcourir tout l’espace pour déterminer le voisinage d’individus à prendre en compte lors du déplace-ment. De plus cette grille est utilisée pour simuler un mode de distribution par maillage de l’environnement.

12.3.2 Mode de distribution

Trois modes de distributions ont été testés avec cette simulation : 1. aléatoire,

2. par maillage,

3. AntCO2.

Dans le mode aléatoire, les boids se voient assigner un processeur dès leur appa-rition et n’en changent plus par la suite. Dans la simulation que nous avons utilisé, le nombre de boids est fixé par avance, et ne varie pas par la suite. Ce mode de dis-tribution donne un équilibrage de la charge optimal. Chaque machine est chargée de manière équivalente. Par contre la charge de communication n’est pas prise en compte. Au sein d’une organisation il y a donc de fortes chances que deux boids communicants soient sur des processeurs différents. Ce mode de distribution est donc le pire en ce qui concerne la charge réseau.

Dans le mode par maillage, l’environnement est découpé en mailles, et ces der-nières sont assignées chacune à une ressource de calcul. Les boids s’exécutent sur la ressource de calcul assignée à la maille dans laquelle ils se trouvent. Ce mode amé-liore la minimisation des communications au détriment de l’égalisation de la charge machine. En effet dans ce mode, les boids se déplaçant sans contrainte, il est possible que tous les individus migrent sur une machine donnée. De plus, vis-à-vis des com-munications, il est possible qu’une organisation stagne à la frontière de deux mailles gérées par des processeurs différents, plaçant donc des communications de forte inten-sité sur le réseau.

12.3.3 Résultats

Ces deux modes ont été comparés aux résultats produits parAntCO2. On constate que ce dernier opère un bon compromis entre charge réseau et charge machine. En ce qui concerne le critère de qualitér1, les communications, les résultats sont meilleurs que les deux autres approches. Pourr2, il donne des résultats similaires voir meilleurs que le maillage. Il est par contre bien entendu, impossible de dépasser le mode aléatoire sur le critèrer2, le nombre de Boids étant invariant, et l’allocation parfaite dès le début. Les figures 12.6 page 172 et 12.7 page 172 montrent l’évolution des critèresr1et

r2respectivement sur un test avec200boids répartis dans4espèces durant5000étapes de temps. Les figures comparent les trois stratégies évoquées : aléatoire, par maillage etAntCO2. Pourr2, l’allocation aléatoire toujours idéale et n’est pas montrée.

12. Graphes dynamiques 12.3. Écosystème marin