250 likes | 329 Views
Agents, Hierarchies and Sustainability. Vortrag von und mit André Preußner Nach dem gleichnamigen Paper von Andreas König, Michael Möhring und Klaus G. Troitzsch. Inhalt Agents, Hierarchies and Sustainability 1.1 Die Welt 1.2 Der Zucker 1.3 Die Agenten
E N D
Agents, Hierarchies and Sustainability Vortrag von und mit André Preußner Nach dem gleichnamigen Paper von Andreas König, Michael Möhring und Klaus G. Troitzsch
Inhalt • Agents, Hierarchies and Sustainability • 1.1 Die Welt • 1.2 Der Zucker • 1.3 Die Agenten • 1.4 Die Experimente / Ergebnisse • Eigene Implementation • 2.1 Programmdetails • 2.2 Ergebnisse • 2.3 Vorführung
Die Welt • sugarscape-artige Welt • Gitter aus diskreten Zellen • torusförmig, d.h. grenzen-los • Simulation in diskreten Zeitschritten (runden-basiert)
Der Zucker • Pflanzen dienen als Futter für die Agenten • können auf allen Zellen wachsen • ein gewisser Prozentsatz an Zellen ist aber unfruchtbar • drei Parameter beeinflussen das Wachstum auf einer Zelle: • ein Minimum an Pflanzenmasse, dass auf der Zelle vorhanden sein muss • ein Maximum an Pflanzenmasse, das von der Zelle getragen werden kann • ein Inkrementwert, um den der Energiewert pro Runde erhöht wird (falls das Minimum nicht unterschritten und das Maximum überschritten ist)
Samenverbreitung • eine Zelle kann Samen an Nachbarzellen verteilen • bei fruchtbaren Zellen bleibt er liegen, bei unfruchtbaren wird er gelöscht • zwei Parameter kontrollieren den Samenaustausch: • Spread.probability: globaler Parameter, bestimmt die Wahrscheinlichkeit, mit der Samen auf andere Zellen verbreitet wird • Spread.percentage: Anteil an Pflanzenmasse, die verschickt wird (wird berechnet von Pflanzenmasse - minimale Pflanzenmasse, um das eigene Überleben der Pflanze zu sichern)
Die Agenten • jeder Agent hat: • einen internen Energiespeicher • ein eigenes Erinnerungsvermögen • speichert das Wissen über die Belegung von Zellen mit Nahrung und Agenten • unbekannte Zellen bleiben schwarz • Gedächtnis wird jede Runde aufgefrischt • Sichtbarkeitsradius einstellbar • Informationen können wieder vergessen werden
Bedürfnisse • Überleben: ausreichend Nahrung (Energiewert nicht auf 0 absinken lassen) • Wohlstand: soviel Nahrung wie möglich besitzen (keine obere Grenze) • Neugier: soviel wie möglich über die Welt erfahren • Fortpflanzung: Nachkommen zeugen (wenn der Agent alt genug ist) • Einfluss: andere Agenten koordinieren
Aktionen • Futter sammeln • Nahrung wird nur von der aktuell besetzten Zelle aufgenommen • der Agent nimmt nicht mehr als gatherAmount auf und lässt gatherRest zurück (einstellbare Parameter) • Bewegen • der Agent kann sich auf eine der acht benachbarten Zellen bewegen, falls diese frei ist • ein Untergebener muss die Zelle wählen, die am nächsten an dem Ziel liegt, dass der Koordinator ihm vorgegeben hat
Fortpflanzen und Mutieren • ist ein Agent alt genug (> pubertyAge), kann er Nachkommen erzeugen (asexuell) • er gibt dem Kind einen initialen Betrag an Nahrung (childFood) mit und setzt ihn auf eine leere Zelle in der Nachbarschaft • Attribute des Agenten können mit leichten Modifikationen an die Kinder weitergegeben werden (Mutation); die Modifikation ist eine Zufallszahl aus einem Dreiecksgraphen Wahrscheinlichkeit Attributmodifikation
Koordinieren und Unterordnen • ein einfacher Agent kann sich als (möglicher) Koordinator deklarieren • danach können sich ihm andere Agenten unterordnen • Untergebene teilen ihrem Koordinator mit, was sie sehen • Koordinatoren geben ihren Untergebenen Hinweise, welche Zellen vielversprechend sind • der Nahrungsbedarf eines Koordinators ist höher, als der eines einfachen Agenten oder Untergebenen • Untergebene zahlen ihrem Koordinator Tribut (coordinatorContribution) • ein Untergebener merkt sich, welche Vorteile es ihm bringt, koordiniert zu werden • sowohl Koordinatoren als auch Untergebene können die Beziehung lösen • Ruhen
Bedürfnisbefriedigung • jede Aktion hat Auswirkungen auf bestimmte Bedürfnisse • bei direkter Beeinflussung wird der Befriedigungsgrad über eine spezielle Formel berechnet • besteht kein direkter Zusammenhang zwischen Aktion und Bedürfnis, wird eine Standardformel verwendet • Grad der Befriedigung ist reelle Zahl zwischen 0 und 1
Befriedigung sat(i,j) der Bedürfnisse (j=1...J) durch mögliche Aktionen (i=1...I): • Bedürfnisse sind unterschiedlich gewichtet • die Gesamtbefriedigung für Aktion i ist die gewichtete Summe der einzelnen Befriedigungen sat(i,j) • Berechnung der Wahrscheinlichkeiten für die Aktionen: • die kleinste Summe wird von allen anderen Summen abgezogen • Differenzen werden durch die Summe der Differenzen geteilt • die Aktion mit geringster Wahrscheinlichkeit wird nie ausgewählt, alle anderen mit der errechneten Wahrscheinlichkeit
Die Experimente • laufen in einem 80 x 60 Gitter und starten mit 300 Agenten • langsames Pflanzenwachstum (niedriger Inkrementwert) • Koordination, sobald sie auftaucht, bleibt über lange Zeit stabil • Mutation ist ausgeschaltet
Die Ergebnisse • Durchschnittliches Nahrungsangebot, Überleben und Aussterben • die Variante mit Koordination erweist sich als nachhaltiger • in unkordinierter Variante bleibt Anzahl der Agenten länger hoch, nimmt dann aber schnell bis auf 0 ab Anzahl Agenten t
das Nahrungsangebot ist zu jeder Zeit höher als in der unkoordinierten Variante Futtereinheiten t
in der unkordinierten Variante beuten die Agenten ihre Umwelt doppelt so stark aus (zwischen t = 20 und t = 40) • am Ende ist das Nahrungsangebot in der koordinierten Variante noch ausreichend, während es in der unkoordinierten auf 0 absinkt Futtereinheiten t
Koordinatoren und Untergeordnete • in guten Zeiten sind einfache Agenten besser dran als Koordinatoren oder Untergebene (t = 5.050 und t = 5.650) • in schlechten Zeiten sind Koordinatoren am besten dran Futtereinheiten t
Eigene Implementation • torusförmige Welt aus diskreten Zellen • rundenbasierte Simulation • Pflanzen wachsen stetig nach (kein Mindestwert) • kein Pflanzensamen • Agenten handeln nach Regeln der Form: IF condition THEN action • asexuelle Fortpflanzung • Koordination findet auf Grundlage der Populationskontrolle statt
Verhalten der Simulation kann über verschiedene Parameter beeinflusst werden: • minEnergy: Energiewert, unter dem der Agent auf Futtersuche geht • reproductionThreshold: Energiewert, über dem der Agent sich fortpflanzen darf • energyPerRound: Energie, die der Agent pro Runde verbraucht • energyPerStep: Energie, die der Agent pro Schritt verbraucht • maxLifeTime: Anzahl an Runden, die der Agent lebt (0 = unsterblich) • visualRange: Sichtweite des Agenten • reproductionFraction: Fortpflanzung ist nur erlaubt, wenn max. 1/reproductionFraction der Zellen im Erinnerungsspeicher eines Agenten besetzt sind • Coordination: legt fest, ob Koordination stattfindet oder nicht • energyIncrement: Inkrementwert für das Pflanzenwachstum
Keine Populationskontrolle flach hierarchisch (blau), Anzahl Koordinatoren (rot), Anzahl Untergebene (grau)
Ähnlich starke Ausbeutung der Umwelt flach hierarchisch
Mit Populationskontrolle flach hierarchisch (blau), Anzahl Koordinatoren (rot), Anzahl Untergebene (grau)
Flache Variante weniger nachhaltig als koordinierte flach hierarchisch
Quellen • Agents, Hierarchies and Sustainability Andreas König, Michael Möhring, Klaus G. Troitzsch www.uni-koblenz.de/~kgt/Rostock • Eine Multi-Agenten-Simulationsumgebung zur Untersuchung von Hierarchiebildung und Nachhaltigkeit Diplomarbeit von Andreas König www.koenig-andreas.de
Ende Von André Preußner www.informatik.tu-cottbus.de/~apreussn Vortrag im Rahmen des Seminars Artificial Life Prof. Winfried Kurth Lehrstuhl Grafische Systeme BTU Cottbus