- Art
- Astronomy
- Biology
- Selection and Mutation Series
- Ant Patterns
- Bacterial Growth
- Bark Beetles
- Biological Buffer
- Birds Competing For Worms
- Color Bunnies
- Ecosystem - Predator, Prey, and Grass
- Ecosystem - Rabbits and Grass
- Ecosystem - Two Species
- Ecosystem With Predator, Prey, And Grass
- Forest Fire
- Honeycomb Formation
- Termites Perimeter
- Yeast Growth
- Chemistry
- Earth Science
- Mathematics
- Physics
- Social Science
Asexual-Selection
Submitted by librarian on Tue, 2006-08-15 19:13. :: 9-12 | Biology | Standard 2: Life Science
WHAT IS IT?
Introduction
If you have not done so, run rabbits and grass model. The rabbits and grass model explores a simple ecosystem made up of rabbits and grass. The rabbits wander around randomly, and the grass grows randomly. Rabbits use up energy as they move. When a rabbit bumps into some grass, it eats the grass and gains energy. If the rabbit gains enough energy, then it reproduces by hatching a new rabbit. If it loses all of its energy, then the rabbit dies. What happens to the population of rabbits over time?
This model deals with the question, What would happen to the population if all the rabbits were not identical? Imagine that the rabbits differed in one genetically determined trait, and that the distribution of that trait was random over a given range. What would happen to the distribution of that trait in the rabbit population over time?
In this model the genetically determined trait is color. Each rabbit begins the simulation with a randomly given color that is determined by a colorgene. The colorgene has a numerical value between 100 and 109. The color of the rabbit does not affect its fitness in this environment. That is, the color is cosmetic. This model is the same as colorbuns, just less colorful.
HOW TO USE IT
Set up
Determine the initial population number with the number slider.
‘setup’ button will distribute rabbits and grass randomly across the land.
‘show statistics’ button will activate monitors, showing you colorgene statistics; minimum, maximum, average colorgene values; as well as the range and standard deviation of colorgene values in the population.
Run
The ‘go’ button will cause the grass to grow, the rabbits to move randomly, and eat grass Rabbits are born with a randomly determined supply of ‘energy’. They use ‘energy’ to move, and gain ‘energy’ by eating grass. When their ‘energy’ is greater than the hatch-threshold (see below) they reproduce. The result is two rabbits with half the hatch threshold energy moving randomly. If rabbit energy goes to zero, the rabbit dies. A graph of number of rabbits (blue) and grass (green) vs. time is activated by ‘go’ button. Average colorgene value is plotted in black.
‘stop-it’ button stops all of this.
‘grass-rate’ slider determines how fast grass will grow. The ‘hatch-threshold’ slider determines how much
‘energy’ rabbit needs to accumulate to reproduce.
‘drought’ button kills 75% of the grass.
EXPLORATIONS
In this model the 'rabbits' reproduce asexually. Although this is not the case for real rabbits, scientists recognize that a model such as this one can accurately model population dynamics. You can imagine that we are just modeling the female rabbits and there are enough males to make them all pregnant.
Turtle procedures
turtles-own [energy species [rabbit grass] colorgene]
;turtles can be of species rabbit or species grass
to setup
setxy random screen-width random screen-height
ifelse who < grass-rate
[setc black ht setspecies grass]
[set colorgene ((random 81) + 20)
scale-color blue colorgene 20 100 ;scale the color to reflect colorgene
setspecies rabbit
setenergy random 10]
repeat 20 [grow]
end
to grow
if species = grass [ ;only grass turtles should do this
rt random 10 lt random 10
fd 1
if pc-ahead = green [stamp green] ;grass only grows near other grass
]
end
to move
if species = rabbit [ ;only rabbit turtles should do this
takestep
eat-grass
reproduce
death
]
end
to eat-grass ;turn the patch to black and increase energy
if pc = green [stamp brown setenergy energy + 1]
if energy > 30 [setenergy 30]
end
to takestep
rt random 50
lt random 50
setenergy energy - .25
fd 1
end
to reproduce
if energy > (hatch-threshold)
[setenergy energy * .5
hatch [seth random 360 jump 1]
]
end
to death
if energy < 0 [die]
end
Observer procedures
globals [mincolorgene maxcolorgene rangecolorgene avgcolorgene sdcolorgene temp totalcolorgene]
to setup
ca
clearplot
setbg brown
crt number + grass-rate
ask-patches [if (random 100) < 25 [setpc green]]
ask-turtles [setup]
setup-graph
end
to setup-graph
pp1 ppreset setppc green
pp2 ppreset setppc blue
pp3 ppreset setppc black
setplot-title "Rabbits and Grass"
setplot-yrange 0 300
setplot-xrange 0 50
end
to graph-it ;graph the amount of grass (scaled) and turtles
pp1 ppd plot (count-pc green) / 5
pp2 ppd plot count-turtles-with [species = rabbit]
pp3 ppd plot avg-colorgene
end
to total-rabbits
output count-turtles-with [species = rabbit]
end
to avg-colorgene
output ((sum-of-turtles-with (species = rabbit) [colorgene]) / count-turtles-with [species = rabbit])
end
to go
;the movebutton, grassbutton, and graphbutton are pressed
startmovebutton
startgrassbutton
startgraphbutton
startextinction
end
to stop-it
;the movebutton, grassbutton, and graphbutton are stopped
stopmovebutton
stopgrassbutton
stopgraphbutton
stopextinction
end
to calcsd
settemp 0
ask-turtles [if color != black [settemp temp + ((colorgene - avgcolorgene) * (colorgene - avgcolorgene))]]
end
to calcstats
setmincolorgene min-of-turtles-with (species = rabbit) [colorgene]
setmaxcolorgene max-of-turtles-with (species = rabbit) [colorgene]
setrangecolorgene (maxcolorgene - mincolorgene)
settotalcolorgene sum-of-turtles-with (species = rabbit) [colorgene]
setavgcolorgene (totalcolorgene / count-turtles-with [species = rabbit])
calcsd
setsdcolorgene sqrt ((temp / (count-turtles-with [species = rabbit])))
end
5806 reads
