title: Boids
text: # Boids
  
  Boids est le nom d'un programme informatique de vie artificielle, développé par Craig W. Reynolds en 1986, simulant le comportement d'une nuée d'oiseaux en vol. Le mot boid est par ailleurs une contraction de bird-oid (qui a la forme d'un oiseau).
  
  ## Émergence de comportement
  
  Comme bon nombre de simulations de vie artificielle, le programme Boids permet de modéliser un comportement émergent. En effet, la complexité comportementale résulte ici de l'interaction d'agents individuels (appelés boids) respectant un nombre limité de règles simples, telles que :
  
  * la cohésion : pour former un groupe, les boids se rapprochent les uns des autres ;
  * la séparation : 2 boids ne peuvent pas se trouver au même endroit au même moment ;
  * l'alignement : pour rester groupés, les boids essayent de suivre un même chemin.
  
  Dans les faits, cela se traduit par la réaction du boid à son voisinage. Celui-ci se divise en trois zones, de la plus proche à la plus éloignée: une zone de répulsion, une zone d'orientation et une zone d'attraction. Lorsqu'un voisin entre dans la zone de répulsion, le boid s'en éloigne, s'il est dans la zone d'orientation, le boid le suit, et s'il est dans la zone d'attraction, il s'en rapproche. Généralement, on ajoute également à la simulation un angle mort, dans lequel le boid ne peut pas percevoir ses voisins.
  
  ### Structures émergentes
  
  En faisant varier les rayons des différentes zones les uns par rapport aux autres, on peut voir émerger différentes structures, qui ont de fortes ressemblances avec ce qui est observable dans la nature. Ainsi, de grandes zones d'attraction et de répulsion couplées à une zone d'orientation quasiment inexistante font émerger une structure d'essaim. En augmentant légèrement la zone d'orientation, on peut observer une structure toroïdale, semblable à celle de certains bancs de poissons. En augmentant encore cette zone, on peut observer un groupe plus ou moins parallèle. Le champ de vision aussi entre en compte. S'il est trop petit, il est beaucoup plus difficile d'obtenir une structure. Enfin, une zone d'attraction trop faible a tendance à provoquer une dispersion des boids.
  
  On peut également avoir différents types de boids au sein d'un même groupe. On remarque par exemple dans ce cas qu'un boid avec une grande zone d'orientation aura moins tendance à être à la tête ou au centre du groupe. De la même façon, les boids présentant une faible zone de répulsion auront davantage tendance à se retrouver au centre du groupe.
  
  ### Notion d'émergence
  
  De façon générale, la notion d'émergence implique que :
  
  * l'on constate l'existence d'un comportement complexe (proche de l'expérience du vivant, donc difficile à prévoir ; mouvant ; animant un certain nombre de parties prenantes, potentiellement important ; multipliant les scénarios possibles ; créant un système capable, sous la poussée de quelque événement interne ou externe, de basculer d'un état à l'autre, d'une forme à une autre, évoquant alors l'instabilité, la rupture, le changement de forme, la stabilisation sous un autre régime d'existence et de maintien),
  * soient induites, à partir de ce comportement, les quelques règles simples qui — en relation dynamique les unes avec les autres — font bel et bien émerger ce comportement complexe (en cybernétique, ces quelques règles correspondent à des finalités (cf. téléologie) : des poussées, des intentions, conscientes ou non, qui font tendre les individus vers un but (ex. : satisfaire un besoin écologique), tout autant que le groupe lui-même (but qui lui est propre ; ex. : survie, maintien au moyen de forces de cohésion et de conservation telles que la recherche d'homéostasie).
  
  Des règles plus complexes peuvent être ajoutées, telles que l'évitement d'obstacles ou la recherche d'un objectif.
  
  ## Applications
  
  Les boids sont souvent utilisés pour créer des images de synthèse car ils fournissent des représentations réalistes de nuées d'oiseaux, bancs de poissons, essaims d'insectes ou autres troupeaux d'animaux.
  
  L'application a entre autres été utilisée pour des animations dans les films Batman Returns (Batman: Le Défi, ou Le Retour de Batman au Québec), The Lion King (Le Roi Lion) et pour représenter le troupeau de Gallimimus dans Jurassic Park.
  
  