| |
9
Wir haben zwar das Modell so entworfen, dass ein Boid nur auf seine nähere Umgebung
reagiert, aber die Rechenprozesse laufen so ab, dass jeder Boid sich mit sämtlichen anderen
Boids abstimmt und sei es nur um diese zu ignorieren. Dies ist aber nicht sehr realistisch. In
der Natur kann man kilometerlange Schwärme oder Herden beobachten. Dort werden die
Tiere nicht von der Schwarmgröße beeinflusst. Was erfreulich ist, denn das bedeutet, dass die
Simulation nicht auf einen Rechner beschränkt bleiben muss, sondern jedem Boid ein
Prozessor zugeteilt werden kann. Das vermindert den Algorithmus auf einen einfacheren
O(n)-Algorithmus. Doch das ist noch nicht gut genug. Was man benötigt ist ein zeitlich
konstanter Algorithmus, der unabhängig zur Größe der Population ist. Reynolds untersuchte
zu diesem Zweck zwei Annäherungen:
4.5.1 Dynamische räumlich Verteilung der Boids
Dabei bildet ein Gitterwerk (Abbildung 9) sogenannte
Behälter, in die die Boids basierend ihrer Position im
Raum verteilt werden. Ein Boid, der versucht innerhalb des
Schwarms zu navigieren, erhält schnell Informa-tionen über
sein Umfeld, indem er nur die Behälter nahe seiner
gegenwärtigen Position überprüft. Die globale Orientierung
wird dadurch wirklich auf eine lokale reduziert.
4.5.2 Implementierung einer Sinneswahrnehmung
Schaffung eines künstlichen Sinnes zur Kollisions-
Wahrnehmung. Dieser ist zwar wiederum ein O(n²)-
Algorithmus, doch mit der Einführung von Feldern (also
wiederum Lösung des Problems durch Auf-teilung), müsste der Algorithmus dabei nur auf
Veränderungen der näheren Umgebung des Boids achten, was ihn wesentlich beschleunigt,
voraus-gesetzt es treten wenig Veränderungen auf.
Die Boid-Software wurde auf einem leistungsstarken Symbolics 3600 LISP Rechner erstellt.
Die Schwarm-Software wiederum in FLAVORS implementiert, einer objektorientierten
Erweiterung der LISP-Sprache, wobei Boids auf dem 3D-FLAVOR basiert. Geometrische
Aspekte des Systems wurden mit der S-GEOMETRY-Software modelliert. Craig Reynolds
demonstrierte auf der SIGGRAPH 86 eine Schwarmsimulation von 80 Boids, wobei er den
simplen O(N²)-Algorithmus ohne spezielle Hardwareunterstützung anwendete. Für eine
Simulation von 10 Sekunden mit insgesamt 300 Frames war eine Rechenzeit von über acht
Stunden erforderlich. Reynolds demonstriert seinen Boid-Algorithmus anhand eines Java-
Applets [Boidapp] im Internet.
4.6
Zukünftige Forschungsgebiete
Ein Aspekt des Boid-Verhaltens wurde überhaupt noch nicht berücksichtigt, und zwar der
Phänotyp des Schwarms als Ganzes. Oft ist bei Zugvögeln eine aerodynamisch günstige
Schwarmform zu beobachten. Dabei lassen sich Tiere absichtlich zurückfallen, wenn das der
Schwarmform Vorteile verspricht.
Alle beschriebenen Verhaltensmerkmale sind extrem vereinfacht durch einen geometrischen
und einen kinetischen Zustand dargestellt. Individuelle mentalen Zustände fehlen, um einer
natürlichen Bewegung eines Schwarms nahe zu kommen. Seien es nun Vögel oder Fische, es
müssten tierspezifische Bewegungen, wie Flügel- oder Flossenschlag in die Simulation mit
einfließen, denn gegenwärtig befinden sich der Boid noch im Papierfliegerzustand. Doch um
Abbildung 9
Ein Boid navigiert mit Hilfe
räumlicher Felder.
|  |
|
| |
|
|