Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
Stigmergie, das Doppelbrückenexperiment, Dorigos Ameisensystem, die Rolle der Parameter α, β und ρ und verbesserte Varianten — auf einer Rundreise durch die Regionalhauptstädte und auf 60 Städten, im Vergleich mit der simulierten Abkühlung.
Serie KI-Grundlagen Teil 29 von 52
- Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
- Eine kurze Geschichte der künstlichen Intelligenz: von Turing bis zu Sprachmodellen
- Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
- Mathematische Notation lesen: Symbole, Indizes, Summen und Quantoren
- Mengen und Relationen: der Baukasten, aus dem Definitionen in der KI bestehen
- Funktionen und Abbildungen: warum jedes KI-Modell eine Funktion ist
- Logik und Beweise: die Regeln, nach denen KI schließt
- Graphen und Bäume: die Struktur, auf der Suche und neuronale Netze stehen
- Lineare Algebra für maschinelles Lernen: Vektoren, Matrizen und warum KI vor allem multipliziert
- Ableitungen, Gradient und Kettenregel: wie ein Modell herausfindet, in welche Richtung es lernen soll
- Gradientenabstieg: wie ein Modell lernt
- Was ist Wahrscheinlichkeit: vom Würfelwurf zu den Kolmogorow-Axiomen
- Bedingte Wahrscheinlichkeit und der Satz von Bayes: wie du deine Einschätzung änderst, wenn du etwas Neues erfährst
- Zufallsvariable und Verteilungsfunktion: eine Funktion, die alles über eine Verteilung verrät
- Dichtefunktion und Wahrscheinlichkeitsfunktion: warum eine stetige Zufallsvariable in einem Punkt die Wahrscheinlichkeit null hat
- Erwartungswert, Varianz und Kovarianz: wo eine Verteilung liegt, wie breit sie ist und was womit zusammenhängt
- Überblick über Wahrscheinlichkeitsverteilungen: Bernoulli-, Binomial-, Poisson-, Gleich-, Normal- und Exponentialverteilung
- Gesetz der großen Zahlen und zentraler Grenzwertsatz: Warum sich Durchschnitte so vorhersagbar verhalten
- Statistik und Parameterschätzung: Maximum Likelihood, MAP und Konfidenzintervalle
- Informationstheorie: Entropie, Kreuzentropie und KL-Divergenz — woher Verlustfunktionen kommen
- Zustandsraumsuche: BFS, DFS, UCS und A* mit Animationen
- Spiele und Gegner: Minimax, Alpha-Beta-Suche und Monte Carlo Tree Search
- Constraint Satisfaction: Backtracking, Constraint-Propagierung und AC-3 an Sudoku und einer Karte tschechischer Regionen
- Logik und wissensbasierte Systeme: Vorwärts- und Rückwärtsverkettung, Resolution und Expertensysteme
- Planung: STRIPS, die Blockwelt, Heuristiken aus Relaxierung und Planung in KI-Agenten
- Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
- Genetische Algorithmen: Population, Kreuzung, Mutation und Selektion am Rucksack für die Wanderung
- Evolutionsstrategien und genetische Programmierung: von der 1/5-Erfolgsregel zum Keplerschen Gesetz
- Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
- Partikelschwarmoptimierung: Trägheit, eigene Erfahrung und die Erfahrung des Schwarms
- Neuroevolution: Evolution der Gewichte und der Gestalt neuronaler Netze und der Algorithmus NEAT
- Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt
- Fuzzy-Logik und Wahrscheinlichkeit: warum „etwas warm“ nicht „wahrscheinlich warm“ bedeutet
- Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
- Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen
- Fuzzy-Clustering: der Algorithmus fuzzy c-means und Punkte zwischen den Clustern
- Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen
- Markow-Ketten: Übergangsmatrix, stationäre Verteilung und PageRank
- Hidden-Markov-Modelle: der Viterbi-Algorithmus und das unehrliche Kasino
- Bayessche Netze: warum das Gras nass ist und was das für den Rasensprenger bedeutet
- Der Kalman-Filter: wie man aus ungenauen Messungen schätzt, wo ein Auto ist und wie schnell es fährt
- Arten des maschinellen Lernens: überwacht, unüberwacht, halbüberwacht und mehr
- Prompts, Kontext und RAG: wie man einem Modell die richtigen Informationen gibt
- Variational Autoencoder (VAE): neue Bilder aus einem stetigen latenten Raum
- Generative Adversarial Networks (GAN): der Fälscher gegen den Detektiv
- Diffusionsmodelle: wie aus reinem Rauschen ein Bild wird
- Markow-Entscheidungsprozesse: Zustände, Aktionen, Belohnungen und Bellman-Gleichungen
- Q-Learning und DQN: den Wert von Aktionen lernen, von der Tabelle bis zum neuronalen Netz
- Policy Gradient und PPO: die Strategie direkt lernen
- Wie ein KI-Agent funktioniert: ein Sprachmodell in einer Schleife mit Werkzeugen
- Programmieren mit KI-Agenten: Auftrag, Tests und Kontrolle
- Bewertung und Sicherheit von KI-Systemen: wie man misst und wie man überwacht
Der ganze Lehrplan der Serie 52 von 83 Themen fertig
- Wie eine Kolonie den kürzeren Weg findet, obwohl ihn keine einzelne Ameise kennt.
- Wie das Ameisensystem Rundreisen aus Pheromon und Entfernungen baut und warum Pheromon verdunsten muss.
- Wo Ameisenalgorithmen scheitern und wie verbesserte Varianten und lokale Suche sie retten.
Vorher gut zu wissen: Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
Eine einzelne Ameise hat keine Karte, kann nicht rechnen und sieht kaum ein paar Zentimeter weit. Trotzdem findet die Kolonie zuverlässig den kürzesten Weg vom Nest zur Nahrung. Keine Ameise kennt ihn — er entsteht daraus, wie alle gemeinsam das Gelände markieren. Anfang der Neunzigerjahre bemerkte Marco Dorigo vom Politecnico di Milano, dass sich derselbe Trick auf das Problem des Handlungsreisenden anwenden lässt. So entstand die Ameisenkolonieoptimierung und mit ihr das ganze Gebiet der Schwarmintelligenz.
Der Artikel knüpft an Lokale Suche und simulierte Abkühlung an. Wir lösen dieselbe Aufgabe — eine Rundreise durch die Regionalhauptstädte mit dem Optimum 1 060,4 km —, und so sehen wir, wie sich die Ameisen gegen die simulierte Abkühlung schlagen.
1. Kommunikation über Spuren
Definition — Stigmergie
Eine Gruppe von Individuen (z. B. die Ameisen einer Kolonie) teile eine gemeinsame Umgebung, deren Zustand sich ändern kann. Stigmergie ist eine Art der Koordination dieser Individuen, bei der alle drei Bedingungen gelten:
- ein Individuum verändert durch seine Tätigkeit den Zustand der Umgebung — es hinterlässt darin eine Spur (z. B. Pheromon);
- der veränderte Zustand der Umgebung beeinflusst, was die anderen Individuen oder es selbst später tun;
- die Individuen geben einander Information nicht direkt weiter (durch ein Signal von Individuum zu Individuum), sondern nur über den Zustand der Umgebung.
Stigmergie ist also indirekte Kommunikation über die Umgebung. Den Begriff prägte Pierre-Paul Grassé 1959 bei der Untersuchung des Termitenbaus.
Ameisen sagen sich nichts, sie hinterlassen einander Nachrichten auf dem Boden. Wo sie gehen, legen sie Pheromon ab — eine Duftspur, die mit der Zeit verfliegt. Eine Ameise an einer Gabelung geht mit größerer Wahrscheinlichkeit dorthin, wo die Spur stärker riecht. Wie ein Trampelpfad im Gras: Je mehr Leute ihn gehen, desto deutlicher wird er und desto mehr weitere werden ihn gehen.
2. Das Doppelbrückenexperiment
1989 bauten Goss, Deneubourg und ihre Kollegen Argentinischen Ameisen zwischen Nest und Nahrung zwei Brücken — eine doppelt so lang wie die andere. Nach einer Weile lief der Großteil der Kolonie über die kürzere. Warum? Eine Ameise, die den kurzen Zweig wählt, erreicht die Nahrung früher, und wenn sie zurückkehrt, ist der kurze Zweig an der Nahrung schon markiert. Der kurze Weg wird schneller markiert und beginnt zu gewinnen.
Definition — Modell der Zweigwahl (Deneubourg u. a.)
Zwischen Nest und Nahrung mögen zwei Zweige führen, ein kurzer und ein langer. Seien A ≥ 0 und B ≥ 0 die Pheromonmengen am Anfang des kurzen und des langen Zweigs in dem Moment, in dem eine Ameise an die Gabelung kommt, und seien k > 0 und h > 0 Parameter des Modells. Die Ameise wählt den kurzen Zweig mit der Wahrscheinlichkeit
P(A, B) = (k + A)h/(k + A)h + (k + B)h
und den langen Zweig mit der Wahrscheinlichkeit 1 − P(A, B). Die Ameise legt eine Einheit Pheromon an den Anfang des gewählten Zweigs und eine weitere an sein Ende, wenn sie dort ankommt.
Der Parameter k bestimmt also, wie stark eine Ameise auf eine schwache Spur reagiert (je größer k, desto weniger), und h > 1 verstärkt Unterschiede zwischen den Zweigen; bei A = B ist P = 1/2.
Solange wenig Pheromon da ist (weniger als k), wählen die Ameisen fast zufällig. Je mehr es wird, desto mehr entscheidet es. Der Exponent h = 2 bewirkt, dass doppelt so viel Pheromon die vierfache Anziehung bedeutet — ein kleiner Vorteil bläht sich schnell zu einer klaren Überlegenheit auf.
P = (k + A)h/(k + A)h + (k + B)h
- P
- die Wahrscheinlichkeit, dass die nächste Ameise den kurzen Zweig nimmt — die Ameise entscheidet nicht sicher, nur mit einem Gewicht; der lange Zweig bekommt den Rest 1 − P
- A
- Pheromon auf dem kurzen Zweig — das Einzige, was die Ameise über den Weg „weiß“; je mehr davon dort liegt, desto stärker zieht der kurze Zweig
- B
- Pheromon auf dem langen Zweig — im Nenner konkurriert es mit dem kurzen, also entscheidet das Verhältnis der Spuren, nicht ihre absolute Menge
- k
- eine „Aufmerksamkeitsschwelle“ — wird zu beiden Zweigen gleich addiert, sodass die ersten paar Pheromonmoleküle das Verhältnis kaum ändern; ohne sie würde die erste Ameise über die ganze Kolonie entscheiden
- h
- der Verstärker — eine Potenz größer als 1 übertreibt den Unterschied; gerade sie macht aus einem kleinen zufälligen Vorteil eine positive Rückkopplung
Beispiel — wie k = 30 und h = 2 entscheiden
Auf dem kurzen Zweig liegen A = 20, auf dem langen B = 10 Einheiten Pheromon:
P = (30 + 20)2/(30 + 20)2 + (30 + 10)2 = 2 500/2 500 + 1 600 = 2 500/4 100 ≈ 0,610
(Farben nach der Formel oben.)
- Gleiche Spuren (A = B, etwa beide null): P = 0,500 — reiner Zufall.
- Fünf Einheiten gegen null: P = (30 + 5)2/(30 + 5)2 + (30 + 0)2 = 352/352 + 302 ≈ 0,576 — eine kleine Spur entscheidet kaum etwas, das ist das Werk von k.
- A = 60, B = 10: P = 8 100/8 100 + 1 600 ≈ 0,835 — schon eine klare Überlegenheit.
- Ohne Verstärkung (h = 1) ergäbe sich bei A = 20, B = 10 nur 50/90 ≈ 0,556 statt 0,610.
Eine Simulation des Modells (k = 30, h = 2, zehn Ameisen pro Schritt, kurzer Zweig 5 Schritte, langer 10) zeigt den Pheromonanteil auf dem kurzen Zweig bei acht Kolonien:
Sieben Kolonien pendelten sich auf dem kurzen Zweig ein, eine auf dem langen: Die ersten paar Ameisen wählten zufällig den langen Zweig, und die positive Rückkopplung hat ihn „verriegelt“. Von hundert Kolonien endeten 85 auf dem kurzen Zweig und 9 auf dem langen. Sind beide Zweige gleich lang, teilen sich die Kolonien ungefähr zur Hälfte auf (46 und 42) — die Symmetrie bricht der Zufall. Die Länge des Weges verschiebt also das Ergebnis, garantiert es aber nicht. Dieselbe Schwäche werden wir beim Algorithmus sehen.
3. Das Ameisensystem
Dorigos Ameisensystem (Ant System, 1992) schickt virtuelle Ameisen über einen Graphen von Städten. Jede baut eine vollständige Rundreise und legt, je nachdem wie kurz sie ist, Pheromon auf deren Kanten.
Definition — Rundreise und ihre Länge
Sei n ∈ ℕ, n ≥ 3, die Anzahl der Städte; wir bezeichnen die Städte mit den Zahlen 1, …, n, und für alle i, j ∈ {1, …, n}, i ≠ j, sei eine Entfernung dij ∈ ℝ gegeben mit dij = dji > 0.
- Eine Rundreise ist ein geordnetes n-Tupel π = (π1, …, πn), in dem jede Stadt genau einmal vorkommt, d. h. {π1, …, πn} = {1, …, n} (π ist eine Permutation der Städte). Zur kürzeren Schreibweise setzen wir πn+1 = π1.
- Die Länge der Rundreise π ist die Zahl L(π) = ∑k=1n dπkπk+1 = dπ1π2 + dπ2π3 + … + dπnπ1; der letzte Term bringt den Reisenden nach Hause zurück.
- Eine Kante (i, j) gehört zur Rundreise π genau dann, wenn es ein k ∈ {1, …, n} gibt mit {πk, πk+1} = {i, j}.
- Das Problem des Handlungsreisenden ist die Aufgabe, eine Rundreise π* zu finden, sodass L(π*) ≤ L(π) für jede Rundreise π.
Eine Rundreise durchläuft also jede Stadt genau einmal und kehrt zur Ausgangsstadt zurück; eine Kante gehört zu ihr genau dann, wenn ihre beiden Städte darin direkt aufeinander folgen.
Definition — Übergangsregel
Gegeben seien die Städte 1, …, n mit Entfernungen dij > 0 (siehe die Definition der Rundreise oben), auf jeder Kante (i, j) Pheromon τij > 0 und Parameter α ≥ 0, β ≥ 0. Die Sichtbarkeit der Kante (i, j) ist die Zahl
ηij = 1/dij.
Eine Ameise stehe in der Stadt i, und Ni ⊆ {1, …, n} sei die nichtleere Menge der Städte, die sie auf ihrer Rundreise noch nicht besucht hat. Die Ameise geht in die Stadt j mit der Wahrscheinlichkeit
pij = τijα · ηijβ/∑l ∈ Ni τilα · ηilβ für j ∈ Ni, pij = 0 für j ∉ Ni.
Die Ameise wählt also nur unter den unbesuchten Städten, und zwar mit einem Gewicht proportional zum Produkt aus der Spur τijα und der Sichtbarkeit ηijβ (nahe Städte sind verlockender); die Parameter α und β gewichten die Spur gegen die Entfernung. Die Wahrscheinlichkeiten pij über j ∈ Ni haben die Summe 1.
Eine Ameise entscheidet nach zwei Dingen: wie viele Kameradinnen hier entlanggegangen sind (Pheromon) und wie weit es ist (Sichtbarkeit). Sie wählt nie sicher — sie bevorzugt nur manche Möglichkeiten. Dadurch baut jede Ameise eine etwas andere Rundreise.
pij = τijα · ηijβ/∑l ∈ Ni τilα · ηilβ
- pij
- die Wahrscheinlichkeit eines Schritts von i nach j — wir losen, statt das Beste zu nehmen, damit die Kolonie immer auch andere Rundreisen ausprobiert
- τijα
- das Gedächtnis der Kolonie — Pheromon trägt die Erfahrung früherer Ameisen; der Exponent α sagt, wie sehr man ihr traut (α = 0 schaltet sie ganz ab)
- ηijβ
- Gier — η = 1/d bevorzugt nahe Städte; ein Rat, den wir gratis gleich ab der ersten Iteration haben, wenn das Pheromon noch nichts weiß
- ∑ … über Ni
- die Summe der Gewichte aller noch unbesuchten Städte — durch die Division werden aus Gewichten Wahrscheinlichkeiten mit Summe 1; besuchte Städte sind nicht darin, also kehrt die Ameise nicht zu ihnen zurück
Beispiel — eine Entscheidung einer Ameise
Eine Ameise steht in der Stadt i und hat noch drei Städte übrig: in 50, 100 und 150 km Entfernung, mit Pheromon τ = 1, 3 und 2. Die Konstante in der Sichtbarkeit kürzt sich im Bruch weg, rechnen wir also mit η = 100/d, also 2, 1 und 2/3. Mit α = 1 und β = 3 (Farben nach der Formel oben):
- Gewichte τα · ηβ: 1 · 23 = 8,000, 3 · 13 = 3,000, 2 · (2/3)3 ≈ 0,593;
- ihre Summe 11,593;
- Wahrscheinlichkeiten p = 8,000/11,593 ≈ 0,690, 3,000/11,593 ≈ 0,259 und 0,593/11,593 ≈ 0,051.
Die nächstgelegene Stadt gewinnt, obwohl sie am wenigsten Pheromon hat. Mit β = 1 ergäbe sich 0,316, 0,474 und 0,211 — das Pheromon führt. Und mit β = 0 entscheidet nur die Spur: 0,167, 0,500 und 0,333 (Verhältnis 1 : 3 : 2).
Definition — Pheromon-Aktualisierung
Sei ρ ∈ (0, 1) die Verdunstungsrate und Q > 0 eine Konstante. In einer Iteration mögen M ≥ 1 Ameisen die Rundreisen π(1), …, π(M) gebaut haben (Rundreise m ist π(m)) mit den Längen Lm = L(π(m)), m = 1, …, M. Nach der Iteration wird das Pheromon auf jeder Kante (i, j) ersetzt durch
τij ← (1 − ρ) · τij + ∑m : (i, j) ∈ Rundreise m Q/Lm,
wobei über alle m ∈ {1, …, M} summiert wird, für die die Kante (i, j) zur Rundreise π(m) gehört (eine leere Summe ist 0). Das Pheromon verdunstet also überall um den Anteil ρ, und jede Ameise m fügt auf den Kanten ihrer Rundreise die Menge Q/Lm hinzu, umgekehrt proportional zur Länge der Rundreise.
Kurze Rundreisen hinterlassen eine stärkere Spur, sodass Kanten, die in ihnen oft vorkommen, allmählich stärker werden. Verdunstung ist Vergessen: Eine Spur, die niemand erneuert, verschwindet. Ohne sie würde die Kolonie für immer an dem festhalten, was sie in den ersten Iterationen entdeckt hat.
τij ← (1 − ρ) · τij + ∑m : (i, j) ∈ Rundreise m Q/Lm
- τij links
- das neue Pheromon auf der Kante — das, wonach sich die Ameisen der nächsten Iteration richten werden
- (1 − ρ)
- Verdunstung — jede Iteration nimmt jeder Spur denselben Anteil ρ weg; alte Erfahrung verblasst so geometrisch, und die Kolonie kann umlernen
- τij rechts
- das bisherige Pheromon — das Gedächtnis wird nur korrigiert, man fängt nicht bei null an
- ∑m
- Summe über die Ameisen, die die Kante benutzt haben — jede Ameise fügt nur auf den Kanten ihrer Rundreise hinzu; eine Kante, die mehr Ameisen benutzen, bekommt mehr — hier wird die „Abstimmung“ der Kolonie ausgezählt
- Q/Lm
- eine Belohnung umgekehrt proportional zur Länge der Rundreise — kürzere Rundreise = stärkere Spur; die Konstante Q legt nur den Maßstab fest
Beispiel — eine Aktualisierung
Eine Kante hat τ = 1, ρ = 0,3, Q = 1 000, und zwei Ameisen mit 1 100 und 1 300 km langen Rundreisen sind über sie gelaufen (Farben nach der Formel oben):
τ ← 0,7 · 1 + 1 000/1 100 + 1 000/1 300 ≈ 0,700 + 0,909 + 0,769 = 2,378
Eine Kante, die niemand benutzt hat, hat nach derselben Iteration nur 0,7. Die Ameise mit der kürzeren Rundreise hat mehr hinzugefügt (0,909 gegenüber 0,769).
import random
def postav_okruh(start, n, tau, d, alfa=1, beta=3):
okruh, volna = [start], set(range(n)) - {start}
while volna:
i = okruh[-1]
kandidati = list(volna)
vahy = [tau[i][j] ** alfa * (1 / d[i][j]) ** beta for j in kandidati]
j = random.choices(kandidati, weights=vahy)[0]
okruh.append(j)
volna.remove(j)
return okruh
def aktualizuj(tau, okruhy, delka, rho=0.3, Q=1.0):
for radek in tau:
for j in range(len(radek)):
radek[j] *= 1 - rho # Verdunstung
for okruh in okruhy:
L = delka(okruh)
for a, b in zip(okruh, okruh[1:] + okruh[:1]):
tau[a][b] += Q / L # kürzere Rundreise, stärkere Spur
tau[b][a] += Q / L
Das ganze Ameisensystem wechselt dann nur zwischen dem Bau der Rundreisen und der Aktualisierung ab und merkt sich die beste Rundreise, die je jemand gebaut hat:
def mravenci_system(n, d, mravencu, iteraci, tau0):
tau = [[tau0] * n for _ in range(n)] # am Anfang überall gleich
nejlepsi = None
for it in range(iteraci):
okruhy = [postav_okruh(m % n, n, tau, d) for m in range(mravencu)]
aktualizuj(tau, okruhy, delka) # Verdunstung + neue Spur
kandidat = min(okruhy, key=delka)
if nejlepsi is None or delka(kandidat) < delka(nejlepsi):
nejlepsi = kandidat
return nejlepsi
4. Ameisen auf den Regionalhauptstädten
Lassen wir 13 Ameisen (aus jeder Stadt eine) 100 Iterationen lang laufen, mit α = 1, β = 3 und ρ = 0,3. Die Karte zeigt das Pheromon auf den Kanten nach der 1., 5., 20. und 100. Iteration — je dicker die Linie, desto mehr Pheromon:
In der ersten Iteration ist die Spur fast überall verteilt, und die beste Rundreise misst 1 292,6 km. Schon in der fünften Iteration findet eine der Ameisen das Optimum von 1 060,4 km. Das Pheromon konzentriert sich dann auf die Kanten guter Rundreisen — schwache Linien verschwinden, starke bleiben —, und die durchschnittliche Ameise baut eine Rundreise von etwa 1 250 km. Die Kolonie konvergiert nicht vollständig, sie probiert immer ein wenig.
Verlauf des Laufs nach Iterationen — die bisher beste gefundene Rundreise und die durchschnittliche Rundreise der dreizehn Ameisen in der jeweiligen Iteration:
| Iteration | Beste bisher | Durchschnitt der Iteration |
|---|---|---|
| 1 | 1 292,6 km | 1 477,7 km |
| 2 | 1 208,6 km | 1 424,0 km |
| 3 | 1 208,6 km | 1 450,0 km |
| 4 | 1 097,7 km | 1 376,7 km |
| 5 | 1 060,4 km | 1 330,2 km |
| 10 | 1 060,4 km | 1 267,7 km |
| 100 | 1 060,4 km | 1 247,2 km |
Die beste Rundreise verbessert sich sprunghaft (die dritte Iteration brachte nichts Neues, die vierte nahm 111 km weg), der Durchschnitt sinkt langsamer und ungleichmäßig: Die Ameisen losen, also bauen manche auch in einer guten Iteration schwache Rundreisen. Der Unterschied zwischen Durchschnitt und Bester ist genau die Erkundung, die die Kolonie vor dem völligen Erstarren bewahrt.
Nicht immer geht es so gut aus. Von zwanzig Läufen mit verschiedenen Seeds fanden nur 7 das Optimum, der Durchschnitt lag bei 1 073,9 km und das schlechteste Ergebnis bei 1 083,0 km. Die simulierte Abkühlung war auf derselben Aufgabe mit 98 von 100 zuverlässiger. Zum Vergleich: Der gierige „nächste Nachbar“, der immer in die nächstgelegene unbesuchte Stadt geht, liefert je nach Start 1 120 bis 1 336 km. Die Ameisen sind deutlich besser, aber das einfache Ameisensystem allein ist kein Champion — deshalb entstanden seine verbesserten Varianten.
5. Wozu α, β und ρ da sind
Auf dreizehn Städten lässt sich auch ohne Pheromon viel lösen. Den Unterschied zeigt erst eine größere Aufgabe — dieselben 60 zufälligen Städte wie im Artikel über simulierte Abkühlung, 30 Ameisen, 150 Iterationen, Durchschnitt aus drei Läufen:
| Einstellung | Durchschnittliche Länge | Beste von drei |
|---|---|---|
| α = 1, β = 3, ρ = 0,3 | 2 262,7 km | 2 194,0 km |
| α = 0 (ohne Pheromon) | 3 049,8 km | 3 037,9 km |
| β = 0 (ohne Entfernungen) | 8 648,5 km | 8 422,4 km |
| ρ = 0,02 (Pheromon verdunstet kaum) | 2 374,5 km | 2 370,4 km |
| ρ = 0,9 (Pheromon verdunstet fast sofort) | 2 274,1 km | 2 242,4 km |
- Ohne Pheromon (α = 0) sind die Ameisen nur zufällige gierige Reisende und lernen nichts — Rundreisen um ein Drittel länger.
- Ohne Entfernungen (β = 0) hat die Kolonie nichts, wovon sie sich abstoßen kann: Die ersten Rundreisen sind völlig zufällig, und das Pheromon aus ihnen führt zu weiteren zufälligen.
- Langsame Verdunstung hält die Spuren der ersten, schlechten Rundreisen zu lange, und die Kolonie lernt langsam. Schnelle Verdunstung vergisst dagegen auch das Gute.
Wie lange sich die Kolonie erinnert, lässt sich genau ausrechnen. Es genügt, eine einzige Kante zu verfolgen.
Satz — stationäres Pheromon und Halbwertszeit der Verdunstung
Seien ρ ∈ (0, 1), Δ ≥ 0 und τ0 ∈ ℝ. Die Folge (τt)t = 0, 1, 2, … (das Pheromon einer Kante nach t Iterationen, die in jeder Iteration denselben Zuwachs Δ erhält) erfülle für jedes t ≥ 0
τt+1 = (1 − ρ) τt + Δ.
Dann gilt
- für jedes t ≥ 0 ist τt = Δ/ρ + (1 − ρ)t (τ0 − Δ/ρ),
- limt → ∞ τt = Δ/ρ,
- ist Δ = 0 und τ0 > 0, so ist τt = (1 − ρ)t τ0, und für reelles t ≥ 0 gilt (1 − ρ)t τ0 = τ0/2 genau dann, wenn t = t½, wobei t½ = ln 2/−ln(1 − ρ) die Halbwertszeit der Verdunstung ist (im Allgemeinen keine ganze Zahl).
Beweis. Bezeichne et = τt − Δ/ρ die Abweichung von Δ/ρ. Da (1 − ρ) · Δ/ρ + Δ = Δ/ρ, erhalten wir durch Abziehen von Δ/ρ auf beiden Seiten der Rekursion et+1 = (1 − ρ) et und durch Induktion et = (1 − ρ)t e0; das ist Punkt 1. Da 1 − ρ ∈ (0, 1), gilt (1 − ρ)t → 0 und damit et → 0; das ist Punkt 2. Für Δ = 0 ist τt = (1 − ρ)t τ0, also τt = τ0/2 genau dann, wenn (1 − ρ)t = 1/2, d. h. t · ln(1 − ρ) = −ln 2; da ln(1 − ρ) < 0, ist die einzige Lösung t = ln 2/−ln(1 − ρ). ∎
τ* = Δ/ρ
- τ*
- das Niveau, auf dem sich das Pheromon der Kante einpendelt — Hinzufügen und Verdunstung sind im Gleichgewicht
- Δ
- wie viel die Kante pro Iteration bekommt — Kanten aus häufigen und kurzen Rundreisen haben ein großes Δ und deshalb auch ein hohes Niveau
- ρ
- im Nenner: Langsame Verdunstung lässt die Spuren hoch anwachsen, und Unterschiede zwischen Kanten gleichen sich lange aus; schnelle hält sie niedrig und nur von den letzten paar Iterationen abhängig
Zwei Kanten mit τ0 = 1 und ρ = 0,3: Die eine bekommt in jeder Iteration Δ = 1, die andere benutzt niemand.
| t | 0 | 1 | 2 | 3 | 5 | 10 |
|---|---|---|---|---|---|---|
| Δ = 1 | 1,00 | 1,70 | 2,19 | 2,53 | 2,94 | 3,27 |
| Δ = 0 | 1,00 | 0,70 | 0,49 | 0,34 | 0,17 | 0,03 |
Die benutzte Kante nähert sich τ* = 1/0,3 ≈ 3,33 (Farben nach der Formel oben), die unbenutzte fällt in zehn Iterationen unter drei Hundertstel. Die Halbwertszeit der Verdunstung für die Zeilen der Tabelle oben: Mit ρ = 0,3 sind es 1,94 Iterationen, mit ρ = 0,02 ganze 34,31 Iterationen — die Spuren der ersten zufälligen Rundreisen herrschen also noch Dutzende Iterationen lang — und mit ρ = 0,9 nur 0,30 Iterationen, sodass sich die Kolonie praktisch nur an die letzte Runde erinnert.
Die beste Einstellung ergab 2 194 bis 2 314 km — vergleichbar mit der simulierten Abkühlung aus dem vorigen Artikel, die auf denselben Städten zwischen 2 210 und 2 270 km endete.
6. Bessere Ameisen
- Die Elitestrategie legt zusätzliches Pheromon auf die bisher beste Rundreise, damit sie nicht verloren geht.
- MAX–MIN Ant System (Stützle und Hoos, 2000) lässt nur die beste Ameise Pheromon legen und hält τ zwischen einer unteren und einer oberen Schranke. Die untere Schranke garantiert, dass keine Kante ganz verschwindet, und so erstarrt die Kolonie nicht vorzeitig — wie jene, die im Brückenexperiment auf dem langen Zweig endete.
- Ant Colony System (Dorigo und Gambardella, 1997) wählt mit einer gewissen Wahrscheinlichkeit direkt die beste Kante und nimmt Pheromon schon während des Baus der Rundreise weg, damit die anderen Ameisen es woanders versuchen.
- Lokale Suche. In der Praxis wird jede von einer Ameise gebaute Rundreise noch mit 2-opt-Zügen aus dem Artikel über simulierte Abkühlung nachgeschliffen. Die Ameisen finden ein gutes Gebiet, der Bergsteigeralgorithmus verfeinert es — diese Kombination gehörte in den Neunzigerjahren zu den besten Methoden für den Handlungsreisenden.
Definition — Elitestrategie und MAX–MIN Ant System
Seien ρ ∈ (0, 1) und Q > 0 wie in der Pheromon-Aktualisierung des Ameisensystems, und sei πbest die beste seit Beginn des Laufs gefundene Rundreise mit der Länge Lbest = L(πbest).
- Die Elitestrategie mit dem Parameter e ∈ ℕ (Anzahl der „Eliteameisen“) führt die übliche Aktualisierung des Ameisensystems durch und fügt dann auf jeder Kante (i, j), die zur Rundreise πbest gehört, noch e · Q/Lbest hinzu; die übrigen Kanten betrifft dieser Schritt nicht.
- Das MAX–MIN Ant System mit den Schranken 0 < τmin < τmax legt Pheromon nur nach der einen besten Rundreise πbest (je nach Variante der besten der jeweiligen Iteration oder der besten seit Beginn des Laufs) und beschneidet das Ergebnis auf das Intervall [τmin, τmax]: für jede Kante (i, j) τij ← min(τmax, max(τmin, (1 − ρ) τij + Δij)), wobei Δij = 1/Lbest, falls (i, j) zu πbest gehört, und Δij = 0 sonst.
Die Elitestrategie verstärkt also die bisher beste Rundreise zusätzlich, das MAX–MIN Ant System erlaubt dagegen nur sie zu verstärken und lässt keine Kante unter τmin fallen oder über τmax steigen.
Die obere Schranke wählen Stützle und Hoos als τmax = 1/ρ Lbest — genau der stationäre Wert Δ/ρ aus dem Satz oben für eine Kante, die jedes Mal in der besten Rundreise liegt. Die untere Schranke ist ein kleiner Bruchteil der oberen; außerdem wird das Pheromon am Anfang auf τmax gesetzt, damit die ersten Iterationen möglichst breit erkunden.
Definition — Regeln des Ant Colony System
Gegeben seien Städte, Entfernungen, Pheromon τij > 0 und Sichtbarkeit ηij = 1/dij wie in der Übergangsregel oben sowie Parameter q0 ∈ [0, 1], β ≥ 0, ρ ∈ (0, 1), ξ ∈ (0, 1) und ein Anfangswert des Pheromons τ0 > 0. Das Ant Colony System unterscheidet sich vom Ameisensystem durch drei Regeln:
- Pseudozufällige proportionale Regel. Eine Ameise in der Stadt i mit nichtleerer Menge unbesuchter Städte Ni zieht q gleichverteilt aus [0, 1), unabhängig von früheren Ziehungen. Ist q ≤ q0, geht sie in die Stadt j = arg maxl ∈ Ni τil · ηilβ; ist q > q0, wählt sie j ∈ Ni per Los nach der Übergangsregel des Ameisensystems mit α = 1.
- Lokale Aktualisierung. Gleich nachdem die Ameise über die Kante (i, j) gegangen ist, wird τij ← (1 − ξ) τij + ξ τ0.
- Globale Aktualisierung. Sei πbest die beste bisher gefundene Rundreise und Lbest ihre Länge. Nach jeder Iteration wird nur für die Kanten (i, j), die zu πbest gehören, τij ← (1 − ρ) τij + ρ/Lbest ausgeführt; das Pheromon der übrigen Kanten ändert sich nicht.
Mit der Wahrscheinlichkeit q0 nimmt die Ameise also direkt die beste Kante; eine benutzte Kante schwächt sich nach Regel 2 ein wenig in Richtung des Anfangswerts τ0 ab, sodass weitere Ameisen es woanders versuchen, und Verdunstung wie Verstärkung betreffen nur die beste Rundreise.
Dorigo und Gambardella (1997) verwenden im Originalartikel q0 = 0,9, β = 2 und ρ = ξ = 0,1 — in neun von zehn Schritten nimmt die Ameise also die beste Kante und nur im zehnten probiert sie.
7. Wo Ameisen arbeiten
- Routing in Netzen. Der Algorithmus AntNet (Di Caro und Dorigo, 1998) schickt kleine Ameisenpakete durchs Netz, die Verzögerungen messen und die Routingtabellen aktualisieren. Das Netz passt sich so laufend an Überlastung an.
- Tourenplanung und Ablaufpläne. Warenauslieferung, Müllabfuhr oder die Reihenfolge von Aufträgen in der Fertigung — Aufgaben, die mit dem Handlungsreisenden verwandt sind und bei denen Ameisenalgorithmen zusammen mit lokaler Suche eingesetzt werden.
- Schwarmintelligenz. Eine Ameisenkolonie ist eines der Beispiele dafür, wie aus einfachen Individuen und lokalen Regeln ein kluges Verhalten des Ganzen entsteht. Ein weiteres, der Partikelschwarm, ist Thema des nächsten Artikels.
8. Zusammenfassung
- Ameisen kommunizieren über Spuren in der Umgebung (Stigmergie): Ein kürzerer Weg wird schneller markiert, und positive Rückkopplung verstärkt ihn.
- Im Doppelbrückenmodell pendeln sich 85 von 100 Kolonien auf dem kurzen Zweig ein — der Zufall kann aber auch den langen verriegeln.
- Das Ameisensystem wählt die nächste Stadt nach dem Pheromon τα und der Entfernung ηβ; Pheromon verdunstet mit der Rate ρ, und kurze Rundreisen fügen mehr davon hinzu.
- Auf den Regionalhauptstädten fand es das Optimum, aber nur in 7 von 20 Läufen; auf 60 Städten schnitt es vergleichbar mit der simulierten Abkühlung ab. Ohne Pheromon wie ohne Entfernungen deutlich schlechter.
- Die in der Praxis genutzten Varianten (MAX–MIN, ACS) verhindern vorzeitiges Erstarren und kombinieren Ameisen mit lokaler Suche.
Möchtest du es selbst ausprobieren? Lass einen KI-Agenten eine Simulation der Doppelbrücke schreiben, und probier aus, was passiert, wenn du den kurzen Zweig mitten im Versuch „schließt“ — schafft es die Kolonie, zurück auf den langen zu wechseln?
Siehst du das anders? Schreib an support@coden-app.com.