Socio-Natural Model

Socio-Natural Model preview image

1 collaborator

Default-person Kailin Hatlestad (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.2.0 • Viewed 425 times • Downloaded 27 times • Run 0 times
Download the 'Socio-Natural Model' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

The purpose of the Socio-Natural model is to test which social behaviors contribute to the resiliency of both culture and environment utilizing comparison between two differing social systems.

HOW IT WORKS

The Socio-Natural model is made up of two breeds of agents who interact with the environment and other agents. The environment is a wrapping world made up of patches with a generic resource that have a determined carrying capacity and growth rate assigned at the start of the simulation. For this model one tick or iteration represents one year. Every model should run for at least one-thousand iterations or until population collapse. Population collapse is defined as no more individuals.

The individuals of different breeds possess different land-use, common benefit, and movement rules. For the A-person breed these rules include: (1) equitable distribution of wealth and resources to provide for common benefit (2) demographic regulation with possible seasonal migration to prevent resource depression (3) utilization of diverse resources to prevent resource depression.

The differing elements of the B-person breed include: (1) unequitable distribution of wealth and resources altering levels of benefit (2) sedentariness and sharp shifts in population (3) skewed resource dependence that effects biodiversity.

At every iteration all individuals (1) move, (2) harvest, (3) share, (4) randomly reproduce based on number of possible offspring, (5) age, and (6) randomly die. The world (7) regrows grass at a fixed amount every iteration.

HOW TO USE IT

On the left, adjust the sliders to change initial population levels of each breed, to determne how much resource each inidividual of a breed can share, and to decide reproduction rates.

On the right, monitor the population levels of each breed, resource levels in the world, and the distribution of resources.

THINGS TO NOTICE

The socio-natural model is interested in certain response variables. These include: (1) How long a population sustains before collapse, if collapse occurs, (2) how stable population levels are, (3) how much resource is maintained in the world, and (4) how equitably resources are shared.

THINGS TO TRY

Move sliders to alter how much breeds share, reproduce or to see how initial population effects outcomes.

How long do populations last when they are not competeing against one another? What does the resource level look like? How equitable is their society?

EXTENDING THE MODEL

Advance any of these these settings by altering the code with simple or complex changes. For example, resource regrowth could be altered to seasonal cycles or change the code to reflect agricultural and technological control over resource cycles.

This socio-natural model is currently a closed system which if opened to simulate immigration, has potential to reveal more interesting resilient behavior relational patterns. Additionally, more diverse resources along with diverse use of those resources would enhance the program. Moreover, introducing a level of diversity and modifying to an open system would produce dynamic resource growth rates, advanced migratory and movement patterns and allow for more socio-natural perturbations to be tested.

Another avenue to achieve higher variance in social complexity use of NetLogo’s Hubnet. Hubnet is participatory simulation offering that allows models to run by its programmed rules as well as by human participation.

The socio-natural model can also be advanced with innovation coding. This can be achieved by either equipping agents with coping mechanisms in the programming stage or including a genetic algorithm in which agents learn.

Future simulations with this modification have the potential to illuminate much about resilient behavior adoption and sustainable development education.

RELATED MODELS

This model incorporates features from other netlogo models: diffusion on a directed network, cooperation, feeding, and wolf/sheep predation.

CREDITS AND REFERENCES

George Lescia

Axtell, Robert L., Joshua M. Epstein, Jeffrey S. Dean, George J. Gumerman, Alan C. Swedlund, Jason Harburger, Shubha Chakravarty, Ross Hammond, Jon Parker, and Miles Parker 2002 Population growth and collapse in a multiagent model of the Kayenta Anasazi in Long House Valley. Proceedings of the National Academy of Sciences 99(suppl 3): 7275–7279.

Dean, Jeffrey S., George J. Gumerman, Joshua M. Epstein, Robert L. Axtell, Alan C. Swedlund, Miles T. Parker, and Stephen McCarroll 2000 Understanding Anasazi culture change through agent-based modeling. Dynamics in human and primate societies: Agent-based modeling of social and spatial processes: 179–205.

Epstein, Joshua M. 1996 Growing artificial societies: social science from the bottom up. Brookings Institution Press.

1997 Artificial societies and generative social science. Artificial Life and Robotics 1(1): 33–34.

1999 Agent-based computational models and generative social science. Generative Social Science: Studies in Agent-Based Computational Modeling 4(5): 4–46.

2006 Generative social science: Studies in agent-based computational modeling. Princeton University Press.

2008 Why model? Journal of Artificial Societies and Social Simulation 11(4): 12. Epstein, Joshua M., and Robert Axtell

Gilbert, Nigel, and Klaus G. Troitzsch 2005 Simulation for the Social Scientist (2nd Edition). McGraw-Hill Professional Publishing, Berkshire, GBR.

Kohler, Timothy & Sander Van der Leeuw. (Eds.) 2007 The Model Based Archaeology of Socio-Natural Systems. School for Advanced Research, Santa Fe, NM.

Wilensky, Uri, and William Rand 2015 An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered
Complex Systems with NetLogo. MIT Press, April 10.

Wilensky, U. (1997). NetLogo Cooperation model. http://ccl.northwestern.edu/netlogo/models/Cooperation. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL

Stonedahl, F. and Wilensky, U. (2008). NetLogo Diffusion on a Directed Network model. http://ccl.northwestern.edu/netlogo/models/DiffusiononaDirectedNetwork. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

Wilensky, U. (1998). NetLogo Wealth Distribution model. http://ccl.northwestern.edu/netlogo/models/WealthDistribution. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

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

Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

Wilensky, U. (2005). NetLogo Wolf Sheep Predation (System Dynamics) model. http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics). Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [ grass
   gini-index-reserve
  lorenz-points ]

