This is the basic experiment definition, which can be used to perform a range of common experiments. Advanced users can create their own experiment definitions.
Genotypes are stored on the genotypes list. The main idea of this experiment is to evaluate them and create new, probably 'better' ones. Every entry on the genotypes list represents a group of identical genotypes.
There are two main parameters of the system architecture: the capacity of genotypes list (N) and the capacity of the virtual world (n). The main routine schedules an individual (a genotype) to the world simulator in order to test it (when there is a free space there, it is, when the number of simulated individuals is less than n). After its death the fitness value is calculated (see: Parameters: Fitness).
Note that when n=1, there are no interactions between simulated creatures and the system performs like a typical evolutionary algorithm, where the fitness of an individual does not depend on the other individuals.
"standard.expdef" system architecture.
Tasks performed in each simulation step
- if needed, create new creatures in the world (depends on 'simulated creatures' settings – n)
- if population on the genotypes list exceeds 'capacity' (N), some genotypes have to be deleted (see parameters below)
- calculate next step in a 3D world simulation (muscles and neurons: new positions, forces, excitations etc.)
- calculate energy flow
- if some creatures run out of energy, "kill" them and update the genotypes' performance.
Shortcuts for this page:
Initial genotype: the genotype placed in gene pool when the "Initialize experiment" action is called.
Gene pool capacity: the maximal number of genotypes (including copies) in the gene pool.
Delete genotypes: which genotypes will be deleted when capacity limit is reached:
- Inv. proportional fitness (Better fitness = lower chances for deletion)
- Only the worst (remove the one with minimal fitness)
Simulated creatures: the number of creatures automatically put into the simulated world.
Reset performace data: sets "copies" count to zero for each genotype. Thus performace values are meaningless, and first genotype evaluation (and performance averaging, when copies will turn to 1) will override them.
How to choose genotypes for simulation, and how to modify them. Enter how many genotypes relatively will be
- Unchanged – the new genotype is a copy (clone) of the existing (selected) one
- Mutated – the new genotype is a mutation of the existing (selected) one
- Crossed over – the new genotype is a crossover of the existing (selected) two
Minimal similarity: Only the genotypes that are less dissimilar (i.e. more similar) than the given threshold can be crossed-over. This disables breeding of totally different genotypes, whose offspring would probably be inefficient/unable to live. See also Genetics: Similarity.
These parameters describe how the genotypes' fitness is calculated. Fitness is the weighted sum of criteria shown.
Velocity and Distance are calculated from creature's center of gravity position measured during its lifetime.
Turn on criteria normalization to have the criteria normalized to the interval [0,1] before weighting.
Use similarity speciation to reduce the fitness of genotypes in the gene pool according to their pairwise phenotypic similarity. Note that this operation is time consuming, and requires n2/2 dissimilarity computations every time the gene pool contents changes. See also Genetics: Similarity.
Starting energy: new creature's starting energy (per one stick). This parameter is the base energy value when no energy modifiers ('E'/'e' genes) are used. Such genes modify the actual energy relative to this setting.
Idle metabolism: energy requirement for one living stick per one simulation step.
Automatic feeding: a given number of energy balls will be placed randomly in the world all the time.
Ball's energy: amount of energy in one ball.
Ingestion multiplier: how fast a creature can ingest energy.
Aging time: When a positive value is set, energy consumption (Idle metabolism) grows non-linearly with life time (see picture below). This setting can be used to stop creatures which ingest more energy than they spend from living forever.