Bluebles2
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Bluebles2 is a model of natural selection due to changes in the environment and consequent changes in food supply. In this model, there are four types of Bluebles: Spiny Bluebles, Blue Longneck Bluebles, Green Longneck Bluebles and Green Bluebles. This model shows what happens to the Bluebles when they are forced to migrate to a new habitat. While their old habitat was a prairie with lots of grass for them to eat, this new habitat is a forest, where the only food they can eat is the leaves growing high up in the trees.
HOW IT WORKS
The model starts with a random arrangement of the four different types of Bluebles, the amounts of which are determined by the initial-number-x sliders (eg. "initial-number-spinybluebles", "initial-number-bluelongneckbluebles," etc.). The Bluebles use energy to move around, which they must regain by eating. Bluebles eat trees (the green patches) to regain energy. After it has been eaten, the trees regrow after a random number of ticks (0-10). If a Blueble's energy drops below zero, it dies.
The Bluebles also reproduce. The likelihood or proability (%) of their reproduction will be based on the "Bluebles-reproduce" slider. Each Blueble will hatch a Blueble of the same type when it reproduces. In other words, Spiny Bluebles will hatch more Spiny Bluebles, Green Bluebles will hatch more Green Bluebles, Blue Longneck Bluebles will hatch more Blue Longneck Bluebles and Green Longneck Bluebles will hatch more Green Longneck Bluebles.
HOW TO USE IT
Adjust the initial-number-spinybluebles, initial-number-greenbluebles, initial-number-bluelongneckbluebles and initial-number-greenlongneckbluebles sliders to determine how many of each breed the model will start with. Then adjust the "Bluebles-reproduce" sliders to set the likelihood of reproduction for Bluebles.
Note that the "Bluebles-reproduce_ slider adjusts the likelihood of reproduction for all four types of Bluebles.
After adjusting the sliders, press the "Setup" button to populate the model and then the "Go" button to run it. To stop the model, simply press the "Go" button a second time.
THINGS TO NOTICE
Notice that if you set the model so that there are 50 Spiny Bluebles, 50 Blue Longneck Bluebles, 50 Green Longneck Bluebles and 50 Green Bluebles and so that Bluebles have a 2% chance of reproducing, the model shows trait extinction of the shortneck Blueble body types. It is also important to note that this happens very quickly. Why do you think this is?
THINGS TO TRY
First, try adjusting the settings so that there are 50 Spiny Bluebles, 50 Blue Longneck Bluebles, 50 Green Longneck Bluebles and 50 Green Bluebles and so that Bluebles have a 2% chance of reproducing.
After you have run the model once with the settings above, try adjusting the Blueble settings to see if you can get different results.
Now try adjusting the settings to see if you can create a stable ecosystem consisting of Bluebles and Trees. Can you find any settings that generate a stable ecosystem?
EXTENDING THE MODEL
One way to extend the model would be to try changing the reproduction rules. For example, what would happen if reproduction depended on energy rather than being determined by a fixed probability? What would happen if Longneck Bluebles didn't produce only Longneck Bluebles, but were able to produce Spiny or Green Bluebles as well?
Another way to extend the model would be to build both trees and grass into the patches, with sliders for the proportion of patches dedicated to eat. With the Longneck Bluebles eating the trees and the other Bluebles eating the grass, what might happen to the population of Bluebles under different vegetation settings?
NETLOGO FEATURES
Note the use of breeds to model four different kinds of "turtles": Spiny Bluebles, Blue Longneck Bluebles, Green Longneck Bluebles and Green Bluebles.
Note the use of patches to model trees.
Note the use of the "Turtle Shapes Editor" tool to create unique and relatively complex turtle shapes.
RELATED MODELS
Look at "Wolf-Sheep Predation" for another example of patches as food sources for turtles.
Comments and Questions
globals [trees] ;; keep track of how many trees there are ;; spiny bluebles, blue longneck bluebles, green longneck bluebles and green bluebles are all breeds of turtles breed [spinybluebles spinyblueble] breed [bluelongneckbluebles bluelongneckblueble] breed [greenlongneckbluebles greenlongneckblueble] breed [greenbluebles greenblueble] turtles-own [energy] patches-own [countdown] to setup clear-all ask patches [ set pcolor 62 ] ask patches [ set countdown random 10 ;; initialize tree grow clocks randomly set pcolor one-of [62 white] ;; dark green or white ] set-default-shape spinybluebles "spiny blueble" create-spinybluebles initial-number-spinybluebles ;; create the spiny bluebles, then initialize their variables [ set color 105 ;; blue set size 7 ;; easier to see set energy random 50 setxy random-xcor random-ycor ] set-default-shape bluelongneckbluebles "longneck blueble" create-bluelongneckbluebles initial-number-bluelongneckbluebles ;; create the blue longneck bluebles, then initialize their variables [ set color 105 ;; blue set size 7 ;; easier to see set energy random 50 setxy random-xcor random-ycor ] set-default-shape greenlongneckbluebles "longneck blueble" create-greenlongneckbluebles initial-number-greenlongneckbluebles ;; create the green longneck bluebles, then initialize their variables [ set color 64 ;; green set size 7 ;; easier to see set energy random 50 setxy random-xcor random-ycor ] set-default-shape greenbluebles "spiny blueble" create-greenbluebles initial-number-greenbluebles ;; create the green bluebles, then initialize their variables [ set color 64 ;; green set size 7 ;; easier to see set energy random 50 setxy random-xcor random-ycor ] RESET-TICKS end to go if not any? turtles [ stop ] ask spinybluebles [ move set energy energy - 1 ;; deduct energy for spinybluebles death reproduce-spinybluebles ] ask bluelongneckbluebles [ move set energy energy - 1 ;; deduct energy for bluelongneckbluebles eat-trees death reproduce-bluelongneckbluebles ] ask greenlongneckbluebles [ move set energy energy - 1 ;; deduct energy for greenlongneckbluebles eat-trees death reproduce-greenlongneckbluebles ] ask greenbluebles [ move set energy energy - 1 ;; deduct energy for greenbluebles death reproduce-greenbluebles ] ask patches [ grow-trees ] set trees count patches with [pcolor = 62] ;; dark green tick end to move ;; turtle procedure rt random 50 lt random 50 fd 1 end to eat-trees ;; longneck bluebles procedure ;; longneck bluebles eat grass, turn the patch white if pcolor = 62 [ ;; dark green set pcolor white set energy energy + 2 ;; longneck bluebles gain energy by eating ] end to reproduce-spinybluebles ;; spinybluebles procedure if random-float 100 < bluebles-reproduce [ ;; throw "dice" to see if you will reproduce set energy (energy / 2) ;; divide energy between parent and offspring hatch 1 [ rt random-float 360 fd 1 ] ;; hatch an offspring and move it forward 1 step ] end to reproduce-bluelongneckbluebles ;; bluelongneckbluebles procedure if random-float 100 < bluebles-reproduce [ ;; throw "dice" to see if you will reproduce set energy (energy / 2) ;; divide energy between parent and offspring hatch 1 [ rt random-float 360 fd 1 ] ;; hatch an offspring and move it forward 1 step ] end to reproduce-greenlongneckbluebles ;; bluelongneckbluebles procedure if random-float 100 < bluebles-reproduce [ ;; throw "dice" to see if you will reproduce set energy (energy / 2) ;; divide energy between parent and offspring hatch 1 [ rt random-float 360 fd 1 ] ;; hatch an offspring and move it forward 1 step ] end to reproduce-greenbluebles ;; greenbluebles procedure if random-float 100 < bluebles-reproduce [ ;; throw "dice" to see if you will reproduce set energy (energy / 2) ;; divide energy between parent and offspring hatch 1 [ rt random-float 360 fd 1 ] ;; hatch an offspring and move it forward 1 step ] end to death ;; turtle procedure ;; when energy dips below zero, die if energy < 0 [ die ] end to grow-trees ;; patch procedure ;; countdown on white patches: if reach 0, grow some grass if pcolor = white [ ifelse countdown <= 0 [ set pcolor 62 set countdown 10 ] [ set countdown countdown - 1 ] ] end
There is only one version of this model, created over 13 years ago by Kay Ramey.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.