/genetic-playground

A Javascript web application to explore and experiment with evolutionary computation principles.

Primary LanguageJavaScript

Genetic playground

A Javascript web application to explore and experiment with evolutionary computation principles.

Simulation is comprised of a population of robots with a single wheel whose rotation speed and direction are controlled by a standard PID controller. Parameters for this controller is to be optimized over generations by the genetic algorithm in order to ensure their survival in a challenging environment (bumpy wheel with increasing rotation speed).

Developed by @theo_champion as part of the evolutionary computing course at RMIT university.

Genetic configuration parameters

Name Default Range/Type Description
Population Size 100 Real Number Size of the population
Crossover Rate 0.6 [0.0, 1.0] Probability of crossover operation (multi point)
Mutation Rate 0.1 [0.0, 1.0] Probability of mutation operation (safe random bit flip)

Selection operators

Individual Selectors Description
IndividualSelectors.Tournament2 Select fittest of two random individuals
IndividualSelectors.Tournament3 Select fittest of three random individuals
IndividualSelectors.Fittest Select fittest individual of the population
IndividualSelectors.Random Select a random individual
Pair-wise (parents) Selectors Description
ParentsSelectors.Tournament2 Select a pair of individual using IndividualSelectors.Tournament2
ParentsSelectors.Tournament3 Select a pair of individual using IndividualSelectors.Tournament3
ParentsSelectors.Random Select a pair of random individuals
ParentsSelectors.FittestRandom Select a pair of the fittest and a random individual