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

Une démo interactive tourne entièrement dans votre navigateur : ajustez en direct les poids de séparation, d'alignement et de cohésion, ainsi que le rayon de perception, et observez la nuée passer d'un nuage dispersé à un vol groupé — ou à l'inverse se désorganiser.

Ouvrir la démo interactive

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…

Lecture

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.

Signes vitaux — dernier run

Paramètre d'ordre0.67
Nombre de clusters6.00
Vitesse moyenne1.60 u/pas

Résultats

Premier run public — 600 pas, 300 boids, graine 42. Les vitesses partent tirées au hasard : le paramètre d'ordre (polarisation) mesure 0,028, un désordre quasi total. Pas après pas, la courbe monte — de façon bruitée, avec des paliers et des rechutes autour de 0,05–0,10, avant de décoller au-delà du 300ᵉ pas — pour se poser à 0,669 en fin de course, un gain de +0,64. Les 300 boids se répartissent en 6 « groupes » filant chacun d'un même cap, et le classificateur range le résultat en « flocked ». Le contrôle négatif (mêmes boids, mêmes 600 pas, les trois poids mis à zéro) reste, lui, bloqué à 0,019 : la hausse vient bien des trois règles locales — séparation, alignement, cohésion — et non d'un artefact de la simulation. Sur la vidéo, on voit les boids passer d'un semis dispersé et désordonné à quelques amas denses et cohérents glissant d'un seul mouvement. La démo pilotable permet d'explorer les régimes en direct.