Cooperation

Cooperation preview image

3 collaborators

Uri_dolphin3 Uri Wilensky (Author)
Default-person Joshua Mitteldorf (Domain expert)
Damon Centola (Author)

Tags

biology 

Tagged by Reuven M. Lerner about 11 years ago

evolution 

Tagged by Reuven M. Lerner about 11 years ago

social science 

Tagged by Reuven M. Lerner about 11 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 1419 times • Downloaded 177 times • Run 4 times
Download the 'Cooperation' 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?

This model (and Altruism and Divide the Cake) are part of the EACH unit ("Evolution of Altruistic and Cooperative Habits: Learning About Complexity in Evolution"). See http://ccl.northwestern.edu/cm/EACH/ for more information on the EACH unit. The EACH unit is embedded within the BEAGLE (Biological Experiments in Adaptation, Genetics, Learning and Evolution) evolution curriculum. (See http://ccl.northwestern.edu/curriculum/simevolution/beagle.shtml .)

This is an evolutionary biology model. In it, agents (cows) compete for natural resources (grass). Cows that are more successful in getting grass reproduce more often, and will thus be more evolutionarily successful. This model includes two kinds of cows, greedy and cooperative. It shows how these two different strategies do when competing against each other within a population that evolves over time.

HOW IT WORKS

Every turn, each cow looks at the patch that it is currently on, and eats a unit of grass. The greedy cows eat the grass regardless of the length of the grass on the current patch. The cooperative cows won't eat the grass below a certain height. This behavior is significant because below a certain height (called the "growth threshold"), the grass grows at a far slower rate than above it. Thus, the cooperative agents leave more food for the overall population at a cost to their individual well-being, while the greedy agents eat the grass down to the nub, regardless of the effect on the overall population.

HOW TO USE IT

GO: Starts and stops the model.

SETUP: Resets the simulation according to the parameters set by the sliders.

INITIAL-COWS: Sets the number of initial cows.

COOPERATIVE-PROBABILITY: Sets the chance an initial cow will be of the cooperative breed

STRIDE-LENGTH: This value determines the movement of the cows. Each cow will move forward a distance of STRIDE-LENGTH each turn. As the value is increased, the cows will move to other patches more frequently.

GRASS-ENERGY: Each time a cow can eat some grass from the patch that it currently occupies, it increases its energy by the value of this slider.

METABOLISM: Every time step, each cow loses the amount of energy set by this slider. If the cows energy dips below 0, it dies. Every cow starts with a default energy of 50, which means it can go 50 / METABOLISM turns without eating.

REPRODUCTION-THRESHOLD: If a cow's energy reaches the value of this slider, it reproduces. This value represents the food-gathering success that a cow would have to have in order to be able to reproduce.

REPRODUCTION-COST: Each time a cow reproduces, it loses the amount of energy set by this slider. This value represents the energy cost of reproduction.

LOW-GROWTH-CHANCE: This value is the percentage chance that the grass below the growth threshold will grow back. The higher this value, the less the discrepancy between the behaviors of the cooperative and greedy cows.

HIGH-GROWTH-CHANCE: This value is the percentage chance that the grass above the growth threshold will grow back. The lower this value, the less the discrepancy between the behaviors of the cooperative and greedy cows.

MAX-GRASS-HEIGHT: This value sets the highest length to which the grass can grow.

LOW-HIGH-THRESHOLD: This value sets the grass growth threshold. At, or above this value, the grass grows back with HIGH-GROWTH-CHANCE. Below this value, the grass grows back with LOW-GROWTH-CHANCE.

THINGS TO NOTICE

Run the model with the default settings. Watch the different growth curves on the population plot. Which population expands first? Which population wins in the end?

THINGS TO TRY

Slowly decrease the STRIDE-LENGTH slider. What happens to the populations?

At what value of STRIDE-LENGTH do the populations' growth rates change dramatically? What does this indicate about the evolutionary advantages of cooperating versus being greedy? What are the important environmental factors?

Change the METABOLISM and the GRASS-ENERGY values. How do these values affect the model?

Change the LOW-GROWTH-CHANCE and the HIGH-GROWTH-CHANCE values. How do these values affect the model?

How does the LOW-HIGH-THRESHOLD value affect the growth of the populations?

