In this dialog you to set the rate at which background, 'Cosmic' mutations occur in the soup, the probability of a copy errors occurring during replication, and the rate at which instruction execution is flawed. The popup menus provide some sensible values, though if you wish to specify another value, choose 'Other...' in the menu, and type the number in.
The figures in this dialog represent the mean time between mutations. In other words, on average, an error will occur every X instructions, where X is the value in the box. In actuality, these numbers specify the mean of a uniform distribution of inter-mutation times, between 0 and 2X.
The 'Instruction mutation type' setting specified how instructions are changed when they are hit by a cosmic ray, or a copy error. 'Bit flip' is the standard setting, and this may change an instruction to any of 5 others (since the instruction contains 5 bits, each of which may be flipped). 'Adjacent instruction' changes an instruction to one of its neighbours; i.e. each instruction can be changed to only 2 others. 'Random choice' simply changes an instruction to any of the others, so there are 31 possible neighbours here.
There are two alternative strategies for size selection. The simplest is 'Constant size' (top option in the dialog) -- each creature gets the same number of instructions, irrespective of size. You can specify that number of instructions in the 'Slice size' box in the dialog.
The second strategy is to have the slice size a function of creature size, so that it can be scaled to select preferentially for small or large creatures. This is the second option, the parameter 'x' setting the size preference. Set 'x' to 1.0 to cause selection to be size neutral -- each creature gets a number of instructions proportional to its size. x < 1 selects for small things, and x > 1 for large things.
The 'Random variation in slice size' value specifies the bounds, in terms of the proportion of the slice size specified by the above settings, within which the actual slice sizes are randomly, uniformly distributed. Slice sizes are allowed to vary to avoid periodic effects, when creature reproduction is synchronized. Set this to 0 to disable this random variation in slice size.
'Select for lean creatures' also weights the slice size of the creature based on a measure of how 'lean' that creature is, in other words, what proportion of its total genome it actually uses in producing offspring. This is to counter a problem when selection is size-neutral, that creatures evolve which are large (so they get lots of slicer time) but actually only use a small proportion of their space.
ax
register when
allocation (i.e. the mal
instruction) is executed.
Check 'Clear daughter cell' to zero out the space allocated for a new offspring. This reduces code exchange via 'dead code' in the soup, which constitutes a form of primitive sexuality. If both this, and 'Clear killed cells' (below) are checked, then all code exchange via dead code is prevented.
'Transfer register contents to offspring' causes the four registers in a creature to be
initialized to those of the parent (instead of to zero) when the parent executes the divide
instruction. This may represent some form of 'cultural transmission'.
When creatures die, their details can be logged to a file for later analysis. Check the 'Log deaths to file' box, and click the button, and specify the name of a new file into which logging information will be saved. This produces a tab-delimited text file, which can be simply dropped onto a wordprocessor or spreadsheet application to read and analyse.
Table of contents | Installation | Running | Soup settings | Preferences | Statistics |
Assembling | Interface | How it works | c.f. Tierra | Bugs and features | Legal stuff |