breed [ apersons aperson ]
breed [ bpersons bperson ]

patches-own [ grass-amount ]

turtles-own [
  resource ;; the amount of resource this person has
  age ;; the current age of this person (in ticks)
  max-age ;; the age at which this person will die of natural causes

]

to setup
  clear-all
  create-apersons apersons-initial-population [ setup-apersons ]
  create-bpersons bpersons-initial-population [ setup-bpersons ]
  ask patches [
    set grass-amount random-float 10.0 ;; each patch starts with a random amount of grass
    recolor-grass ] ;; color it shades of green
  set grass count patches with [ grass-amount > 0 ]
  update-lorenz-and-gini

  reset-ticks
end 

to go
  if not any? turtles [ stop ]
  ask turtles [
   move
   harvest
   if resource >= 5
     [ share ] ;; share with a number of neighbors
   reproduce
   set age age + 1
   if resource < 0 or age > max-age
    [die]
    ]
 regrow-grass
 set grass count patches with [ grass-amount > 0 ]
 update-lorenz-and-gini
 tick
end 


;;-----------------
;; TURTLE UPDATES
;;-----------------

to setup-apersons ;; apersons procedure
  set color magenta  ;; how to color? Shades of a color?
  set shape "person"
  set size 1.25;; easier to see
  setxy random-xcor random-ycor ;;population- what other ways to do this?? where do I want my persons to be?
  set age 0
  set max-age random-float 100
  set resource 10
end 

to setup-bpersons ;; bpersons procedure
  set color orange
  set shape "person"
  set size 1.25;; easier to see
  setxy random-xcor random-ycor ;;population- what other ways to do this?? where do I want my persons to be?
  set age 0
  set max-age random-float 100
  set resource 10
end 

;;---------------
;; GO PROCEDURES
;;---------------

to move ;; how to model migration with vision (high vision for migrators/lower for non?);; make quadrants with different growback rates for seasons?
  ifelse breed = apersons
  [ move-apersons ][
  if breed = bpersons
  [ move-bpersons ] ]
end 

to move-apersons
    let target max-one-of patches [ grass-amount ]
    face target
    move-to target
    set resource resource - 1
end 

