Boids - Interaktive Simulation von komplexem Verhalten
Drei Regeln. Kein Plan. Trotzdem Ordnung.
Das Boids-Modell: Wie aus einfachen Regeln komplexes Verhalten entsteht
Wie gelingt es Hunderten von Vögeln, sich in einem Schwarm nahezu synchron zu bewegen, ohne zusammenzustoßen? Wer koordiniert ihre Bewegungen?
Das Boids-Modell liefert eine überraschend einfache Antwort: Niemand.
Das Computermodell wurde 1986 vom Informatiker Craig Reynolds entwickelt und 1987 unter dem Titel Flocks, Herds, and Schools: A Distributed Behavioral Model [Reynolds1986] veröffentlicht.
Ursprünglich wollte Reynolds eine Methode entwickeln, um Vogelschwärme, Fischschwärme und Tierherden für Computeranimationen realistisch darzustellen, ohne die Bewegungsbahnen jedes einzelnen Tieres aufwendig programmieren zu müssen.
Seine Lösung war ein agentenbasiertes Modell, in dem jedes Individuum, ein sogenannter Boid (Kurzform für bird-oid object), eigenständig handelt und lediglich drei einfache Regeln befolgt:
- Abstand: Halte ausreichend Abstand zu deinen unmittelbaren Nachbarn.
- Ausrichtung: Passe deine Bewegungsrichtung und Geschwindigkeit an deine Nachbarn an.
- Zusammenhalt: Bewege dich in Richtung des Mittelpunkts deiner Nachbarn.
Das Faszinierende: Obwohl jedes Individuum ausschließlich auf seine unmittelbare Umgebung reagiert, entsteht aus dem Zusammenspiel dieser einfachen Regeln ein erstaunlich komplexes, koordiniertes Schwarmverhalten – ganz ohne zentrale Steuerung oder einen Anführer.
Damit wurde das Boids-Modell zu einem anschaulichen Beispiel für zwei grundlegende Eigenschaften komplexer Systeme: Emergenz (das Ganze zeigt Eigenschaften, die keines der Teile hat) und Selbstorganisation (Ordnung ohne zentrale Steuerung). Siehe hierzu auch den Blog-Post „Komplex ist nicht kompliziert!“.
Hinweise zur Bedienung
Der Bildschirm
| Bereich | Wo | Inhalt |
|---|---|---|
| Fischbecken | ganze Fläche | die Fische (weiß bzw. farbig), den Raubfisch (rot, größer), Felsen (grau) und Futter (grün), Außenbereich bei abgerundeten Ecken (hellgrau) |
| Info-Kasten „Simulation“ | links oben | Laufzeit in Minuten und vier Kennzahlen die die Ordnung im Schwarm beschreiben: Polarisation und kinetische Temperatur jeweils für das gesamte Becken (global) und (lokal) für die Nachbarn in Sichtweite. Die Polarisation misst, wie stark sich die Fische an den Nachbarn ausgerichtet haben (0: völlige Unordnung 1: perfekt ausgerichtet). Die kinetische Temperatur misst wie stark die zufällige, ungerichtete Bewegung (insbesondere durch Kollisionen mit anderen Fischen und Wänden) der Fische ist (0: keine zufällige Bewegung, 1: völlig zufällige Bewegung). |
| Panel „Parameter“ | rechts oben | alle Parameter der Simulation |
| Tasten | links unten | eine Übersicht der Tastenkürzel |
Farben der Fische
- rot: sehr dicht gedrängt,
- weiß: idealer Abstand,
- blau: allein, weit weg von den anderen.
Tastenbelegung
| Taste | Funktion |
|---|---|
| Leertaste | Simulation anhalten und fortsetzen |
| 1, 2, 3 | Regel Abstand [1], Ausrichtung [2], Zusammenhalt [3] ein- oder ausschalten |
| R | Umschalten der Raubfisch-Modi: aus / autonom / Maus |
| W | Verwirrung des Raubfischs durch zu viel Beute im Schwarm ein/aus |
| S | Blick eines einzelnen Fischs zeigen (was er sieht und spürt) |
| F | Schwarmfische anhand Abstand zum nächsten Nachbarn einfärben |
| O | Offenes Meer: Durchlässige Wände, d.h. wer hinausschwimmt, kommt gegenüber wieder herein (periodische Randbedingungen) |
| A | Alle Anzeigen ein- und ausblenden |
| P | Panel auf- und zuklappen |
| V | Vollbild ein/aus |
| Shift + R | Simulation neu starten (Felsen und Futter bleiben liegen) |
Funktionen der Maus
- Zum Hinzufügen von Felsen (Hindenissen) und Futterstellen im Panel unter „Umgebung“ „Klick setzt Fels“ oder „Klick setzt Futter“ aktivieren. Dann mit der Maus an der gewünschten Stellen ins Becken klicken.
- Rechtsklick auf einen Felsen oder eine Futterstelle entfernt sie.
- Shift + Klick entfernt alle Felsen (oder alles Futter, je nach Auswahl).
- Steht der Raubfisch auf „Maus“, folgt er dem Mauszeiger.