Welcome to the Natural Selection Simulation! The Natural Selection Simulation App allows users to simulate natural selection on a population of bouncing balls, or individuals, right at their fingertips!
Using a simple machine learning genetic algorithm, this simulation demonstrates how populations evolve towards surviving as long as possible, with the player acting as the selective force against the population.
How it works:
• The simulation works in generations, or rounds.
• Each generation, a new random population of a predetermined size of individuals (the dots you see in the simulation) is spawned based on the fitness of the individuals of the previous generation. Each individual’s fitness is the total time they survived, and the longer an individual survives, the higher their fitness score will be.
• Using this fitness measurement and many generations, the genetic algorithm will produce more and more “fit” individuals – individuals that have survived the longest – with slight variations.
Players may adjust a number of different settings to see how natural selection may shape a population.
1. Number of individuals – The number of individuals in the population. This will be the number of dots that players will see and get to tap on in the simulation screen. More individuals may allow for more chances for variability in the population.
2. Time of each round – The amount of time that passes during each round or generation, in milliseconds.The shorter the time span, the faster players will have to be to tap the individuals.
3. Background Color – Changing this setting changes the background color of the simulation screen. This may give certain colored individuals an advantage if they complement this color.
Genetic Algorithm Settings:
1. Mutation Rate – The chance that a gene in the chromosome will mutate, or change from a 0 to a 1 or vise versa. Higher mutation rates help against premature convergence to a solution, but at the cost of more variability in the population and greater difficulty of maintaining current converged solutions.
2. Tournament Size – Tournament size determines how large of a tournament population will be created. Each tournament population is made up of random chromosomes chosen at random from the population (repeats allowed in this app) with the winner of each tournament being selected for crossover. Larger tournament sizes means less fit individuals have a chance of winning these tournaments.
3. Elite Chromosomes – This is the number of chromosomes, by highest fitness, that are unchanged from one generation to the next. The higher this number, the less variable the population will be from generation to generation.
Thank you for time and interest in this simulation app! Let us know your thoughts and suggestions by contacting us through the following:
Email: [email protected]
Youtube: MisteR Apps