Download presentation
Presentation is loading. Please wait.
Published byMatthew McNamara Modified over 11 years ago
1
The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer
2
From Elements to Systems - The Swarm Simulation System2 Outline l Why is the influence of interventions on complex systems (ecosystems, economic systems, metabolism) usually not predictable? l Criteria for simulation systems - Representation of complex interactions - Agentbased model - Building of hierarchical structures (recursion)
3
From Elements to Systems - The Swarm Simulation System3 Why Simulation? l 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".
4
From Elements to Systems - The Swarm Simulation System4 Scenarios l Simulation of ecosystems l Superorganisms (e.g. ants, bees, etc.) l Processes in business companies (micro) and national economy (macro) l Load balancing in telecommunication networks
5
From Elements to Systems - The Swarm Simulation System5 The Swarm Simulations System l Basic principle: groups of simple interacting agents creating a complex system behavior l Swarm provides a general for writing computer simulations l The Swarm system supports implementation of multi-level systems by composing hierarchical swarms of agents
6
From Elements to Systems - The Swarm Simulation System6 What is Swarm? A virtual machine / a discrete event simulator l Virtual machine: an abstract instruction processor. Example: the Java virtual machine l But instead of Java instructions, Swarm interprets instructions describing temporal events and constraints via Schedules, Swarms, and their associated parameterizations
7
From Elements to Systems - The Swarm Simulation System7 Swarm as a virtual computer Operating System Swarm kernel GUI Model CPU l A computers CPU executes program instructions l Swarm kernel is virtual CPU running model and GUI events l Nested Swarms merge activity schedules into one
8
From Elements to Systems - The Swarm Simulation System8 Swarm System Design
9
From Elements to Systems - The Swarm Simulation System9 Real World Multi-level Systems l Global Economy l National Economy l Business Company l Employee l Ecosystem l Ant Colony or Beehive l An Ant or Bee l Organ l Cell
10
From Elements to Systems - The Swarm Simulation System10 Hierarchical Modeling by Swarm
11
From Elements to Systems - The Swarm Simulation System11 Interactions of Nested Swarms l Swarm allows swarms to be agents creating a new swarm in the next level of the hierarchical model (nested swarms) l Time hierarchy: Top-down synchronized time-management across the simulation
12
From Elements to Systems - The Swarm Simulation System12 Example: Heatbugs
13
From Elements to Systems - The Swarm Simulation System13 Implementation Heatbugs public 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;...
14
From Elements to Systems - The Swarm Simulation System14 Bottom up modeling Organizations of agents Animate agents Data Observer Inanimate agents If then else If then else
15
From Elements to Systems - The Swarm Simulation System15 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;
16
From Elements to Systems - The Swarm Simulation System16 HeatbugsModelSwarm RepeatIntervall=1 stepRulestepupateLattice ActionGroup heatspace type=heatspace world type=Grid2d environment count=100class heatbug populate agents Heatbug idealTemperature(1700<=uniformRandom<=3500) outputHeat(3000<=uniformRandom<=10000) imgColor(byteConstant=64) classes
17
From Elements to Systems - The Swarm Simulation System17 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;
18
From Elements to Systems - The Swarm Simulation System18 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;
19
From Elements to Systems - The Swarm Simulation System19 Probes and GUI Executes method Input value for variable Open probe for classClose probe Probe l A probe can be used to communicate with the objects in real time l Default probe map shows all variables
20
From Elements to Systems - The Swarm Simulation System20 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 */...
21
From Elements to Systems - The Swarm Simulation System21 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);...
22
From Elements to Systems - The Swarm Simulation System22 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 ActionGroup modelSchedule = new ScheduleImpl (getZone (), 1); modelSchedule.at$createAction (0, modelActions);
23
From Elements to Systems - The Swarm Simulation System23 Arborgames Model of forest dynamics l Examine the role of fire on species diversity l Discrete cells with one (two) individual per cell l Local interaction of trees in a neighborhood generates landscape dynamics
24
From Elements to Systems - The Swarm Simulation System24 Arborgames Response to disturbance l Landscape dynamics allow recursive response to disturbance l Expansion of fire is governed by the contagion of local forest structure
25
From Elements to Systems - The Swarm Simulation System25 Simulation of population dynamics l Development of population diversity in a forest with medium strength of disturbance l Development of population diversity with strong disturbance
26
From Elements to Systems - The Swarm Simulation System26 And now something completely different...
27
From Elements to Systems - The Swarm Simulation System27 Computational-Fields l Movement of the agents is driven by these Co-Fields l Co-Fields are established by the infrastructure and by the agents l Agent movements induces changes of Co-Field – composing a feedback cycle
28
From Elements to Systems - The Swarm Simulation System28 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
29
From Elements to Systems - The Swarm Simulation System29 Using Swarm API: Museum import 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);...
30
From Elements to Systems - The Swarm Simulation System30 Using Swarm API: Agents import 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(); }
31
From Elements to Systems - The Swarm Simulation System31 Using Swarm API: GUI public 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);...
32
From Elements to Systems - The Swarm Simulation System32 Resources www.swarm.org Chris Langton et. al.: The Swarm Simulation SystemA 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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.