Expérience 06
Boids
Trois règles locales et un seul rayon de perception suffisent à transformer un nuage de vitesses aléatoires en une nuée cohérente qui vire, se resserre et se disperse comme un seul organisme — sans qu'aucun individu ne connaisse le mouvement d'ensemble.
Qu'est-ce que Boids ?
Boids est un modèle de nuée : chaque individu — un boid — ne perçoit que ses voisins immédiats, à l'intérieur d'un seul rayon fixe, et leur applique trois règles à chaque pas de simulation. Séparation : s'écarter des voisins trop proches pour éviter la collision. Alignement : adopter la vitesse moyenne du voisinage. Cohésion : se rapprocher du centre de masse du voisinage. Ces trois forces, pondérées puis sommées, déterminent l'accélération du boid — rien d'autre n'entre dans le calcul.
À la différence des agents évolutifs de LifeLabs, il n'y a ici ni cerveau ni sélection : chaque boid applique les trois mêmes règles, avec les mêmes poids, à chaque pas, du premier au dernier individu — aucun paramètre n'est appris, aucune génération ne sélectionne les boids les plus aptes. Le comportement collectif n'est pas le produit d'un apprentissage, mais l'exécution répétée d'une règle fixe et purement locale.
Pourquoi c'est de l'émergence — un mouvement collectif, pas une coordination
Chaque run part de vitesses tirées au hasard, sans direction commune : au pas zéro, la nuée n'est qu'un nuage de points qui s'agitent chacun pour soi. Aucun boid ne connaît le cap du groupe, aucun message n'est échangé, aucune position cible n'est fixée à l'avance. Et pourtant, après quelques centaines de pas, un paramètre d'ordre — l'alignement moyen des vitesses individuelles — grimpe nettement au-dessus de ce qu'il vaudrait pour des vitesses indépendantes : la nuée s'est mise à voler dans une direction commune, à se scinder en quelques groupes cohérents, à se reformer après un croisement.
Cette hausse n'est pas un artefact de mesure : le test témoin du labo (le « golden test ») fait tourner la même simulation avec les trois règles désactivées — poids nuls, aucune interaction entre voisins — et le paramètre d'ordre y reste plat, proche de sa valeur pour des vitesses aléatoires indépendantes. La hausse observée quand les règles sont actives est donc bien attribuable aux trois règles elles-mêmes, pas à un biais du calcul ou de l'initialisation.
Piloter
Piloter la nuée
Rejeu d'une trajectoire
Le lecteur ci-dessous rejoue, image par image, les positions et vitesses enregistrées de la nuée au cours du run publié. Chaque boid part dans une direction aléatoire, puis les groupes se forment.
Chargement de la trajectoire…
Le rejeu n'a pas pu être chargé
La trajectoire de ce run n'a pas pu être récupérée. En attendant, voici une capture vidéo de la simulation, quand elle est disponible.
Les signes vitaux mesurés
Chaque run enregistre trois séries temporelles, calculées à intervalles réguliers pendant la simulation, qui servent de « signes vitaux » à la nuée observée :
- Paramètre d'ordre
- l'alignement moyen des vitesses individuelles, normalisé entre 0 (vitesses indépendantes, sans direction commune) et 1 (toute la nuée vole exactement dans la même direction) — le signal le plus direct de l'auto-organisation collective.
- Nombre de clusters
- le nombre de groupes spatialement distincts détectés dans la nuée — il retombe à un seul groupe quand la nuée se rassemble, et grimpe quand elle se scinde ou reste dispersée.
- Vitesse moyenne
- la vitesse moyenne des boids sur toute la nuée — elle indique si le groupe s'est stabilisé à une allure de croisière ou continue d'accélérer ou de ralentir globalement.