Schwarm-Algorithmus
Ein Schwarm-Algorithmus ist ein Rechenverfahren, das viele einfache Suchversuche gleichzeitig laufen lässt und sie voneinander lernen lässt — nach dem Vorbild von Vogelschwärmen oder Ameisenstraßen. So findet ein Computer gute Lösungen für Probleme, bei denen es viel zu viele Möglichkeiten zum Durchprobieren gibt.
Ein Vogelschwarm hat keinen Anführer und keinen Plan. Trotzdem findet die Gruppe zuverlässig Futter und weicht Hindernissen aus. Jeder einzelne Vogel achtet nur auf seine Nachbarn und passt seinen Kurs leicht an. Genau dieses Prinzip ahmen Schwarm-Algorithmen nach: Statt eine Aufgabe mit einer einzigen, sehr schlauen Rechenvorschrift zu lösen, schickt der Computer viele einfache Suchversuche gleichzeitig los. Diese Versuche tauschen untereinander aus, wo sie etwas Gutes gefunden haben, und ziehen nach und nach in dieselbe Richtung. Am Ende steht eine Lösung, die kein einzelner Sucher allein gefunden hätte.
Wenn Durchprobieren zu lange dauert
Viele praktische Aufgaben haben absurd viele mögliche Antworten. Ein Lieferwagen, der 30 Adressen anfahren soll, hat mehr mögliche Routen, als das Universum Atome hat. Alle durchzurechnen ist unmöglich, auch für die schnellsten Rechenzentren. Man braucht deshalb Verfahren, die nicht die beweisbar beste Lösung liefern, sondern in vertretbarer Zeit eine sehr gute.
Schwarm-Verfahren sind hier stark, weil sie an vielen Stellen gleichzeitig suchen. Ein einzelner Sucher bleibt leicht an einer Lösung hängen, die nur örtlich gut aussieht. Fachleute nennen das ein lokales Optimum: ein Hügel, von dem aus es in alle Richtungen abwärts geht, obwohl weiter weg ein ganzes Gebirge steht. Ein Schwarm hat immer auch Mitglieder, die woanders unterwegs sind. Dadurch ist die Chance größer, das Gebirge überhaupt zu bemerken.
Dazu kommt ein praktischer Vorteil: Die Rechnungen der einzelnen Schwarmmitglieder hängen kaum voneinander ab. Man kann sie also auf viele Prozessoren gleichzeitig verteilen. Das passt gut zu moderner Hardware, die ohnehin auf Parallelarbeit ausgelegt ist.
Duftspuren und Anziehungskraft
Die bekannteste Variante ist die Partikelschwarmoptimierung. Jeder Sucher, hier Partikel genannt, ist ein Vorschlag für eine Lösung — etwa eine bestimmte Einstellung einer Maschine. Jedes Partikel merkt sich seinen eigenen bisher besten Fund. Zusätzlich kennt es den besten Fund des ganzen Schwarms. In jedem Rechenschritt bewegt es sich ein Stück in Richtung dieser beiden Punkte, plus eine kleine Zufallsabweichung. Der Zufall verhindert, dass alle sofort am selben Punkt kleben.
Eine zweite Familie orientiert sich an Ameisen. Echte Ameisen hinterlassen auf ihrem Weg einen Duftstoff, dem andere folgen. Kurze Wege werden öfter gelaufen, also stärker markiert, also noch öfter gewählt. Der Algorithmus baut das nach: Gute Teilstrecken bekommen einen höheren Zahlenwert, der die Wahrscheinlichkeit erhöht, dass sie wieder gewählt werden. Dieser Wert verdunstet mit der Zeit, damit alte und schlechte Wege wieder verschwinden.
Beide Verfahren teilen dieselbe Grundspannung. Zu viel Austausch, und der Schwarm klumpt zu früh an einer mittelmäßigen Stelle zusammen. Zu wenig Austausch, und die Sucher irren ohne Fortschritt umher. Die Kunst liegt darin, diese Balance über die Einstellungen zu treffen. Eine Garantie, dass am Ende die beste Lösung steht, gibt es dabei nie.
Von Lieferrouten bis zu Drohnenshows
Logistikunternehmen setzen solche Verfahren ein, um Touren und Lagerplätze zu planen. Netzbetreiber nutzen sie, um Funkmasten und Kabelwege günstig anzuordnen. In der Industrie helfen sie, Produktionspläne zu erstellen, wenn Maschinen, Schichten und Termine gleichzeitig passen müssen. Auch beim Einstellen von KI-Modellen tauchen sie auf, wenn viele Stellschrauben gleichzeitig optimiert werden sollen.
Sichtbar wird das Prinzip bei Drohnenshows am Nachthimmel. Dort sind die Flugbahnen zwar meist fest vorgegeben, doch die Forschung an selbstorganisierenden Drohnenschwärmen arbeitet genau mit diesen Regeln. Ähnliches gilt für Roboter, die gemeinsam ein Gebiet absuchen, ohne dass eine Zentrale jeden Schritt vorgibt.
Ein häufiger Irrtum ist, dass ein Schwarm-Algorithmus etwas mit neuronalen Netzen zu tun hat. Beide sind von der Natur inspiriert, arbeiten aber völlig verschieden. Ein neuronales Netz lernt aus Daten, ein Schwarm-Algorithmus sucht in einem Raum von Möglichkeiten. In News-Meldungen taucht der Begriff deshalb oft im Zusammenhang mit Optimierung, Logistik und Robotik auf — seltener bei Chatbots.