An image of the interactive simulation environment.
This tool allows you to simulate the natural process of evolution in a simplified, artificial environment. Essentially, the tool simulates an environment filled with mice and owls. The mice strive to survive by eating grass, while the owls prey on the mice. Both animals are capable of propagating and pass down their genes to the offspring. Let evolution do its work, and see the marvelous effects of natural selection!
Every simulation is based on a number of settings that you will specify before beforehand - or you can choose a pre-determined configuration if you like!
The tool has two different modes:
- Interactive mode, where you can see evolution working in real-time.
- Simulation mode, where you can test a range of different custom configurations, figuring out which variables are important for stimulating evolution.
In the environment, male and female mice are coloured dark and light blue respectively, while male and female owls are colored red and orange respectively. Each animal is given a number, indicating its level of speed. If the number is underlined, it means the animal is currently pregant, and will soon produce offspring.
Install the package through PyPi:
pip install evolutionsimulator
Run it in your terminal through the following command:
simulate
Voilá, the GUI will take you on from there.
Below is a list of the settings for each simulation that you can explore.
- dimensions - number of vertical and horizontal tiles in the environment
- rock_chance - the probability in percent that a tile is an obstructive rock instead of grass
- grass_grow_back - number of ticks before grass grows back after being eaten
- rand_catch - determines if catching is probability based or deterministic
- in_medias_res - determines if simulation is started cold or warm
- rand_variance_trait - the amount in percentage that offspring can vary in the speed trait from the average of its parents
- speed - determines whether or not the speed trait is inherited
- m_number - number of mice upon start of simulation
- m_die_of_hunger - number of ticks before a given mouse dies of hunger
- m_preg_time - number of ticks that a female mouse is pregnant
- m_max_age - number of ticks before a mouse dies of old age
Same as for mice above
- o_number
- o_die_of_hunger
- o_preg_time
- o_max_age
- slow_mode_sleep_time - time between each tick when slow-mode is enabled
- ticks - number of ticks desired to be run for the simulation
- repetitions - number of repetitions to be run for each given configuration