Messina_bridge
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates the movement of agents (called followers) between two regions: Sicily and Mainland - separated by a sea. A small number of influencers/ leaders are also living in the area, but the model only focuses now on the movement of the followers crossing the sea, moving from one region to another. When enough agents cross the sea, the model dynamically builds a bridge. This number (min-crossings) is flexible and can be adjusted before running the model.
HOW IT WORKS
The world is divided into three zones: Sicily (brown patch), sea (blue patch) and Mainland (green patch). Followers have goals assigned (Each follower chooses one of the patches within zone Sicily and keeps this variable as "possible-goal". It checks whether it found this kind of patch, if there are no possible patches on Sicily, it returns "nobody": "if possible-goal != nobody). Each follower at the beginning has 0 sea-crossings (boolean has-crossed-sea? is fixed on false). Once it crosses the sea, it changes the color to blue to show that it has successfully crossed from one region to another. The sea-crossings count increases the global variable crossed-followers that is crucial for construction of the bridge between regions. Once this number reaches the flexible threshold "min-crossings", the bridge is built. It appears as gray patches and its length is determined by "bridge_length". By default the popularity is being determined for each region, Sicily is more popular than Mainland, so there will always be more followers going to Sicily than to the other region.
HOW TO USE IT
"Setup" button initializes the model with the "min-crossings" and "num-followers" as indicated by the sliders. "Go" button determines the next move of all followers. The conditional statement "random-float 1.0 < 0.8" generates a random number between 0 and 1 with 80% of chance of success. According to this logic, 80% of the time, agents stay in Sicily or return there, because of the popularity of the region. 20% of the time, it picks a random patch on Mainland or stays there if it has already crossed the sea. So, most agents tend to stay or move within Siciy, which influences on the total number of crossed-followers and on the decision to build the bridge. The bridge is built only once, triggered by the number of crossed-followers.
THINGS TO NOTICE
Depending on the initial numbers for "min-crossings" and "num-followers", the logic of the model can be appreciated with smaller or bigger speed. How often followers move back and forth between Sicily and the Mainland?
THINGS TO TRY
Change the popularity of the region by changing the logic to followers or attribute a new one to leaders.
EXTENDING THE MODEL
Check how the number of crossed-followers changes after building the bridge. How the popularity of regions changes after bridge construction? Modify the goals of each follower accordingly.
NETLOGO FEATURES
N/A
RELATED MODELS
Paths https://ccl.northwestern.edu/netlogo/models/Paths
CREDITS AND REFERENCES
Inspired by and included in "Flows, Territory, and Identity: Understanding Transformation in the Strait of Messina Through Art and Cartography" project.
Comments and Questions
globals [ crossed-followers bridge-length ] breed [ leaders leader ] breed [ followers follower ] patches-own [ popularity zone ] followers-own [ goal has-crossed-sea? sea-crossings ] to setup clear-all setup-regions set crossed-followers 0 set bridge-length 0 ;; min-crossings to configure on interface create-leaders 3 [ set color red setxy random-xcor random-ycor ] create-followers num-followers [ set color black let possible-goal one-of patches with [zone = "Sicily"] if possible-goal != nobody [ setxy [pxcor] of possible-goal [pycor] of possible-goal set goal possible-goal set has-crossed-sea? false set sea-crossings 0 ] ] reset-ticks end to setup-regions ask patches [ if pxcor < -4 [ set pcolor brown set popularity 100 ; Sicily set zone "Sicily" ] if pxcor > 4 [ set pcolor green set popularity 60 ; Mainland set zone "Mainland" ] if (pxcor >= -4 and pxcor <= 4) [ set pcolor blue ; Sea set popularity 0 set zone "Sea" ] ] end to go ask followers [ if zone = "Sea" [ set shape "boat" ] if zone != "Sea" [ set shape "person" ] if sea-crossings > 0 [ set color blue ] if sea-crossings = 0 [ set color black ] ;; Choice of the goal depending on the position if goal = patch-here [ if random-float 1.0 < 0.8 [ set goal one-of patches with [zone = "Sicily"] ] if random-float 1.0 >= 0.8 [ set goal one-of patches with [zone = "Mainland"] ] ] ;; Count of sea crossings with sea-crossing if goal != nobody and is-patch? goal [ let previous-zone zone face goal fd 1 let current-zone [zone] of patch-here if previous-zone = "Sea" and current-zone = "Mainland" [ set sea-crossings sea-crossings + 1 ] ;; Change of status after sea crossing if not has-crossed-sea? and previous-zone = "Sea" and current-zone = "Mainland" [ set has-crossed-sea? true set crossed-followers crossed-followers + 1 ] ;; Constructioon of the bridge if crossed-followers >= min-crossings if crossed-followers >= min-crossings and bridge-length = 0 [ ;; Construction of the bridge in one piece set bridge-length 4 update-bridge ] ] ] tick end to update-bridge ask patches with [ abs(pycor) <= 2 and abs(pxcor) <= bridge-length ] [ set pcolor gray set zone "Bridge" ] end
There is only one version of this model, created 2 days ago by Aleksandra Stanczak.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Messina_bridge.png | preview | Preview for 'Messina_bridge' | 2 days ago, by Aleksandra Stanczak | Download |
This model does not have any ancestors.
This model does not have any descendants.