Intelligentes Verhalten kann in einer Gruppe auch dann entstehen, wenn diese nach nur simplen Regeln agiert.

Partikelschwarmoptimierung

Ist ein heuristischer Algorithmus zur Suche nach Lösungen in vieldimensionalen, komplexen Lösungsräumen und ist nicht rein mathematisch fundiert.
Daher kann er auch eingesetzt werden, wenn die Funktion nicht exakt mathematisch definiert werden kann oder ungünstige Eigenschaften besitzt (also z.B. nicht stetig oder differenzierbar ist)

Ablauf

Jeder Partikel (Agent) verfügt über eine eigene Position und Geschwindigkeit. Diese Werte werden iterativ auf Basis der eigenen Erfahrung und der der Gruppe angepasst.

Die Partikel werden zufällig verteilt und aktualisieren ihre Attribute nach folgendem Schema:

Dabei sind:

  • die Geschwindigkeit eines Partikels zum Zeitpunkt
  • die Position eines Partikels zum Zeitpunkt
  • eine Trägheitskonstante die den Einfluss der aktuellen Geschwindigkeit steuert
  • Beschleunigungskoeffizienten für eigene und soziale Komponente
  • Zufallszahlen aus dem Intervall
  • die beste gefundene Position von Partikel
  • die beste gefundene Position aller Partikel

Die Partikel werden also von ihrem eigenen besten Ergebnis und dem global besten Ergebnis angezogen. Durch ihre Zufällige Startposition und Trägheit werden viele Punkte erkundet die in der Nähe der Lösungsräume sind. So wird die nähere Umgebung um gute Werte genauer getestet.
Die Zufallszahlen erhöhen die Diversität innerhalb des Schwarms, sie bestimmen wie sehr sich einzelne Partikel beeinflussen lassen.

Einsatz

Der Algorithmus eignet sich besonders zur Lösungsfindung in komplexen Umgebungen und ist auch in der Lage eine große Anzahl lokaler Minima zu umgehen.
Im Gegensatz zu klassischen Methoden wie dem Gradientenabstieg müssen die Funktionen nicht mathematisch wohldefiniert sein.

Ähnliche Verfahren