Next: Actions and Interactions
Up: The Environment
Previous: Environmental Information
Mutations and Flaws
Little has so far been said about the role of mutation in Cosmos.
Mutation is a vital process from the evolutionary point of
view, as it provides a continual source of genetic novelty for
selection to work upon. Mutations occur
naturally throughout the system at a low rate, and may affect most
of the structures within the cell (i.e. the Genome, the Received Message Store,
the Nucleus Working Memory, the Communications Working Memory,
the Promoter Store, the Repressor Store, the flaw rate, the stack, the
registers and the flag). For structures which are based upon
BitStrings, mutations are governed by the global
parameter mutation_period, which
specifies the probability of an individual bit within the structure
being flipped. For structures based upon integer numbers (the flaw
rate, stack and registers), mutations occur at the same
rate as for BitStrings, but the details are slightly
different. For the flaw rate, a mutation causes a random
increment or decrement in the current value within
predefined limits.4.17 For
the stack, a mutation will, with equal likelihood, either cause a
random number to be pushed onto the stack, or the top number to be
popped off it. For registers, a mutation will cause the register's
current value to be replaced by a random value. Mutations also
affect the cell's flag at the same rate, causing the flag's state
to be inverted.
In addition, variety may also be introduced into an organism by the
flawed execution of instructions in its genome.4.18 When a flaw occurs
(which happens at a rate defined by an individual cell's flaw rate, as
described in Section 4.3.8),
the instruction which is about to be executed, rather than just being
executed once, will either be executed twice (successively) or not at
all. (The choice is random, with both events occurring with equal
likelihood.) The effect of a flaw is therefore that instructions may
occasionally produce abnormal results, such as an inc_a
instruction adding 2 to the value of the ax register
instead of 1.
Despite this distinction between mutations and flaws, the net results
are the same. If the error affects what gets written to the
Nucleus Working Memory of a cell just before it issues a nwm_divide
instruction, then it will be passed on to the child organism and become a
permanent addition to the gene pool. On the other hand, if the
error does not affect the contents of the Nucleus Working Memory (even
indirectly), and it does not affect the regulators that get
passed on to any offspring, then it will only affect the current
organism and will not be inherited by child organisms. From an
evolutionary point of view, only the former scenario is important.
Next: Actions and Interactions
Up: The Environment
Previous: Environmental Information
Tim Taylor
1999-05-29