to move-bpersons
   let target max-one-of neighbors4 [ grass-amount ]
    face target
    move-to target
    set resource resource - 1
end 
;;set vision (patches with [ grass-amount > .25
  ;;     ] in-radius bperson-vision)

to harvest
  ifelse breed = apersons
   [ harvest-apersons
] [
   if breed = bpersons
   [ harvest-bpersons
] ]
end 

to harvest-apersons  ;; eat-cooperative from cooperation model and GL
  if grass-amount > 5
  [ let harvest-amount grass-amount * 0.50
    set grass-amount grass-amount - harvest-amount
    set resource resource + harvest-amount ]
   recolor-grass
end 

to harvest-bpersons  ;; eat-greedy from cooperation model and GL
  if grass-amount > 0 [
    let harvest-amount grass-amount * 1
    set grass-amount grass-amount - harvest-amount
    set resource resource + harvest-amount ]
   recolor-grass
end 

to share
 ifelse breed = apersons [ share-apersons ]
[ if breed = bpersons [ share-bpersons ]
]
end 

to share-apersons ;;modified from diffusion on a directed network model
   let recipients apersons in-radius 3 ;; larger radius to suggest more egalitarian, but what if no one from breed in radius? directed link network a better guarantee
   if any? recipients [ ask recipients [ set resource resource + ( apersons-share-amount / count recipients ) ] ]
   set resource resource - apersons-share-amount
end 

to share-bpersons ;; modified from diffusion on a directed network model
   let recipients bpersons in-radius 1
   if any? recipients [ ask recipients [ set resource resource + ( bpersons-share-amount / count recipients ) ] ]
   set resource resource - bpersons-share-amount
end 

to reproduce;;certain age and amount of resource range needed for reproduction; also add sex and neighbor component?
  ifelse breed = apersons [ reproduce-apersons ]
  [ if breed = bpersons [ reproduce-bpersons ]
  ]
end 

to reproduce-apersons ;; must modify reproduction - look at % reproduction in wolf sheep predation model
   if age >= 15 and age <= 40 ;; and last_reproduced < current_tick - 4
     [ hatch random (apersons-number-offspring) [
      setup-apersons ] set resource resource / apersons-number-offspring]
end 

to reproduce-bpersons
  if age >= 15 and age <= 40;; and (last_reproduced < current_tick - 4
       [ hatch random (bpersons-number-offspring) [
      setup-bpersons ] set resource resource / bpersons-number-offspring]
end 
;;-------------------
;; PATCH UPDATES
;;-------------------

to regrow-grass
  ask patches [
    set grass-amount grass-amount + 0.01
    if grass-amount > 10 [
      set grass-amount 10
    ]
recolor-grass
  ]
end 

to recolor-grass
  set pcolor scale-color green grass-amount 0 20
end 


;;-------------------------------------
;; MONITORING AND REPORTING PROCEDURES
;;-------------------------------------

to-report resource-fraction ;; GL, feeding example. the math
  let possible-resource (count patches) * 10
  let total-resource sum [ grass-amount ] of patches
  report total-resource / possible-resource
end 

to update-lorenz-and-gini
  let num-people count turtles
  let sorted-wealths sort [resource] of turtles
  let total-wealth sum sorted-wealths
  let wealth-sum-so-far 0
  let index 0
  set gini-index-reserve 0
  set lorenz-points []
  repeat num-people [
    set wealth-sum-so-far (wealth-sum-so-far + item index sorted-wealths)
    set lorenz-points lput ((wealth-sum-so-far / total-wealth) * 100) lorenz-points
    set index (index + 1)
    set gini-index-reserve
      gini-index-reserve +
      (index / num-people) -
      (wealth-sum-so-far / total-wealth)
  ]
end 

There is only one version of this model, created over 7 years ago by Kailin Hatlestad.

Attached files

File Type Description Last updated
Socio-Natural Model.png preview Preview image over 7 years ago, by Kailin Hatlestad Download

This model does not have any ancestors.

This model does not have any descendants.