EvolutionJS is a visual simulation of a classic predator-prey natural selection model. Here's how the simulation works:
- Predators chase prey .
- If a predator catches a prey, the predator eats the prey, and the prey disappears. This creates a selective pressure on prey speed.
- If a predator doesn't eat in a certain amount of time, it will starve and disappear.
- After a certain amount of time, prey and predators will reproduce, and new prey and predators will appear. The longer an animal survives, the more chances it has to reproduce.
- Usually, a prey offspring will have a similar speed to its parent.
- Occasionally, a prey offspring will have a mutation, and its speed will be significantly different from its parent's. Mutant offspring will be a different color from their parent .
- Prey and predators have set lifespans, and will die after a certain amount of time without being eaten or starving.
Watch how the prey's average fitness (speed) changes in the graph on the right. You can also use the sliders to change simulation parameters. How do you think each option will affect the prey evolution?