Can you find settings that maximize the advantage of the cooperative cows?

EXTENDING THE MODEL

This model explores only one type of cooperative behavior, namely eating the grass above the growth threshold (the LOW-HIGH-THRESHOLD value). What other cooperative, or altruistic, behaviors could be modeled that hurt individual fitness, while helping the group overall? What environmental conditions other than grass length could be used to affect the health of a population?

This model relies primarily upon population "viscosity" (the STRIDE-LENGTH slider) to alter the behavior of the cows to allow for the success of the cooperative agents. What other variables could have such a drastic effect on the evolutionary success of populations?

Also, consider that in this model the behaviors are fixed. What would happen if the agents learned, or changed their behavior based on food availability?

NETLOGO FEATURES

Breeds are used to represent the two different kinds of agents. The turtles primitive is used to refer to both breeds together.

RELATED MODELS

Altruism

CREDITS AND REFERENCES

This model and the Altruism model are part of the EACH unit "Evolution of Altruistic and Cooperative Habits: Learning About Complexity in Evolution". See http://ccl.northwestern.edu/cm/EACH/ for more information. EACH is embedded with the BEAGLE (Biological Experiments in Adaptation, Genetics, Learning and Evolution) evolution curriculum. See http://ccl.northwestern.edu/curriculum/simevolution/beagle.shtml .

Thanks to Damon Centola, Eamon McKenzie, Josh Mitteldorf, and Scott Styles.

HOW TO CITE

If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

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

COPYRIGHT AND LICENSE

Copyright 1997 Uri Wilensky.

CC BY-NC-SA 3.0

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.

Comments and Questions

Click to Run Model

turtles-own [ energy ]
patches-own [ grass ]

breed [cooperative-cows cooperative-cow]
breed [greedy-cows greedy-cow]

to setup
  clear-all
  setup-cows
  ask patches [
    set grass max-grass-height
    color-grass
  ]
  reset-ticks
end 

to setup-cows
  set-default-shape turtles "cow"   ;; applies to both breeds
  crt initial-cows [
    setxy random-xcor random-ycor
    set energy metabolism * 4
    ifelse (random-float 1.0 < cooperative-probability) [
      set breed cooperative-cows
      set color red - 1.5
    ] [
      set breed greedy-cows
      set color sky - 2
    ]
  ]
end 

to go
  ask turtles [  ;; includes both breeds
    move
    eat
    reproduce
  ]
  ask patches [
    grow-grass
    color-grass
  ]
  tick
end 

to reproduce  ;; turtle procedure
  if energy > reproduction-threshold [
    set energy energy - reproduction-cost
    hatch 1
  ]
end 

to grow-grass  ;; patch procedure
  ifelse ( grass >= low-high-threshold) [
    if high-growth-chance >= random-float 100
      [ set grass grass + 1 ]
  ][
    if low-growth-chance >= random-float 100
      [ set grass grass + 1 ]
  ]
  if grass > max-grass-height
    [ set grass max-grass-height ]
end 

to color-grass  ;; patch procedure
  set pcolor scale-color (green - 1) grass 0 (2 * max-grass-height)
end 

to move  ;; turtle procedure
  rt random 360
  fd stride-length
  set energy energy - metabolism
  if energy < 0 [ die ]
end 

to eat  ;; turtle procedure
  ifelse breed = cooperative-cows [
    eat-cooperative
  ] [
    if breed = greedy-cows
      [ eat-greedy ]
  ]
end 

to eat-cooperative  ;; turtle procedure
  if grass > low-high-threshold [
    set grass grass - 1
    set energy energy + grass-energy
  ]
end 

to eat-greedy  ;; turtle procedure
  if grass > 0 [
    set grass grass - 1
    set energy energy + grass-energy
  ]
end 


; Copyright 1997 Uri Wilensky.
; See Info tab for full copyright and license.

There are 25 versions of this model.

Uploaded by When Description Download
Uri Wilensky over 11 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky almost 12 years ago Updated version tag Download this version
Uri Wilensky almost 12 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky over 12 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Cooperation Download this version

Attached files

File Type Description Last updated
Cooperation.png preview Preview for 'Cooperation' over 11 years ago, by Uri Wilensky Download

This model does not have any ancestors.

This model does not have any descendants.