Glossary

Summary of Variables
 Variable  Meaning
Ai Birth rate of creatures in genotype i.  
H Entropy.
I Inferiority.
li Sequence length of genotype i.
M Merit (allocated CPU time)
N Number of creatures in population.
ni Number of creatures in genotype i.
R Copy Mutation Rate.
Rpoint Point Mutation Rate.
Rdivide Divide Mutation Rate.
tg Gestation time.
ta Allocated time.

Definitions

Abundance
The total number of sub-taxa within a taxon. For example, we will commonly look at the total abundance of creatures within a genotype, or the abundance of genotypes within a species.

Adaptive System
A system in which the population of programs will evolve to optimize an extrinsic fitness function imposed on their environment. Typically these programs will have no direct interactions with each other; they will only be evaluated for their fitness, and those with the maximal fitness will be chosen to survive and propagate.

Ancestor
The creature used to initialize the population in an avida run.

Auto-Adaptive System
A system of self-replicating agents in an environment with an implicit fitness function. An agent's ability to interact with both the environment and other agents will determine how well it will be able to reproduce. Only indirect control over that environment can be used to direct the evolution of these agents.

Birth-Rate
The number of offspring per update a creature (or genotype) is expected to have. This can be calculated approximately by

  A = (fitness / average_merit) × average_time_slice

This value depends on the average merit <M>, and hence on other creatures currently in the environment. The inverse of this value is the expected number of updates it would take for the creature to have a child, given its current competition.

Cell
A single organism located at a lattice point in avida. A cell consists primarily of a genome, and a CPU executing that genome.

Copied Size
The number of lines in a creature which were actually copied into it from its parent. All lines which were not copied from the parent are typically random.

Copy Mutation
A stochastic event occurring when copying a single line of code from one point in memory space to another. Typically this event affecting the copy instruction results in the instruction being written to be different from the one that was read (while still being a legal instruction). Other instructions that perform similar functions (such as write) are subject to similar errors.

Cosmic-Ray Mutation
See Point Mutation.

CPU (Central Processing Unit)
This is the machine that processes the genome of a creature. It consists of a memory space, three registers, two stacks, a facing, I/O buffers, and an instruction pointer. The CPU will move through the instructions in memory, executing each and then advancing. Most instructions (unless defined otherwise) will deterministically alter the state of the CPU.

Creature
See Cell.

Effective Mutation Probability
The probability of a specific creature (or its child) to be mutated in its attempt to copy itself.

Energy
A measure of the average inferiority in the soup (see Inferiority).

Entropy
A measure used to determine the disorder in the population, according to Shannon Information Theory. In this measure, the probability of occurrence of a single genotype i, pi, is approximated by ni/N:

  H = -Sumi( ni/N · log(ni/N) )

where ni is the current abundance of this genotype and N is the total number of strings in the population.

Executed Size
The number of instructions in the genome of a creature which are actually executed at least once during the course of its lifetime. A single nop used to modify the register an instruction interacts with does count as an executed instruction, but full labels only have their first nop counted (if these were counted in full, it could cause creatures to have very long labels in order to increase their executed size).

Fidelity
The probability for a string to correctly transmit its code to its offspring. The fidelity F is just 1 - P, where P is the error probability. If only copy errors arise with probability R, the fidelity is

  F = (1-R)l

where l is the length of the code. If insert and delete mutation occur with probability Pi and Pd respectively, the effective fidelity is

  F = (1-R)l - Pi - Pd

Fitness
A unit-less measurement of the replication ability of a particular creature in a specified environment. By itself, fitness has little intrinsic meaning, but when compared to that of another creature it gives a ratio of their respective replication rates. Specifically, to calculate fitness, we take a creature's merit and divide it by its gestation time. (fitness = M/tg). Since merit increases exponentially with the number of tasks acquired, fitness is best described by the log of its actual value (see also Inferiority).

Genebank
A directory where the genome of hand-written as well as extracted creatures is deposited.

Genome
The assembly language program used to define a creature. The genome seeds the memory component of the CPU when a creature is executed.

