The XeriScape Artificial Society Von: Ralf Kopsch Seminar: Artifical Life Inhalt: • Das XeriScape-Modell – Übersicht – Die Agenten – Die Regeln • Die Struktur von DEVS • Realisierung von XeriScape mittels JavaDEVS • Einige Experimente • Quellen Übersicht: • XeriScape ist ein Sugarscape-Modell • Entwickelt von Gordon C. Zaft • Basierend auf Discrete Event System Specification (DEVS) • Implementiert in Java • Es wird die von Neumann-Nachbarschaft benutzt • Die Welt hat die Form eines Torus • Auf einer Zelle können sich mehrere Agenten aufhalten Die vier Arten von Agenten: • Basic Agent – Die Agenten bewegen sich von Zelle zu Zelle und suchen Ressourcen – Sie sind unsterblich, wenn genug Ressourcen vorhanden sind Lebenszyklus: Attribute: look consume move - Name - Sichtweite - Alter - Status - Metabolismusrate - Reichtum Die vier Arten von Agenten: • Finite Agent – Haben eine bestimmte Lebensspanne – Bei ihrer Erzeugung wird das Alter festgelegt, bei dem sie sterben – Zusätzliches Attribut: maximales Alter • Polluting Agent – Ist ein Finite Agent, welcher beim Sammeln und Verzehren von Ressourcen Verschmutzung erzeugt – Er versucht der Verschmutzungen auszuweichen – Zusätzliche Attribute: Verschmutzungsmultiplikator Die vier Arten von Agenten: • Gendered Agent – Ist ein Finite Agent, der ein Geschlecht besitzt – Wenn genug Ressourcen und ein Agent vom anderen Geschlecht in der Nähe Fortpflanzung Lebenszyklus: mate consume look move Zusätzliche Attribute: - Geschlecht - Alter der Geschlechtsreife - Maximales Fortpflanzungsalter - Name von Vater / Mutter - Kinder-Initialbetrag Die Regeln: • Resource Comparison Rule (Vergleich der Ressourcen) – Bestimmt, wie ein Agent die Ressourcen verschiedener Zellen vergleicht – meist nur Vergleich von Werten • Resource Initialization Rule (Ressourceninitialisierung) – Bestimmt das grundlegende Erscheinungsbild – Legt die Anzahl und Verteilung der Ressourcen fest – Bestimmt die Rate, mit der die Ressourcen nachwachsen Die Regeln: • Agent Initialization Rule (Agenteninitialisierung) – Ist für die Erschaffung neuer Agenten verantwortlich – Wird beim Start aufgerufen und nach Fortpflanzung • Agent Distribution Rule (Agentenverteilung) – Bestimmt, an welchen Stellen die Agenten eingefügt werden – z.B. zufällig oder organisiert DEVS - Discrete Event System Specification • • • • Entwickelt von Bernard P. Zeigler (Univ. Arizona) Basiert auf Ereignissen „Zeituhr“ zählt von Ereignis zu Ereignis Struktur des Modells: - Menge von Eingängen, Ausgängen and internen Zuständen, beschrieben in Java oder C++ • Verhalten des Modells: - Für jeden Input wird ein Output erzeugt DEVS Struktur M = { X, S, Y, int , ext , , ta } • • • • • X: Menge von Eingangsvariablen S: Menge von Zuständen Y: Menge von Ausgangsvariablen int: S S – Funktion für interne Zustandsübergänge ext: Q x X S – Funktion für externe Zustandsübergänge - Q = {(s,e) | s € S, 0 e ta(s)} – Menge aller Zustände - e: verstrichene Zeit seit letztem Zustandswechsel • : S Y – Ausgabefunktion • ta: S R+ – Zeitfunktion für internen Zustandsübergang DEVS Struktur • Zu jedem Zeitpunkt befindet sich das System in einem Zustand s • Ohne ein externes Ereignis bleibt System in s, bis Zeit ta(s) verstrichen • Nach Zeit ta(s) Ausgabe von (s) und Wechsel in Zustand int(s) • Beim Auftreten eines externen Ereignisses Wechsel in Zustand ext(s,e,x) Realisierung von XeriScape mittels DEVS Es existieren 2 Hauptobjekte vom Typ DEVS • Blockobjekt: – Realisiert eine Matrix von Zellen – Initialisiert die Zellen – Ermöglicht Kommunikation zwischen ihnen Realisierung von XeriScape mittels DEVS • Zellenobjekte: – Zellen haben Eingänge zum Nachrichtenempfang und Ausgänge zum Senden von Nachrichten – sind das zentrale Steuerungsobjekt – Mittels interner Transitionen wird der Lebenszyklus der Agenten gesteuert – Mittels externer Transitionen bewegen sich die Agenten zwischen den Zellen – Zellen haben 2 Zustände: passiv/aktiv – Geht in den aktiven Zustand über, wenn ein Agent die Zelle betritt – Solange ein Agent sich auf einer Zelle befindet oder die Ressourcen unter dem Maximum liegen, ist sie aktiv Experiment 1 • 400 zufällig verteilte Basic Agents • 2 Ressourcenberge,welche sofort nachwachsen Experiment 2 • 400 zufällig verteilte Gendered Agents • Eltern vererben Metabolismus und Sichtweite an Kinder Vergleich von XeriScape und Sugarscape • XeriScape – von NeumannNachbarschaft – Einmalige Fortpflanzung pro Zyklus – Verschmutzung kann sich sofort ausbreiten – Mehrere Agenten pro Zelle möglich • Sugarscape – MooreNachbarschaft – Mehrmalige Fortpflanzung möglich – Verschmutzung verbreitet sich mit Verzögerung – Nur ein Agent pro Zelle erlaubt Vergleich der Nachrichtenzahl Durch DEVS kann die Simulation stark beschleunigt werden Quellen • Paper zum Thema XeriScape http://www.zaft.org/gordon/XeriScape/SCI2002.pdf • Diplomarbeit von Gordon C. Zaft http://www.zaft.org/gordon/XeriScape/Thesis.pdf