Complex organism evolution
Model was written in NetLogo 6.0.2
•
Viewed 570 times
•
Downloaded 52 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Complexity in competing species
Three element simulation: 2 types of bugs & grass resource which they eat.
Suggested by work of Andreas Wagner (Complex blue bugs should evolve faster
due to more neutral mutations.
Environment means everything outside immediate species.
Coded by G. Allen Pugh, Mar-Apr 2015.
Algorithm for basic (efficient) entity (red bugs)
Assume
P(mutation) ≈ 0.05
P(neutral mutation) ≈ 0.001
P(negative mutation) ≈ 0.980
Yielding,
P(positive mutation) = 1 - (0.980 + 0.001) = 0.019
Therefore,
P(producing clone) = P(no mutation) + P(mutation)*P(neutral mutation)
= 0.95 + 0.05*0.001 = 0.95005 ≈ 0.95
P(making improvement) = P(mutation) * P(positive mutation)
= 0.05 * 0.019 = 0.00095 ≈ 0.001
Algorithm for complex entity (blue bugs)
Complex bugs energy threshold for reproduction ~4x greater than basic bugs.
Assume
complex entity 4 times larger, so P(mutation) ≈ 0.2
P(neutral mutation) ≈ 0.55
P(negative mutation) ≈ 0.24
Yielding,
P(positive mutation) = 1 - (0.55 + 0.24) = 0.21
Therefore,
P(producing clone) = 0.8 + 0.2*0.55 ≈ 0.91
P(making improvement) = 0.2 * 0.21 = 0.042
Algorithm for environmental interaction
Grass grows randomly without regard to bugs.
Bugs can evolve to gain more energy from grass.
Simulation Results
• When bugs don't evolve, one bug species wins at random.
• When bugs evolve, complex blue bugs generally win over red.
• Choosing the energy required to reproduce as the evolving parameter
failed. Choosing the efficiency with which grass energy in converted
to bug energy behaved as expected.
• It wasn't necessary to have the grass evolve to demonstrate the
superiority of complex bugs over simple bugs.
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
breed [bugs bug] ; efficiency = energy obtained from eating plants bugs-own [ energy threshold efficiency ] ; threshold = energy required for reproduction to setup clear-all set-default-shape bugs "bug" create-bugs 250 [ set color red set threshold 5 ] ; simple (efficient) species create-bugs 250 [ set color blue set threshold 20 ] ; complex species (4*size of simple) ask patches [ if random-float 100 < 15 [ set pcolor green ] ] ask bugs [ setxy random-xcor random-ycor set energy random 10 set efficiency 0.4 ] reset-ticks end to go grow-grass if not any? bugs with [color = red] [ stop ] if not any? bugs with [color = blue] [ stop ] if count bugs > 1000 [ stop ] ask bugs [move eat-grass if energy > threshold [reproduce] death] tick end to grow-grass ; ask patches [ if pcolor = black [ if random-float 1000 < 15 [ set pcolor green ] ] ] ask patches [ if pcolor = black and random-float 1000 < 15 [ set pcolor green ] ] end to move ; moving takes energy rt random 50 lt random 50 fd 1 set energy energy - 0.3 end to eat-grass ; bugs gain energy by eating grass let penergy 5 set penergy penergy * efficiency ; some bugs get more from plants if pcolor = green [ set pcolor black set energy energy + penergy ] end to reproduce ; give birth to a new bug set energy energy / 2.0 ; energy expended even if offspring not viable let rn random-float 1000 if color = red [ if rn <= 1 [ ; produce improved offspring hatch 1 [ set efficiency efficiency + 0.05 fd 1 ] ] if (rn > 1) and (rn <= 951) ; use cumulative probability [ hatch 1 [ fd 1 ] ] ] ; produce clone set rn random-float 1000 if color = blue [ if rn <= 42 [ ; produce improved offspring hatch 1 [ set efficiency efficiency + 0.05 fd 1 ] ] if (rn > 42) and (rn <= 952) ; use cumulative probability [ hatch 1 [ fd 1 ] ] ] ; produce clone end to death ; die if all energy consumed if energy < 0 [ die ] end
There is only one version of this model, created over 7 years ago by Al Pugh.
This model does not have any ancestors.
This model does not have any descendants.