Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIS 643 Agent-Based Modeling and Simulation 2016/2017 Fall.

Similar presentations


Presentation on theme: "MIS 643 Agent-Based Modeling and Simulation 2016/2017 Fall."— Presentation transcript:

1 MIS 643 Agent-Based Modeling and Simulation 2016/2017 Fall

2 Outline Virtual Corridors of Butterflies
From ODD to NetLogo Implementation

3 Chapters 4,5 of RG-IABM

4 Virtual Corridors of Butterflies
virtual corridores – Peer et al. (2005) mate-finding by butterflies (bf) “hilltopping” strategy - males and females uphills for meet and mate Simple model formulation by ODD protocol

5 Purpose questions about virtual corridores (VC) under what conditions
interactions of bfs hilltopping behavior and topograhpy emergence of virtusl corridores relatively nerrow paths bfs move variabiity in bf. strategy affects formation of VCs

6 Entities, State Variables and Scales
butterflies square patches of land – State Variables: elevation – land positions of butterflies on patches – x,y coordinates Scales: time and patch not impotant but time length – time fo fly meters patch size 25 x25 meters 1000 time steps with a 150x150 square landscape

7 Process Overview and Schedulling
Process – movement of the bfs. at each time bfs. move one step order of movements – not impotant no interraction among bfs.

8 Design Concepts basic principle - virtual corridores
emergence – how corridores emerge from 1 - adaptive movement behavior of bfs 2 – topograhy of landscape adaptive behavior – moving behavior of butterflies based on an emprical law objective, learning, prediction – not included

9 Design Concepts (cont.)
sensing – how bfs percive higher elevation interraction – not included stocasticity – each bf. at each step move uphill its neighbors with probability q and move random to its neighbors with probability 1-q

10 Initilization topography of the landscape 1- artificial
2- real values from a file 500 bfs set to a patch

11 Input Data Environment is not chaning not needed

12 Submodels movement submodel: uphill: highest neigboring patch
how bfs decide to move uphill: highest neigboring patch random: randomly on of the eight naighboring pathces For each butterfly at each time step whether move uphill or random is by a contol parameter q q: global variable from a uiform distribution

13 Submodels (cont.) at each time step each bf draws a random variable x
from a uniform distribution between 0.0 and 1.0 if x < q move uphill otherwise move randomly

14 From ODD to NetLogo Implementation
Purpose – information tab model description Entities, State variables and Scales tutles-own [ ] patches-own [ ] globals [ ]

15 From ODD to NetLogo Implementation
Process and Schedule – go Design concepts Initilization - setup Input data – from file input Submodels - processes called from go

16 Entities State Variables Scales
globals [] turtles-own [] patches-own [elevation] For a 150x150 landscape from settings – corner – buttom left max-pxcor: 149,max-pycor: 149 Square landscape – turn off world wrapper patch size 3 or so

17 Initialization to setup ca ask patches [ ] reset-ticks end
Templeate for initialization

18 Initialization – set elevations
ask patches [ let elev distancexy 30 30 let elev distancexy ifelse elev1 > elev2 [ set elevation elev1] [ set elevation elev2] set pcolor scale-color green elevation 0 100 ]

19 Initialization – set elevations
elev1 elev2 local variables for creating two hills hill1 at at a height of 100 hill2 at at a height of 50 primitives:distancexy,scale-color set pcolor scale-color green elevation 0 100 Scales color

20 Initialization - turtles
crt 1 [ set sıze 2 setxy 85 95 ] create one turtle at with a size of 2

21 Process Schedule to go ask turtles [move] tick
if ticks >= 1000 [stop] end to move in go procedure primitives tick, ticks stop

22 Submodels - move to move ifelse random-float 1 < q
[uphill elevation] [move-to one-of neighbors] end

23 Submodels - move probability q uphill with 1-q to random neighbor
move-to one-of define and initilize q

24 Chapter 5 of IABM Introduction Observation of Corridors
Analazing the Model Time Series Resutls: Adding Plots and File Output A Real Landscape Summary and Conclusions

25 5.1 Introduction modeling – not formulating and implementing
iterative process – modifying refining model

26 The Problem Problem: where and how corridors are formed?
quantitative outputs to be analized replace artificial landscape with a real topography

27 Learning Objectives version control
quantitative outputs and simulation experiments slider or switchs for global variables, reporters output window time series plot exporting to a file importing data from a file

28 5.2 Observation of Corridors
How to caracterize a corridore? if all bfs have the same path: start from same posstion and q = 1.0 corridor - very nerrow if movement – completely random q = 0.0 no corridore like feature How width of paths change as q or topography varies

29 quantifying width bfs can start and end – different places Assume:
bfs stop – rich a local hilltop – a patch higher than all its neighboringpatches quantify width of the corridor – all bfs #pathces visited – any bf divided by mean distance – starting and edning locations – all bfs