Genotype
A taxonomic level recorded in avida which represents all creatures with a totally identical genome. Genotype is one of the standard tools used to study avida, as all creatures of a particular genotype should behave similarly given a fixed environment.

Gestation Time
The number of instructions a creature must execute to produce a single offspring. This is typically proportional to the length of the creature.

Inferiority
A measure which determines how much worse a particular genotype is than the genotype which is currently dominating the system. The inferiority of creature i is

  Ii = log(fitnessbest) - log(fitnessi)

In avida, fitness is taken as the logarithm of the actual (purely computational) replication rate because merits are doled out using an exponential scheme (see Fitness).

Instruction
A single command in the assembly language of the CPU. When executed, an instruction modifies some of the parts of the CPU in a deterministic fashion.

Instruction Set
The collection of instructions in the assembly language the creatures are written in. Whenever an instruction is mutated, the new instruction is chosen at random from the instruction set (with all instructions given an equal probability of being selected).

Label
A sequence of nops (no-operation instructions) in the genome that are used to modify the instruction that precedes them. Typically they are used to reference another point in the code where the complement label is located.

Merit
A value indicating the amount of CPU time a particular creature deserves (or has earned) taking into account its length and the tasks that it has successfully completed.

Necrophilia
A term used to describe a form of crossover which goes on in avida. This occurs when a creature only manages to copy part of itself into space already containing the genome of a dead creature. In effect, the two genomes are merged into a single unit.

Phenotype
A classification system that measures what a creature can do without ever checking how it is done. In other words, the phenotype reflects gestation time, tasks completed, and the like, but never takes into account the actual source code (the genotype).

Point Mutation
(Also called cosmic ray mutations). This form of mutation is a random change from one instruction to another in the memory space of a creature. This can occur at any time and is not limited to whether the creature is executing a particular task, or even executing at all.

Population
The collection of all of the active creatures on the lattice in an avida run. This is sometimes also referred to as the soup.

Quasispecies
Also called the consensus sequence: the genotype obtained by picking at each location the allele (instruction) which is the most frequent in the population. This measure can strictly only be defined for sequences of the same length. If the most abundant genotype has more than 50 percent of the population, this genotype automatically becomes the quasispecies. After equilibration, the consensus sequence usually has zero or close to zero representatives in the population (approach to the error threshold).

Replication Rate
The absolute speed at which a creature can self-replicate, i.e., the number of offspring per unit time. This is simply the inverse of the creature's gestation time.

Self-Replication
The process a creature goes through in making an exact copy of its genotype in a daughter cell.

Soup
See Population.

Species
A taxonomic level above genotype. All creatures in a species are similar on a functional and structural level, but not necessarily in all instruction positions on their genome. Species can be used to study clouds around an archetype (quasispecies) in genome space.

Task
A feature imposed on the environment that can be triggered by certain actions of a creature, which will in turn cause the merit (and hence fitness) of that creature to increase.

Template
See Label; this term was more commonly used in tierra.

Threshold Genotype
A genotype which has reached a minimum abundance specified in the genesis file. (By default, this minimum is three). This is used to determine if the genotype is properly self-replicating (since it would be very unlikely to observe this many copies of a creature that could not properly copy itself). For this reason, many statistics are only taken on threshold genotypes.

Time-slice
The number of instructions executed in a particular CPU during a single update. By default (and in most avida configurations), this is proportional to the merit of the organism in that CPU.

Time-slicer
The portion of code in avida which doles out time slices to CPUs, and is responsible for executing the proper number of instructions in those CPUs.

Unrolling the Loop
An evolutionary step the population will sometimes take to lower their gestation times. This process involves copying two or more instructions each time through the copy loop to minimize the effect of loop overhead.

Update
An artificial unit of time during which all creatures execute their time-slice. All statistics about a creature are taken at the end of each update.


NEXT: Bibliography
PREV: Guide to Output Files

INDEX


Page maintained by Charles Ofria
Send all comments to charles@krl.caltech.edu