Beute
Schwarmbilden ergab sich innerhalb der Gruppe einfach aufgrund viel simplerer, primitiverer Regeln. Regeln wie: »Bleib möglichst nah bei den Vögeln, die dir am nächsten sind, aber stoß nicht mit ihnen zusammen.« Aufgrund solcher Regeln bildete die ganze Gruppe in fließender Koordination einen Schwarm.
Weil Schwarmbilden aus solchen einfachen Regeln resultierte, wurde es emergentes Verhalten genannt. Es war demnach ein Verhalten, das innerhalb einer Gruppe auftrat, aber nicht in die einzelnen Mitglieder der Gruppe einprogrammiert war. Es konnte in jeder Population auftreten, auch in einer ComputerPopulation. Oder in einer Roboter-Population. Oder in einem Nanoschwarm.
Ich sagte zu Ricky: »Euer Problem war emergentes Verhalten im Schwarm?«
»Genau.«
»Es war nicht vorhersehbar?«
»Gelinde gesagt.«
In den vergangenen Jahrzehnten hatte die Idee des emergen-ten Verhaltens in der Informatik eine kleine Revolution ausgelöst. Für Programmierer bedeutete sie nämlich, dass man für einzelne Agenten Verhaltensregeln festlegen konnte, nicht aber für die Agenten als Gruppe.
Einzelne Agenten - ob nun Programm-Module oder Prozessoren oder, wie in diesem Fall, richtige Mikroroboter - konnten so programmiert werden, dass sie unter bestimmten Umständen kooperierten und unter anderen konkurrierten. Man konnte ihnen Ziele einimpfen. Sie konnten angewiesen werden, diese rücksichtslos zu verfolgen oder gegebenenfalls anderen Agenten zu helfen. Doch das Ergebnis dieser Interaktionen ließ sich nicht programmieren. Es emergierte einfach, häufig mit überraschenden Folgen.
In gewisser Weise war das Ganze ungemein spannend; zum ersten Mal konnte ein Programm Ergebnisse erzielen, die der Programmierer absolut nicht vorhersagen konnte. Die Programme verhielten sich eher wie lebende Organismen denn wie von Menschen geschaffene Roboter. Das fanden Programmierer aufregend - aber es frustrierte sie auch.
Das emergente Verhalten des Programms war nämlich regellos. Manchmal bekämpften sich konkurrierende Agenten so heftig, dass gar nichts mehr lief und das Programm nichts zu Stande brachte. Manchmal beeinflussten sich Agenten gegenseitig so stark, dass sie ihr Ziel aus den Augen verloren und stattdessen irgendetwas anderes taten. In dieser Hinsicht war das Programm ausgesprochen kindlich - unberechenbar und leicht abzulenken. Wie es einmal ein Programmierer ausdrückte: »Verteilte Intelligenz zu entwickeln ist genauso, als würde man einem fünfjährigen Kind sagen, es soll in sein Zimmer gehen und sich umziehen. Es kann sein, dass das Kind sich tatsächlich umzieht, es kann aber genauso gut sein, dass es etwas anderes macht und nicht wiederkommt.«
Weil diese Programme sich lebensecht verhielten, fingen Programmierer an, Parallelen zum Verhalten realer Organismen in der realen Welt zu ziehen. Sie bildeten sogar das Verhalten von tatsächlichen Organismen nach, um so eine gewisse Kontrolle über die Resultate zu erlangen.
So kam es, dass Programmierer auf einmal Ameisenkolonien und Termitenhügel und den Bienentanz studierten, um Programme für die Steuerung von Flugzeuglandeplänen oder die Paketbeförderung oder das Übersetzen von Sprachen zu schreiben. Diese Programme funktionierten oft wunderbar, aber sie konnten sich dennoch verrennen, vor allem, wenn sich die Umstände drastisch veränderten. Dann verloren sie ihre Ziele.
Aus diesem Grund begann ich vor fünf Jahren mit der Simulation von Räuber-Beute-Beziehungen, um Ziele zu fixieren. Hungrige Räuber ließen sich nämlich nicht ablenken. Es konnte sein, dass sie durch die Umstände gezwungen wurden, ihre Methoden abzuwandeln, und dass bis zum Erfolg viele Versuche erforderlich waren - aber sie verloren ihr Ziel nicht aus den Augen.
So wurde ich Experte für Räuber-Beute-Beziehungen. Ich kannte mich aus mit Rudeln von Hyänen, afrikanischen Jagdhunden, sich anpirschenden Löwinnen und angreifenden Kolonnen von Wanderameisen. Mein Team hatte die Fachliteratur der Feldbiologie gelesen, wir hatten die Erkenntnisse verallgemeinert und in ein Programm-Modul namens predprey eingebaut, das Agentensysteme steuern und deren
Verhalten auf ein Ziel lenken konnte. Es konnte das Programm dazu bringen, ein Ziel zu suchen.
Als ich jetzt auf Rickys Bildschirm sah, wie die koordinierten Einheiten sich fließend bewegten, während sie durch die Luft kreisten, sagte ich: »Ihr habt predprey eingesetzt, um eure individuellen Einheiten zu programmieren?«
»Genau. Wir haben
Weitere Kostenlose Bücher