30 quantifying width lower bound 1.0 when all bfs follow a streigth line
increases as bfs diverge Analysis: plot q v.s. corridor width

31 First modifications slider for q modify setup
from 0.0 to 1.0 with increments 0.01 modify setup create 50 bfs starting from same position experiment with different q values Programming Notes: moving variables to the interface remove from globals remove initialization in setup procedure indicate with a comment

32 modifying move bfs stop when they rich a local hill
a patch with an elevation higher than its neighbors stop rest of the move procedure code – start of the move if elevation >= [elevation] of max-one-of neighbors [elevation] [stop] if condition ; turtle context move - in turtle context turtles get patch veriable - elevation

33 right side of condition
of and max-one-of commands: of: [reporter or agent variable] of agent or agentset

34 right side of condition
agent variable: elevation agent: agent in the neighborhood of the current turtle with maximum elevation max-one-of agentset [reporter or agent variable] report an agent from the agentset based on the reporters value

35 width of the bf population
a - # of patches visited b- mean distanc between bfs starting and ending positions two new state variables for each patch – keep track of whether a turtle ever visited it or not for each turtle – store its starting patch

36 width of the bf population
Add a boolean variable to pathces – used? patchs-own [used?] turn to true is the patch is ever visited

37 width of the bf population
Add a variable to turtles – start-patch turtles-own [start-patch] set to the start patch when inilizing bfs

38 initilize in setup ask patches [ ... set used? false ]
create-turtles [ set start-patch patch-here patch-here: reports the patch the turtle is currently on Programming note: initializing variables all variables has an initial value of 0

39 move and go procedure When a bf moves to a patch
set the patch variable to true at the end of move in the go procedure before the program stops let final-corridor-width corridor-width a laocal variable is assigned the value of the corridor width computed by another procedure (reporter) to-report corridor-width calculate and report corridor width print the value of final-corridor-width to an output

40 go procedure to go ask turtles [move] tick if ticks >= 1000 [
let final-corridor-width corridor-width output-print word "corridor width " final-corridor-width stop ] end

41 corridor-width reporter
to-report corridor-width let patches-visited count patches with [used?] let mean-distance mean [distance start-patch] of turtles report patches-visited / mean-distance end

42 move to move if elevation >=
[elevation] of max-one-of neighbors [elevation] [stop] ifelse random-float 1 < q [uphill elevation] [move-to one-of neighbors] set used? true end

43 5.3 Analazing the Model How corridor width output is affected from q
plot corridor width v.s. q as q increases – corridor width falls as expected but when q=1.0 corridor widthis <1.0 How can this be?

44 5.4 Time Series Resutls: Adding Plots and File Output
to go ask turtles [move] plot corridor-width if ticks >= 1000 [ ... stop] end add a ploter to tthe interface add an output to the interface

45 add a ploter to tthe interface
give plot name “corridor width” export-plot “corridor width” word “corridor-output-for-q ” q

46 exporting plots to a file
write the results of plots to a file add the command to the end of go before the program stops export-plot “corridor width” word “corridor-output-for-q” q export-plot ploter_name filr_name

47 write coridor width to output
print the final coridor width to an output widow in the interface create and add an output to the interface add the command to the end of go before the program stops output-print word "corridor width " final-corridor-width

48 before program stops if ticks >= 1000 [
let final-corridor-width corridor-width output-print word "corridor width " final-corridor-width export-plot "corridor width" word "corridor-output-for-q" q stop ]

49 go procedure to go ask turtles [move] plot corridor-width tick
if ticks >= 1000 [ let final-corridor-width corridor-width output-print word "corridor width " final-corridor-width export-plot "corridor width" word "corridor-output-for-q" q stop ] end

50 5.5 A Real Landscape real data from “ElevationData.txt”
from books web side Programming Note: grid-based: x-coordinate, y-coordinate and a value one data line for each grid point

51 add to setup file-open “ElevationData.txt” while [not file-at-end?] [
let next-x file-read let next-y file-read let next-elevation file-read ask patch next-x next-y [set elevation next-elevation] ] file-close

52 next do determine dimensions of the world examining the data file
adjust the scale of the color for the new max and min values of the elevations initial positions of bfs in a 10x10 area randomly asign xcor and ycor of bfs setxy (80 + radnom 10) (90 + radnom 10)

53 scaling color let min-elevation min [elevation] of patches
let max-elevation max [elevation] of patches ask patches [ set pcolor scale-color green elevation min-elevation max-elevation set used? false ]

54 5.6 Summary and Conclusions
NetLogo for agent-based science Modeling a system of multiple agents quantitative variables analyzing ouputs simulation experiments real spatial data

55 5.6 Summary and Conclusions (cont.)
butterfly model – simple but... other environments movement of ideas people social networks economic or political lanscapes


Download ppt "MIS 643 Agent-Based Modeling and Simulation 2016/2017 Fall."

Similar presentations


Ads by Google