Modélisation de l'évolution d'une horde de manchots
dans des conditions climatiques extrêmes
                                                     

Génération aléatoire de la horde
Version détaillée :



     Pour débuter la simulation, nous avons besoin de générer une horde de départ de façon aléatoire. Pour cela, nous avons initialisé la horde avec seulement 3 manchots, puis nous avons ajouté les autres oiseaux un par un de manière aléatoire en respectant les 3 contraintes suivantes :
  • Chaque manchot ajouté doit être adjacent à la horde
  • Un manchot doit toujours posséder au moins 2 voisins
  • L'ajout d' un manchot ne doit pas engendrer de trou dans le maillage
      Chaque manchot est désigné par un identifiant qui permet de connaitre son évolution individuelle au cours de la simulation. C'est en fait la même technique qui est utilisée par les biologistes avec le puçage électronique des animaux. Pour chaque oiseau et à chaque instant, on dispose de trois informations qui doivent être mises à jours à chaque déplacement : l'identifiant, la position et la présence ou non d'un manchot pour chacune des positions qui l'entourent. Cette troisième information est indispensable pour connaitre des déplacements possibles.

      Pour caractériser la horde, on utilise deux éléments. Tout d'abord la famille "groupe" qui comporte les données de chacun des manchots de la horde. C'est un peu comme un gros vecteur dont chaque composante n'est pas seulement un nombre mais un élément qui contient à lui seul toutes les données d'un manchot. Le deuxième élément est le vecteur "indfront". Il contient les indices des manchots situés en bordure de horde. Ce vecteur est ordonné de sorte à ce que deux manchots voisins se trouvent à des positions voisines dans indfront. Pour l'exemple de la horde représentée ci-dessus, on obtient le vecteur indfront suivant : [4 2 11 13 15 9 12 14 6 7 8 10]. Ce vecteur sera très utilisé car c'est en effet les manchots situés en bordure de horde qui sont sollicités lors des déplacements.

      Le principe général de génération et de mise à jour de la horde est très simple. Il suffit de savoir comment enlever et ajouter un manchot à la horde pour pouvoir effectuer un déplacement (ou un ajout de manchot). Seulement dans les faits, ce n'est pas si simple... En effet, tout le problème réside dans le fait qu'il faut toujours satisfaire les trois conditions énoncées précédemment. Il nous a alors fallu trouver des solutions (et parfois des astuces) pour arriver à nos fins. Ce problème qui théoriquement est basique s'est révélé être l'un des plus chronophages. Pour découvrir quelques-unes des méthodes employées, regardez la version détaillée .


Chapitre précédent
Suite de l'étude