Cooperation
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.
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
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.
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.