Ameis

Gestelltes Problem
Schwarmintelligenz verstehe ich so, dass ein Erfolgsrezept darin besteht, das nachzumachen, was erfolgreiche Individuen getan haben. Damit partizipiert man an von anderen gemachter Erfahrung. Ein Teilbereich ist dabei die Optimierung von Wegen, wie finden z.B. Ameisen den kürzesten Weg zur Futterquelle und zurück? Sie verwenden Pheromone, mit denen sie einen Weg markieren. Der kürzeste Weg ist der, den die meisten Ameisen benutzen (hier deutet sich eine Rekursion an, die mir noch etwas zu Schaffen macht).
Mein Ansatz unterschied sich vom dem, was ich im Internet gefunden hatte, insoweit als ich versuchte, einen “richtigen” Ameisenhaufen nachzumachen. Dabei sollte es keine vorgegebenen Wege, keine vorgegebene Richtung und auch keine nachträgliche Vergabe von Duftstoffen (Ameise findet Futter und markiert dann den von ihr gegangenen Weg) geben, weil ich das unrealistisch fand.

Algorithmus
Es gibt zwei Pheromone:
“Ich komme vom Haufen, suche Futter.”
“Ich komme vom Futter, suche den Haufen.”
Eine Ameise, die Futter hat, muss sich also in der Richtung bewegen, aus der Ameisen kommen, die Futter suchen, damit also vom Bau losgelaufen sind. Umgekehrt muss eine Ameise, die Futter sucht, sich in die Richtung bewegen, aus der die meisten Ameisen mit Futter zurückkehren. Ich habe drei Typen von Feldern verwendet, Ameisenhaufen (blau), Futter (grün) und Hindernis (grau). Die Ameisen selbst sind schwarze Punkte. Sie geben ihren jeweiligen Duftstoff ab, der Vorrat ist begrenzt, damit kurze Wege entstehen. Wenn eine Ameise einen Bildpunkt verlässt, dann geht sie in die Richtung, aus der die meisten Ameisen mit dem Gegenduft gekommen sind. Dabei ist noch ein gewisses Zufallselement im Spiel. Die Düfte verfliegen mit der Zeit, damit sich neue Wege bilden können. Im Screenshot sieht man die Situation nach 14260 Durchläufen mit 5000 Ameisen. Sie haben links oben und rechts unten Futter gefunden. Die 219884 Statuswechsel sind die Anzahl der Futterabgabe plus Futteraufnahme. Ameisen auf Futtersuche hinterlassen ein gelbes Pheromon, Rückkehrer eins der Farbe Lila. Die Wege sind noch nicht so optimal, wie ich mirs wünschen würde, aber trotzdem machen die Ameisen ihren Job, holen Futter und bringen es zum Haufen zurück, ein nettes Feierabendprojekt.

Screenshot:

Hmja, dann dachte ich mir, eigentlich müssten die Ameisen nicht dahin gehen wo die Meisten herkommen, sondern dahin, wo die Erfolgreichsten, also die mit dem kürzesten Weg vom Futter oder Bau herkommen. Ausserdem ist der Weg zurück zum Bau doch eigentlich unveränderlich, weswegen die Rückkehrpheromone nicht verfliegen sollten. Nach diesen Programmänderungen verwandelten sich die Ameisen in noch gefrässigere Biester.

Screenshots: