Configuring Avida Runs
Avida runs can be setup in detail through the use of several
different files; a genesis file, a file defining the instruction
set, one listing the events to occur during the run, a creature file (which
is used to initialize the soup), and finally a file which indicates bonus
levels for tasks. By default, these files are (respectively):
A description of each of them follows.
The Genesis File
The genesis file initializes many variables within an avida run.
The basic format for the file is:
This file is split up in a number of sections, each of which contain a
selection of variables (described briefly within the actual file). Here we attempt to fully detail the use of each variable.
The first section in the genesis file, ``Architecture Variables,''
determines the overall structure of the run. These settings are:
The ``Configuration Files'' section of the genesis file determines
which other files should be used to configure the avida run. Note that
to change the genesis file used, use the command line option:
-g <genesis_filename>
The ``Viewer'' section has only a single variable; VIEW_MODE. This
determines the screen which the user interface initializes to when
an avida run is started. By default, it is blank to maximize the speed of
the run, but the options are 0=BLANK, 1=MAP, 2=STATS, 3=HIST, 4=OPTIONS, and
5=ZOOM, each of which directly correspond to a view in avida.
The next three sections in the genesis file (``Reproduction,''
``Mutations,'' and ``Time Slicing'') are all quite important, as
the variables there can have a very large effect
on runs, and as such each are described in more detail in their own
manual sections (Reproduction,
Mutations, and
Time Slicing and the Fitness Landscape
respectively).
The ``Genotype Info'' section controls what information we record about
genotypes and species. The variables are:
Finally, the ``Data and Log Files'' section determines if and how often
information should be added to various output files. For all files, a 0 next
to the appropriate variable indicates that the file should not be printed at
all. For the data and status files, a positive number indicates
that the files should have information added to them this set interval of
updates. Most of the data files have a default value of ten, and hence are
updated every tenth update. For log files, a tag other than 0
implies that this file should be produced. See the
Guide to Output Files for more
information on exactly what is recorded in each of these files.
The Instruction Set File
The instruction set file is one of the simplest to modify. It consists
of a list of possible commands for the virtual assembly language,
each with a 1 or 0 next to them determining if they should be included.
Any instruction not listed here will automatically be assumed to have
a 0 next to it (so, theoretically only the included instructions need
to be in the list.)
Avida comes with a selection of default instruction set files that are
each for a specific purpose. Those files are:
For more information on how each instruction actually works, see
the Virtual CPU section.
The Event File
This file configures the events to occur during an avida run, by listing
the update it should happen at, the name of the event, and any relevant
arguments for it. The format is:
<update> <event-name> [<args>...]
As an example, if a creature named creature.happy is to be
injected at update number 42 into CPU 100, the following line should
be added to the file:
42 inject creature.happy 100
Only four types of events are enabled in avida Version 1.0. Those are:
The Genebank Files
Avida comes with a selection of possible ancestor creatures to initialize
(or inject into) runs, located in the directory genebank.
These files include the code of the creatures, and
are often commented. Comments all start with a # symbol; it and all of
the text following are ignored when the creatures are loaded into avida
(as are blank lines). The creature files which are included in avida are:
The Task File
The task_set file lists all of the possible bonuses that avida
creatures can receive, and the relative level (on an exponential
scale) of that bonus. To be exact, a bonus b multiplies a creature's
merit by 1 + 2b-3. Thus a bonus of 3 would double the merit, and 4
would multiply it by 3.
The file is set up so that each task in avida is listed, followed by the
bonus it should trigger for this run. After this (as comments), the
meaning of this task is given, as well as the minimum number of
nands a program would need to use to be able to complete the operation.
The task_set file is located by default in the work
directory.
Command Line Options
There are five command line options implemented in Version 1.0 of avida.
They are:
NEXT: A Guide to Output Files
PREV: The Text Interface
INDEX
Page maintained by Charles Ofria
Send all comments to
charles@krl.caltech.edu