The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der...
-
Upload
matthew-mcnamara -
Category
Documents
-
view
214 -
download
1
Transcript of The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der...
![Page 1: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/1.jpg)
The Swarm The Swarm Simulation SystemSimulation System
Je planmäßiger die Menschen vorgehen,
desto wirksamer vermag sie der Zufall treffen.
Katja Luther, Holger Meyer
![Page 2: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/2.jpg)
From Elements to Systems - The Swarm Simulation System 2
Outline
Why is the influence of interventions on complex systems (ecosystems, economic systems, metabolism) usually not predictable?
Criteria for simulation systems - Representation of complex interactions- Agentbased model- Building of hierarchical structures (recursion)
![Page 3: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/3.jpg)
From Elements to Systems - The Swarm Simulation System 3
Why Simulation?
John Briggs, F. David Peat: "Komplexe Systeme sind letzen Endes nicht analysierbar, nicht auf Teile reduzierbar, weil die Teile durch Annäherung und Rückkopplung ständig aufeinander einwirken".
![Page 4: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/4.jpg)
From Elements to Systems - The Swarm Simulation System 4
Scenarios
Simulation of ecosystems „Superorganisms“ (e.g. ants, bees,
etc.) Processes in business companies
(micro) and national economy (macro) Load balancing in telecommunication
networks
![Page 5: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/5.jpg)
From Elements to Systems - The Swarm Simulation System 5
The Swarm Simulations System
Basic principle: groups of simple interacting agents creating a complex system behavior
Swarm provides a general for writing computer simulations
The Swarm system supports implementation of multi-level systems by composing hierarchical swarms of agents
![Page 6: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/6.jpg)
From Elements to Systems - The Swarm Simulation System 6
What is Swarm?
A virtual machine / a discrete event simulator
Virtual machine: an abstract instruction processor. Example: the Java virtual machine
But instead of Java instructions, Swarm interprets instructions describing temporal events and constraints via Schedules, Swarms, and their associated parameterizations
![Page 7: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/7.jpg)
From Elements to Systems - The Swarm Simulation System 7
Swarm as a virtual computer
Operating System
Swarm kernel
GUI Model
CPU
A computer’s CPU executes program instructions
Swarm kernel is virtual CPU running model and GUI events
Nested Swarms merge activity schedules into one
![Page 8: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/8.jpg)
From Elements to Systems - The Swarm Simulation System 8
Swarm System Design
![Page 9: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/9.jpg)
From Elements to Systems - The Swarm Simulation System 9
Real World Multi-level Systems
Global Economy National Economy Business Company Employee
Ecosystem Ant Colony or
Beehive An Ant or Bee Organ Cell
![Page 10: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/10.jpg)
From Elements to Systems - The Swarm Simulation System 10
Hierarchical Modeling by Swarm
![Page 11: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/11.jpg)
From Elements to Systems - The Swarm Simulation System 11
Interactions of Nested Swarms
Swarm allows swarms to be agents creating a new swarm in the next level of the hierarchical model (nested swarms)
Time hierarchy:Top-down synchronized time-management across the simulation
![Page 12: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/12.jpg)
From Elements to Systems - The Swarm Simulation System 12
Example: Heatbugs
![Page 13: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/13.jpg)
From Elements to Systems - The Swarm Simulation System 13
Implementation Heatbugspublic class Heatbug {
/** my current unhappiness */
public double unhappiness;
/** my spatial coordinates */
public int x, y;
/** my ideal temperature and how much heat I put out */
public int idealTemperature, outputHeat;
/** chance of moving randomly */
public double randomMoveProbability;
/** my colour (display) */
public byte bugColor;
...
![Page 14: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/14.jpg)
From Elements to Systems - The Swarm Simulation System 14
Bottom up modeling
Organizations of agents
Animate agents
Data
Observer
Inanimate agents
If <cond>
then <action1>
else <action2>
If <cond>
then <action1>
else <action2>
![Page 15: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/15.jpg)
From Elements to Systems - The Swarm Simulation System 15
Implementation ObserverSwarm
public class HeatbugObserverSwarm extends GUISwarmImpl { /** one parameter: update freq */ public int displayFrequency; /** ActionGroup for sequence of GUI events */ public ActionGroup displayActions;
/** the single Schedule instance */ public Schedule displaySchedule;
/** the Swarm we're observing */ public HeatbugModelSwarm heatbugModelSwarm;
![Page 16: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/16.jpg)
From Elements to Systems - The Swarm Simulation System 16
HeatbugsModelSwarm
RepeatIntervall=1stepRule step upateLattice
ActionGroup
heatspacetype=heatspace
worldtype=Grid2denvironment
count=100 class
heatbug
populate
agents
HeatbugidealTemperature(1700<=uniformRandom<=3500)
outputHeat(3000<=uniformRandom<=10000)imgColor(byteConstant=64)
classes
![Page 17: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/17.jpg)
From Elements to Systems - The Swarm Simulation System 17
Implementation Modelswarm
public class HeatbugModelSwarm extends SwarmImpl{ // simulation parameters public int numBugs;
public int maxOutputHeat, minOutputHeat;public double evaporationRate;public double diffuseConstant;public int worldXSize,worldYSize;public int minIdealTemp, maxIdealTemp;
public double randomMoveProbability;
![Page 18: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/18.jpg)
From Elements to Systems - The Swarm Simulation System 18
Implementation Modelswarm-2
public class HeatbugModelSwarm extends SwarmImpl{ ... /** ActionGroup for holding an ordered sequence of action
*/ public ActionGroup modelActions; /** the single Schedule */ public Schedule modelSchedule; /** list of all the heatbugs and the world the bugs live in
*/ public List heatbugList; public Grid2d world;
public HeatSpace heat;
![Page 19: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/19.jpg)
From Elements to Systems - The Swarm Simulation System 19
Probes and GUI
Executes methodInput value for variable
Open probe for class Close probe
Probe
A probe can be used to communicate with the objects in real time
Default probe map shows all variables
![Page 20: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/20.jpg)
From Elements to Systems - The Swarm Simulation System 20
Implementation ProbeMap//in contructor of HeatbugModelSwarm class HeatbugModelProbeMap extends EmptyProbeMapImpl {… //definition of addVar() and addMessage()
public HeatbugModelProbeMap (Zone _aZone, Class aClass) { super (_aZone, aClass); addVar ("numBugs");… addMessage ("toggleRandomizedOrder"); addMessage ("addHeatbug:");
}} /*Now, install our custom probeMap class directly into the
probeLibrary */ ...
![Page 21: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/21.jpg)
From Elements to Systems - The Swarm Simulation System 21
Method buildObjects()public Object buildObjects (){
super.buildObjects();heat = new HeatSpace(getZone(),worldXSize, worldYSize,diffuseConst, evapoRate);
world = new Grid2dImpl (getZone(), worldXSize, worldYSize);heatbugList = new LinkedList();
for (i = 0; i < numBugs; i++) {idealTemp = getRandBetween(minIdealTemp, maxIdealTemp);outputHeat = getRandBetween(minOutputHeat, maxOutputHeat);
Heatbug hbug = new Heatbug (world, heat); heatbugList.add (hbug);
...
![Page 22: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/22.jpg)
From Elements to Systems - The Swarm Simulation System 22
Implementation buildActions()public Object buildActions () { super.buildActions();
modelActions = new ActionGroupImpl (getZone());
//erzeugen der Actionsund zufügen zu ActionGroup
modelActions.createActionTo$message
(heat, new Selector (heat.getClass (), “updateLattice", false));
//erzeugen von modelSchedule und zufügen der ActionGroupmodelSchedule = new ScheduleImpl (getZone (), 1);
modelSchedule.at$createAction (0, modelActions);
![Page 23: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/23.jpg)
From Elements to Systems - The Swarm Simulation System 23
Arborgames Model of forest dynamics
Examine the role of fire on species diversity
Discrete cells with one (two) individual per cell
Local interaction of trees in a neighborhood generates landscape dynamics
![Page 24: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/24.jpg)
From Elements to Systems - The Swarm Simulation System 24
Arborgames Response to disturbance
Landscape dynamics allow recursive response to disturbance
Expansion of fire is governed by the contagion of local forest structure
![Page 25: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/25.jpg)
From Elements to Systems - The Swarm Simulation System 25
Simulation of population dynamics
Development of population diversity in a forest with medium strength of disturbance
Development of population diversity with strong disturbance
![Page 26: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/26.jpg)
From Elements to Systems - The Swarm Simulation System 26
And now something completely different ...
![Page 27: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/27.jpg)
From Elements to Systems - The Swarm Simulation System 27
Computational-Fields
Movement of the agents is driven by these Co-Fields
Co-Fields are established by the infrastructure and by the agents
Agent movements induces changes of Co-Field – composing a feedback cycle
![Page 28: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/28.jpg)
From Elements to Systems - The Swarm Simulation System 28
The Swarm API
objectbase Base classes for simulated objects – the "agents“
activity Schedule execution mechanism – the "process"
space Spatial environment library simtools Collected tools (non-GUI) useful for
developing Swarm simulations gui Graphical Interface library analysis Objects that help with data processing
![Page 29: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/29.jpg)
From Elements to Systems - The Swarm Simulation System 29
Using Swarm API: Museumimport swarm.Globals;
import swarm.space.Discrete2dImpl;
public class Museum extends Discrete2dImpl {
public ListImpl rooms;
...
// In Constructor:
rooms = new ListImpl(Globals.env.globalZone);
...
public void draw(){
((Room)rooms.atOffset(0)).draw(startX,startY);
...
![Page 30: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/30.jpg)
From Elements to Systems - The Swarm Simulation System 30
Using Swarm API: Agentsimport swarm.objectbase.Swarm;
import swarm.objectbase.SwarmImpl;
import swarm.activity.ActionGroupImpl;
import swarm.activity.ScheduleImpl;
import swarm.activity.Activity;
public class PeopleSwarm extends SwarmImpl{
...
public Activity activateIn(Swarm swarmContext) {
super.activateIn(swarmContext);
peopleSchedule.activateIn(this);
return getActivity();
}
![Page 31: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/31.jpg)
From Elements to Systems - The Swarm Simulation System 31
Using Swarm API: GUIpublic void createFieldRasters() {
ZoomRasterImpl fieldRaster;
int numFields = modelSwarm.museumSwarm.museum.rooms.getCount();
fieldRasters = new ListImpl(getZone());
for(int i=0; i<numFields;i++) {
fieldRaster = new ZoomRasterImpl(getZone(),"room "+i+“fieldRaster");
fieldRaster.setWidth$Height(museum.getSizeX(),museum.getSizeY());
fieldRaster.setWindowTitle("room ;"+i+" field");
fieldRasters.addLast(fieldRaster);
...
![Page 32: The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.](https://reader035.fdocuments.in/reader035/viewer/2022062618/55143fd4550346494e8b48a6/html5/thumbnails/32.jpg)
From Elements to Systems - The Swarm Simulation System 32
Resources
www.swarm.org Chris Langton et. al.: The Swarm Simulation System A
tool for studying complex systems, Santa Fe Institute 1999 www.ctsgroup.ch The Co-Fields Project – Agent Group (Franco Zamonelli)
Università di Modena e Reggio Emilia polaris.ing.unimo.it/didattica/curriculum/marco/Web-Co-Fields/cofields.html
Swarm User Guide, Swarm Development Group, University of Kansas Department of Political Science, Paul Johnson, 2000
Benedikt Stefansson: Swarmfest ’99 Tutorial Session One: Introduction (www.swarm.org)