- 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.