Boids: jak trzy reguły tworzą stado tysięcy osobników

Algorytm Boids Craiga Reynoldsa z 1986 roku wykorzystuje zaledwie trzy reguły — separację, wyrównanie, kohezję — by odtworzyć niesamowicie realistyczne zachowanie stadne widoczne w murmuracjach szpaków. Bez dyrygenta, bez planu, bez wiedzy globalnej. Tylko lokalne reguły i emergencja.

Obejrzyj murmurację szpaków, a trudno ci będzie uwierzyć, że żaden pojedynczy ptak nie jest za nią odpowiedzialny. Tysiące osobników przechylają się, wirują i faluje jak jeden płynny byt — kształtozmienny superorganizm, który kurczy się w ciasne kule, rozciąga się we wstęgi i rozdziela wokół drapieżników z milisekundową precyzją. W 1986 roku badacz grafiki komputerowej Craig Reynolds złamał ten kod za pomocą zaledwie trzech reguł. Jego artykuł, opublikowany na SIGGRAPH 1987, wprowadził światu Boids: symulowany algorytm stadowania, który pozostaje jedną z najbardziej eleganckich demonstracji emergentnej złożoności, jakie kiedykolwiek stworzono.

Trzy reguły Boids

Każdy boid — portmanteau Reynoldsa od „obiektu ptako-podobnego" (bird-oid object) — przestrzega dokładnie trzech zachowań sterujących, każde działające na lokalnym promieniu percepcji:

Każda reguła jest ważona i łączona w pojedynczy wektor sterujący nakładany na prędkość boida. Żaden boid nie komunikuje się z całym stadem. Żaden boid nie ma mapy. Żaden boid nie wie, że jest częścią murmuracji. Inteligencja — jeśli można ją tak nazwać — wyłania się wyłącznie z lokalnych interakcji między osobnikami, które mogą postrzegać tylko małe sąsiedztwo wokół siebie.

Kluczowy wgląd: promień percepcji to najważniejszy parametr. Za mały — i stado się rozpada. Za duży — i każdy boid jest jednocześnie pod wpływem całego stada, co daje sztywny, nierealistyczny ruch. Optymalny punkt — z grubsza 50–150 pikseli we współrzędnych ekranowych — tworzy tocząco-organiczny ruch, który wygląda biologicznie.

Emergencja: gdy proste staje się złożone

Zdumiewającym wynikiem połączenia tych trzech reguł jest to, że powstają wzorce na poziomie stada, których żaden pojedynczy boid nie zaplanował ani nie wykonał. Stado rozdziela się wokół przeszkód bez decyzji żadnego ptaka o rozdzieleniu. Drapieżnik wchodzący do stada tworzy „wakat" — lukę, która rozprzestrzenia się na zewnątrz jak fala — bez wysyłania żadnego sygnału koordynacji. Fala porusza się szybciej niż jakikolwiek pojedynczy ptak, ponieważ nie jest niesiona przez ptaki, lecz przez kaskadę lokalnych reakcji.

Strojenie wag dramatycznie zmienia charakter symulacji:

Zastosowania w efektach wizualnych były natychmiastowe i głębokie. Film Tima Burtona Powrót Batmana (1992) wykorzystał system wywodzący się z Boids zarówno dla rojów nietoperzy, jak i scen marszu armii pingwinów — pierwsze mainstreamowe wykorzystanie autonomicznego zachowania agentów w filmie. Zespół Petera Jacksona w Weta Digital rozszerzył algorytm dla armii orków w Władcy Pierścieni: Dwóch wieżach (2001), dając poszczególnym żołnierzom zdolność unikania siebie nawzajem, nawigacji po terenie i tworzenia emergentnych formacji bitewnych. Sekwencja stampedy w Królu Lwie (2019) wykorzystała podobne techniki dla stada gnu.

Poza ptakami: boids wszędzie

Reynolds zaprojektował Boids do modelowania stad ptaków, ale algorytm generalizuje się do dowolnego systemu lokalnie oddziałujących agentów. Ławice ryb dodają impuls ucieczki przed drapieżnikiem — nagłą regułę separacji o wysokiej wadze, wyzwalaną, gdy drapieżnik wchodzi w promień — dając eksplozyjne „błyskawiczne rozproszenie" widoczne w kulach przynęty sardynek. Ławica zwija się z powrotem, gdy drapieżnik się wycofuje.

Kolonie mrówek to komplementarny system zdecentralizowany: zamiast reguł sterujących, mrówki zostawiają i podążają za śladami feromonowymi. Nie ma królowej kierującej ruchem. Optymalna ścieżka między gniazdem a źródłem pożywienia wyłania się, bo krótsze ścieżki akumulują silniejszy sygnał feromonowy, zanim wyparuje — kolejna lokalna reguła dająca globalną inteligencję.

Modele ewakuacji tłumu ludzi wykorzystują warianty Boids, gdzie separacja koduje przestrzeń osobistą, a kohezja reprezentuje tendencję do podążania za innymi. Te modele wpłynęły na projektowanie wyjść stadionów i tras awaryjnej ewakuacji. W robotyce algorytmy rojów dronów implementują Boids w fizycznym sprzęcie — quadkoptery utrzymujące formację poprzez czujniki pokładowe bez żadnego scentralizowanego kontrolera.

Oryginalny artykuł Reynoldsa „Flocks, Herds, and Schools: A Distributed Behavioral Model" (SIGGRAPH 1987) pozostaje jednym z najczęściej cytowanych artykułów w grafice komputerowej, a jego podstawowe idee wpłynęły na dziedziny od pojazdów autonomicznych, przez robotykę rojową, po modelowanie sieci społecznych. Artykuł jest dostępny za darmo i wciąż niezwykle czytelny niemal cztery dekady później.

Być może najbardziej otrzeźwiającym wynikiem badań empirycznych na prawdziwych murmuracjach szpaków jest to, że ptaki reagują w ciągu 7 milisekund na sąsiadów, i śledzą nie 6–7 najbliższych ptaków w odległości metrycznej, lecz w odległości topologicznej — 6–7 najbliższych niezależnie od tego, jak daleko są. Dodaj niewielki stochastyczny szum do reguły wyrównania, by uchwycić indywidualną zmienność, a symulowana murmuracja staje się niemal nieodróżnialna od nagrania lotniczego prawdziwego zjawiska. Trzy reguły. Siedmiu sąsiadów. Nieskończona złożoność.