Governing the commons
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model is extended based on the model by Uri Wilensky- wealth distribution (social science).
HOW IT WORKS
certain grain are spread throughout the field, in which actors ( farmers ) can harvest. They gain wealth by harvesting these grains. The field posses regrow ability, providing a infinite number of grain if they amount of grain farmers harvest do not exceeds their regrow ability. Under no-controlled circumstances, the grains will run out quickly leaving the field no chance to regrow in time. For this reason, we seek to apply the Design Principles of Elinor Ostrom of "monitoring" and "graduate sanctions" to protect the natural resource system (Common Pool Resource ). Certain maximum level of wealth (grain) are set, when the amount of grain actors hold exceeds the maximum limit, they can punished. We have built an extensive monitoring mechanism, in which certain coordinates patches, checks their wealth-lvl, and actors (turtles) monitors each other, if they are in their field of vision. The principle of graduate sanction is applied by their color. For the first time of transgression, their color turns to pink, for the second time of transgression, their color turns to red leading to exclusion of the actors, when the actors is caught for the third time.
HOW TO USE IT
(how to use the model, including a description of each of the items in the Interface tab)
THINGS TO NOTICE
(suggested things for the user to notice while running the model)
THINGS TO TRY
one can reset ,the wealth-max-threshold, regrow-rate of the field (patches) and see how the amount of greedy farmers decline or rise. It is interesing to find out if the amount of punishment has a direct influence on the amount of defectors.
EXTENDING THE MODEL
this model is a very basic representation of Elinor Ostrom's application to her Design Principles. If one wants to extend the model, a certain mechanism of adpative learning of the actors is certainly interesting in which turtles (actors) have a set of strategies and memory of their last best strategy, to reach a maximum equilibrium of defecting and cooperating to achieve their maxium benefit. Furthermore, with the extension of system dynamics of the Netlogo Extension, one can also find out how the upper level has (municiplal goverment, who lays the foundation for the implementation of regulations) influence the behaviour and interaction of the turtles (actors) within the resource systen.
NETLOGO FEATURES
(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)
RELATED MODELS
(models in the NetLogo Models Library and elsewhere which are of related interest)
CREDITS AND REFERENCES
Li, J. and Wilensky, U. (2009). NetLogo Sugarscape 3 Wealth Distribution model. http://ccl.northwestern.edu/netlogo/models/Sugarscape3WealthDistribution. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Novak, M. and Wilensky, U. (2006). NetLogo Wolf Sheep Stride Inheritance model. http://ccl.northwestern.edu/netlogo/models/WolfSheepStrideInheritance. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Comments and Questions
globals [ max-grain ; maximum amount any patch can hold ] breed [ cooperative-farmers cooperative-farmer] breed [greedy-farmers greedy-farmer] patches-own [ grain-here ; the current amount of grain on this patch max-grain-here ; the maximum amount of grain this patch can hold grain-amount grain ] turtles-own [ wealth ; the amount of grain a turtle has life-expectancy ; maximum age that a turtle can reach metabolism ; how much grain a turtle eats each time vision ; how many patches ahead a turtle can see max-wealth target ] ;;; ;;; SETUP AND HELPERS ;;; to setup clear-all ;; set global variables to appropriate values set max-grain 50 ;; call other procedures to set up various parts of the world setup-patches setup-turtles ask turtles [set color blue ] reset-ticks end ;; set up the initial amounts of grain each patch has to setup-patches ;; give some patches the highest amount of grain possible -- ;; these patches are the "best land" ask patches [ set grain-amount random-float 10.0 set pcolor scale-color green grain-amount 0 20 ] ask patches [ set max-grain-here 1 if (random-float 100.0) <= percent-best-land [ set max-grain-here max-grain set grain-here max-grain-here ] ] end to setup-turtles set-default-shape turtles "person" create-turtles num-people [ move-to one-of patches set wealth random 10 ] end to go if not any? patches [ stop ] ask turtles [ move harvest monitor-punish monitor-site secondary-monitoring-site exclude recolor-turtles ] tick ifelse any? turtles with [wealth >= 100] [ ask turtles [ stop]] [ ask turtles [ harvest]] regrow-grain end to move fd 1 rt random 100 lt random 100 set wealth random 100 set wealth wealth - movement-cost end to harvest if (grain-amount >= wealth-gain-from-grain) [ set wealth wealth + wealth-gain-from-grain set grain-amount grain-amount - wealth-gain-from-grain recolor-grain] behave-greedy behave-cooperative end to behave-greedy turn-towards-max-grain end to turn-towards-max-grain end to behave-cooperative if (wealth >= wealth-max-threshold) [ stop harvest] end to monitor-punish ifelse (any? other turtles-here); if turtles meet check their wealth-lvl punish them if their wealth exceeds the maximum amount [ if wealth >= 40 [ set color [yellow] of one-of turtles-here set wealth wealth - costpunish ] ] [set color green ] end to recolor-grain set pcolor scale-color green grain-amount 0 20 end to choose if wealth >= max-wealth [ stop ] end to my-update-plots set-current-plot-pen "resources" plot sum [ grain-amount ] of patches end to monitor-site ask turtles at-points [[2 4] [1 2] [10 15] [3 8] [4 6] [3 15] [5 4] [0 2] [ 3 4 ] ] ; to set monitoring sites within the CPR systems if turtles set foot within this [ if (wealth >= wealth-max-threshold) [ set color pink punish ]] end to secondary-monitoring-site ask turtles at-points [[4 4] [4 2] [4 15] [4 3] [3 10] [2 6] [1 15] [2 4] [1 2] [10 15]] [if (color = pink and wealth >= wealth-max-threshold) [set wealth wealth - costpunished set color red ] ] end to exclude ask turtles at-points [ [0 0] [6 6] [3 6]] [ if color = red - 1 and wealth >= 20 [ die ] ] end to do-plots set-current-plot-pen "sheep" plot count turtles set-current-plot-pen "grass" plot (count patches with [grain-amount > 0]) set-current-plot-pen "energy" plot mean [wealth] of turtles / count turtles end to identify-target if wealth >= 50 [ set target turtles with [wealth >= 60 ]] face target move-to target end to punish-target end to reproduce if any? turtles [ die ask turtles [hatch 1] ] end to regrow-grain ask patches [ set grain-amount grain-amount + regrowth-rate if grain-amount > 10 [ set grain-amount 10 ] recolor-grain ] end to monitor ask turtles in-cone 3 60 [ check ] end to check if (wealth >= wealth-max-threshold) [ punish] end to punish ask turtles in-cone 3 60 [ set wealth wealth - costpunish ] end to recolor-turtles ifelse (wealth >= wealth-max-threshold) [ set color red - 2 ] [set color white ] end ;greedy farmers: always seeks out profits maximization so we set up certain points (traps to punish them ) and set the color pink ; if color pink again set constpunished graduate sacntion ;
There is only one version of this model, created over 5 years ago by Sebastian Wang.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.