[Avida-SVN] r3390 - in development/tests: . kin_cheaters kin_cheaters/config kin_cheaters/expected kin_cheaters/expected/data

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Mon Aug 31 12:11:56 PDT 2009


Author: beckma24
Date: 2009-08-31 15:11:56 -0400 (Mon, 31 Aug 2009)
New Revision: 3390

Added:
   development/tests/kin_cheaters/
   development/tests/kin_cheaters/config/
   development/tests/kin_cheaters/config/avida.cfg
   development/tests/kin_cheaters/config/environment.cfg
   development/tests/kin_cheaters/config/events.cfg
   development/tests/kin_cheaters/config/inst_set.default
   development/tests/kin_cheaters/config/organism.default
   development/tests/kin_cheaters/expected/
   development/tests/kin_cheaters/expected/data/
   development/tests/kin_cheaters/expected/data/average.dat
   development/tests/kin_cheaters/expected/data/count.dat
   development/tests/kin_cheaters/expected/data/dominant.dat
   development/tests/kin_cheaters/expected/data/instruction.dat
   development/tests/kin_cheaters/expected/data/resource.dat
   development/tests/kin_cheaters/expected/data/stats.dat
   development/tests/kin_cheaters/expected/data/tasks.dat
   development/tests/kin_cheaters/expected/data/time.dat
   development/tests/kin_cheaters/test_list
Log:
Adding kin_cheaters test

Added: development/tests/kin_cheaters/config/avida.cfg
===================================================================
--- development/tests/kin_cheaters/config/avida.cfg	                        (rev 0)
+++ development/tests/kin_cheaters/config/avida.cfg	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,620 @@
+#############################################################################
+# This file includes all the basic run-time defines for Avida.
+# For more information, see doc/config.html
+#############################################################################
+
+VERSION_ID 2.9.0   # Do not change this value.
+
+### GENERAL_GROUP ###
+# General Settings
+ANALYZE_MODE 0  # 0 = Disabled
+                # 1 = Enabled
+                # 2 = Interactive
+VIEW_MODE 1     # Initial viewer screen
+CLONE_FILE -    # Clone file to load
+VERBOSITY 1     # 0 = No output at all
+                # 1 = Normal output
+                # 2 = Verbose output, detailing progress
+                # 3 = High level of details, as available
+                # 4 = Print Debug Information, as applicable
+
+### ARCH_GROUP ###
+# Architecture Variables
+WORLD_X 60         # Width of the Avida world
+WORLD_Y 60         # Height of the Avida world
+WORLD_Z 1          # Depth of the Avida world
+WORLD_GEOMETRY 2   # 1 = Bounded Grid
+                   # 2 = Torus
+                   # 3 = Clique
+                   # 4 = Hexagonal grid
+                   # 5 = Lattice
+RANDOM_SEED 42     # Random number seed (0 for based on time)
+HARDWARE_TYPE 0    # 0 = Original CPUs
+                   # 1 = New SMT CPUs
+                   # 2 = Transitional SMT
+                   # 3 = Experimental CPU
+                   # 4 = Gene Expression CPU
+SPECULATIVE 1      # Enable speculative execution
+TRACE_EXECUTION 0  # Trace the execution of all organisms in the population (default=off,SLOW!)
+BCAST_HOPS 1       # Number of hops to broadcast an alarm
+ALARM_SELF 0       # Does sending an alarm move sender IP to alarm label?
+                   # 0=no
+                   # 1=yes
+IO_EXPIRE 1        # Is the expiration functionality of '-expire' I/O instructions enabled?
+
+### CONFIG_FILE_GROUP ###
+# Configuration Files
+DATA_DIR data                       # Directory in which config files are found
+INST_SET inst_set.default                          # File containing instruction set
+INST_SET_FORMAT 0                   # Instruction set file format.
+                                    # 0 = Default
+                                    # 1 = New Style
+EVENT_FILE events.cfg               # File containing list of events during run
+ANALYZE_FILE analyze.cfg            # File used for analysis mode
+ENVIRONMENT_FILE environment.cfg    # File that describes the environment
+START_CREATURE organism.default  # Organism to seed the soup
+
+### DEME_GROUP ###
+# Demes and Germlines
+NUM_DEMES 1                             # Number of independent groups in the
+                                        # population (default=1).
+DEMES_USE_GERMLINE 0                    # Whether demes use a distinct germline (default=0).
+DEMES_PREVENT_STERILE 0                 # Whether to prevent sterile demes from
+                                        # replicating (default=0 or no).
+DEMES_RESET_RESOURCES 0                 # Reset resources in demes on replication. 
+                                        # 0 = reset both demes 
+                                        # 1 = reset target deme 
+                                        # 2 = deme resources remain unchanged
+DEMES_REPLICATE_SIZE 1                  # Number of identical organisms to create or copy from the
+                                        # source deme to the target deme (default=1).
+LOG_DEMES_REPLICATE 0                   # Log deme replications.  0/1 (off/on)
+DEMES_REPLICATE_LOG_START 0             # Update at which to start logging deme replications
+DEMES_PROB_ORG_TRANSFER 0.0             # Probablity of an organism being transferred from the
+                                        # source deme to the target deme (default=0.0).
+DEMES_ORGANISM_SELECTION 0              # How organisms are selected for transfer from
+                                        # source to target during deme replication.
+                                        # 0=random with replacement (default).
+                                        # 1=sequential.
+DEMES_ORGANISM_PLACEMENT 0              # How organisms are placed during deme replication.
+                                        # 0=cell-array middle (default).
+                                        # 1=deme center.
+                                        # 2=random placement.
+                                        # 3=sequential.
+DEMES_ORGANISM_FACING 0                 # How organisms are facing during deme replication.
+                                        # 0=unchanged (default).
+                                        # 1=northwest.
+                                        # 2=random.
+DEMES_MAX_AGE 500                       # The maximum age of a deme (in updates) to be
+                                        # used for age-based replication (default=500).
+DEMES_MAX_BIRTHS 100                    # The maximum number of births that can occur
+                                        # within a deme; used with birth-count
+                                        # replication (default=100).
+DEMES_MIM_EVENTS_KILLED_RATIO 0.7       # Minimum ratio of events killed required for event period to be a success.
+DEMES_MIM_SUCCESSFUL_EVENT_PERIODS 1    # Minimum number of consecutive event periods that must be a success.
+GERMLINE_COPY_MUT 0.0075                # Prob. of copy mutations occuring during
+                                        # germline replication (default=0.0075).
+GERMLINE_INS_MUT 0.05                   # Prob. of an insertion mutation occuring
+                                        # during germline replication (default=0.05).
+GERMLINE_DEL_MUT 0.05                   # Prob. of a deletion mutation occuring
+                                        # during germline replication (default=0.05).
+DEMES_REPLICATE_CPU_CYCLES 0.0          # Replicate a deme immediately after it has used
+                                        # this number of cpu cycles, normalized
+                                        # by number of orgs in deme (0 = OFF).
+DEMES_REPLICATE_TIME 0.0                # Replicate a deme immediately after it has used
+                                        # this number of cpu cycles, normalized
+                                        # by number of orgs in deme and organism merit (0 = OFF).
+DEMES_REPLICATE_BIRTHS 0                # Replicate a deme immediately after it has 
+                                        # produced this many offspring (0 = OFF).
+DEMES_REPLICATE_ORGS 0                  # Replicate a deme immediately once it reaches a
+                                        # certain number of organisms (0 = OFF).
+DEMES_REPLICATION_ONLY_RESETS 0         # Kin selection mode. Deme replication really:
+                                        # 1=resets deme resources
+                                        # 2=rests deme resources and re-injects organisms
+DEMES_MIGRATION_RATE 0.0                # Probability of an offspring being born in a different deme.
+DEMES_MIGRATION_METHOD 0                # How do we choose what demes an org may land in when it migrates?
+                                        # 0=all other demes
+                                        # 1=eight adjacent neighbors
+                                        # 2=two adjacent demes in list
+                                        # 3=proportional based on the number of points
+DEMES_NUM_X 0                           # Simulated number of demes in X dimension. Only used for migration. 
+DEMES_SEED_METHOD 0                     # Deme seeding method.
+                                        # 0=maintain old consistency
+                                        # 1=new method using genotypes
+DEMES_DIVIDE_METHOD 0                   # Deme divide method. Only works with DEMES_SEED_METHOD 1
+                                        # 0=replace and target demes
+                                        # 1= replace target deme, reset source deme to founders
+                                        # 2=replace target deme, leave source deme unchanged
+DEMES_DEFAULT_GERMLINE_PROPENSITY 0.0   # Default germline propensity of organisms in deme.
+                                        # For use with DEMES_DIVIDE_METHOD 2.
+DEMES_FOUNDER_GERMLINE_PROPENSITY -1.0  # Default germline propensity of founder organisms in deme.
+                                        # For use with DEMES_DIVIDE_METHOD 2.
+                                        #  <0 = OFF
+DEMES_PREFER_EMPTY 0                    # Give empty demes preference as targets of deme replication?
+DEMES_PROTECTION_POINTS 0               # The number of points a deme receives for each suicide.
+POINT_DECAY_PERCENT 0                   # The percentage of points decayed each time cActionDecayPoints is called.
+
+### REPRODUCTION_GROUP ###
+# Birth and Death
+BIRTH_METHOD 0            # Which organism should be replaced on birth?
+                          # 0 = Random organism in neighborhood
+                          # 1 = Oldest in neighborhood
+                          # 2 = Largest Age/Merit in neighborhood
+                          # 3 = None (use only empty cells in neighborhood)
+                          # 4 = Random from population (Mass Action)
+                          # 5 = Oldest in entire population
+                          # 6 = Random within deme
+                          # 7 = Organism faced by parent
+                          # 8 = Next grid cell (id+1)
+                          # 9 = Largest energy used in entire population
+                          # 10 = Largest energy used in neighborhood
+PREFER_EMPTY 1            # Give empty cells preference in offsping placement?
+ALLOW_PARENT 1            # Allow births to replace the parent organism?
+DEATH_METHOD 2            # 0 = Never die of old age.
+                          # 1 = Die when inst executed = AGE_LIMIT (+deviation)
+                          # 2 = Die when inst executed = length*AGE_LIMIT (+dev)
+AGE_LIMIT 20              # Modifies DEATH_METHOD
+AGE_DEVIATION 0           # Creates a distribution around AGE_LIMIT
+ALLOC_METHOD 0            # (Orignal CPU Only)
+                          # 0 = Allocated space is set to default instruction.
+                          # 1 = Set to section of dead genome (Necrophilia)
+                          # 2 = Allocated space is set to random instruction.
+DIVIDE_METHOD 1           # 0 = Divide leaves state of mother untouched.
+                          # 1 = Divide resets state of mother
+                          #     (after the divide, we have 2 children)
+                          # 2 = Divide resets state of current thread only
+                          #     (does not touch possible parasite threads)
+                          # 3 = Divide resets mother stats, but not state.
+                          # 4 = 3 + child inherits mother registers and stack values.
+EPIGENETIC_METHOD 0       # Inheritance of state information other than genome
+                          # 0 = none
+                          # 1 = offspring inherits registers and stacks of first thread
+                          # 1 = parent maintains registers and stacks of first thread
+                          # 
+                          # 1 = offspring and parent keep state information
+INJECT_METHOD 0           # 0 = Leaves the parasite thread state untouched.
+                          # 1 = Resets the calling thread state on inject
+GENERATION_INC_METHOD 1   # 0 = Only the generation of the child is
+                          #     increased on divide.
+                          # 1 = Both the generation of the mother and child are
+                          #     increased on divide (good with DIVIDE_METHOD 1).
+RESET_INPUTS_ON_DIVIDE 0  # Reset environment inputs of parent upon successful divide.
+REPRO_METHOD 1            # Replace existing organism: 1=yes
+
+### RECOMBINATION_GROUP ###
+# Sexual Recombination and Modularity
+RECOMBINATION_PROB 1.0         # probability of recombination in div-sex
+MAX_BIRTH_WAIT_TIME -1         # Updates incipiant orgs can wait for crossover
+MODULE_NUM 0                   # number of modules in the genome
+CONT_REC_REGS 1                # are (modular) recombination regions continuous
+CORESPOND_REC_REGS 1           # are (modular) recombination regions swapped randomly
+                               #  or with corresponding positions?
+TWO_FOLD_COST_SEX 0            # 1 = only one recombined offspring is born.
+                               # 2 = both offspring are born
+SAME_LENGTH_SEX 0              # 0 = recombine with any genome
+                               # 1 = only recombine w/ same length
+ALLOW_MATE_SELECTION 0         # Allow organisms to select mates (requires instruction set support)
+LEGACY_GRID_LOCAL_SELECTION 0  # Enable legacy grid local mate selection (ignores population structure)
+
+### DIVIDE_GROUP ###
+# Divide Restrictions
+CHILD_SIZE_RANGE 1.0         # Maximal differential between child and parent sizes.
+                             # (Checked BEFORE mutations applied on divide.)
+MIN_COPIED_LINES 0.5         # Code fraction which must be copied before divide.
+MIN_EXE_LINES 0.5            # Code fraction which must be executed before divide.
+MIN_GENOME_SIZE 0            # Minimum number of instructions allowed in a genome. 0 = OFF
+MAX_GENOME_SIZE 0            # Maximum number of instructions allowed in a genome. 0 = OFF
+REQUIRE_ALLOCATE 1           # (Original CPU Only) Require allocate before divide?
+REQUIRED_TASK -1             # Task ID required for successful divide.
+IMMUNITY_TASK -1             # Task providing immunity from the required task.
+REQUIRED_REACTION -1         # Reaction ID required for successful divide.
+REQUIRED_BONUS 0.0           # Required bonus to divide.
+REQUIRE_EXACT_COPY 0         # Require offspring to be an exact copy (only divide mutations allowed).
+IMPLICIT_REPRO_BONUS 0       # Call Inst_Repro to divide upon achieving this bonus. 0 = OFF
+IMPLICIT_REPRO_CPU_CYCLES 0  # Call Inst_Repro after this many cpu cycles. 0 = OFF
+IMPLICIT_REPRO_TIME 0        # Call Inst_Repro after this time used. 0 = OFF
+IMPLICIT_REPRO_END 0         # Call Inst_Repro after executing the last instruction in the genome.
+IMPLICIT_REPRO_ENERGY 0.0    # Call Inst_Repro if organism accumulates this amount of energy.
+
+### MUTATION_GROUP ###
+# Mutations
+POINT_MUT_PROB 0.0            # Mutation rate (per-location per update)
+COPY_MUT_PROB 0.0075          # Mutation rate (per copy)
+COPY_INS_PROB 0.0             # Insertion rate (per copy)
+COPY_DEL_PROB 0.0             # Deletion rate (per copy)
+COPY_UNIFORM_PROB 0.0         # Uniform mutation probability (per copy)
+                              # - Randomly applies any of the three classes of mutations (ins, del, point).
+COPY_SLIP_PROB 0.0            # Slip rate (per copy)
+DIV_MUT_PROB 0.0              # Mutation rate (per site, applied on divide)
+DIV_INS_PROB 0.0              # Insertion rate (per site, applied on divide)
+DIV_DEL_PROB 0.0              # Deletion rate (per site, applied on divide)
+DIV_UNIFORM_PROB 0.0          # Uniform mutation probability (per site, applied on divide)
+                              # - Randomly applies any of the three classes of mutations (ins, del, point).
+DIV_SLIP_PROB 0.0             # Slip rate (per site, applied on divide)
+DIVIDE_MUT_PROB 0.0           # Mutation rate (max one, per divide)
+DIVIDE_INS_PROB 0.0          # Insertion rate (max one, per divide)
+DIVIDE_DEL_PROB 0.0          # Deletion rate (max one, per divide)
+DIVIDE_SLIP_PROB 0.0          # Slip rate (per divide) - creates large deletions/duplications
+DIVIDE_POISSON_MUT_MEAN 0.0   # Mutation rate (Poisson distributed, per divide)
+DIVIDE_POISSON_INS_MEAN 0.0   # Insertion rate (Poisson distributed, per divide)
+DIVIDE_POISSON_DEL_MEAN 0.0   # Deletion rate (Poisson distributed, per divide)
+DIVIDE_POISSON_SLIP_MEAN 0.0  # Slip rate (Poisson distributed, per divide)
+DIVIDE_UNIFORM_PROB 0.0       # Uniform mutation probability (per divide)
+                              # - Randomly applies any of the three classes of mutations (ins, del, point).
+DEATH_PROB 0.0                # Death rate (parent organism, per divide)
+INJECT_INS_PROB 0.0           # Insertion rate (per site, applied on inject)
+INJECT_DEL_PROB 0.0           # Deletion rate (per site, applied on inject)
+INJECT_MUT_PROB 0.0           # Mutation rate (per site, applied on inject)
+SLIP_FILL_MODE 0              # Fill insertions from slip mutations with 0=duplication, 1=nop-X, 2=random, 3=scrambled, 4=nop-C
+SLIP_COPY_MODE 0              # How to handle 'on-copy' slip mutations:
+                              # 0 = actual read head slip
+                              # 1 = instant large mutation (obeys slip mode)
+PARENT_MUT_PROB 0.0           # Per-site, in parent, on divide
+SPECIAL_MUT_LINE -1           # If this is >= 0, ONLY this line is mutated
+META_COPY_MUT 0.0             # Prob. of copy mutation rate changing (per gen)
+META_STD_DEV 0.0              # Standard deviation of meta mutation size.
+MUT_RATE_SOURCE 1             # 1 = Mutation rates determined by environment.
+                              # 2 = Mutation rates inherited from parent.
+MIGRATION_RATE 0.0            # Uniform probability of offspring migrating to a new deme.
+
+### REVERSION_GROUP ###
+# Mutation Reversion
+# These slow down avida a lot, and should be set to 0.0 normally.
+REVERT_FATAL 0.0           # Should any mutations be reverted on birth?
+REVERT_DETRIMENTAL 0.0     #   0.0 to 1.0; Probability of reversion.
+REVERT_NEUTRAL 0.0         # 
+REVERT_BENEFICIAL 0.0      # 
+REVERT_TASKLOSS 0.0        # should org be reverted if loses task(s) without gaining other(s)?
+STERILIZE_FATAL 0.0        # Should any mutations clear (kill) the organism?
+STERILIZE_DETRIMENTAL 0.0  # 
+STERILIZE_NEUTRAL 0.0      # 
+STERILIZE_BENEFICIAL 0.0   # 
+STERILIZE_TASKLOSS 0.0     # 
+FAIL_IMPLICIT 1            # Should copies that failed *not* due to mutations
+                           # be eliminated?
+NEUTRAL_MAX 0.0            # The percent benifical change from parent fitness
+                           # to be considered neutral.
+NEUTRAL_MIN 0.0            # The percent deleterious change from parent fitness
+                           # to be considered neutral.
+
+### TIME_GROUP ###
+# Time Slicing
+AVE_TIME_SLICE 30            # Ave number of insts per org per update
+SLICING_METHOD 1             # 0 = CONSTANT: all organisms get default...
+                             # 1 = PROBABILISTIC: Run _prob_ proportional to merit.
+                             # 2 = INTEGRATED: Perfectly integrated deterministic.
+                             # 3 = DemeProbabalistic, each deme gets the same number of CPU cycles, which are awarded probabalistically within each deme.
+                             # 4 = ProbDemeProbabalistic, each deme gets CPU cycles proportional to its living population size, which are awarded probabalistically within each deme.
+                             # 5 = CONSTANT BURST: all organisms get default, in SLICING_BURST_SIZE chunks
+SLICING_BURST_SIZE 1         # Sets the scheduler burst size, when supported.
+BASE_MERIT_METHOD 4          # 0 = Constant (merit independent of size)
+                             # 1 = Merit proportional to copied size
+                             # 2 = Merit prop. to executed size
+                             # 3 = Merit prop. to full size
+                             # 4 = Merit prop. to min of executed or copied size
+                             # 5 = Merit prop. to sqrt of the minimum size
+                             # 6 = Merit prop. to num times MERIT_BONUS_INST is in genome.
+BASE_CONST_MERIT 100         # Base merit when BASE_MERIT_METHOD set to 0
+DEFAULT_BONUS 1.0            # Initial bonus before any tasks
+MERIT_DEFAULT_BONUS 0        # Scale the merit of an offspring by this default bonus
+                             # rather than the accumulated bonus of the parent? 0 = off
+MERIT_BONUS_INST 0           # in BASE_MERIT_METHOD 6, this sets which instruction counts
+                             # (-1 = none, 0 = First in INST_SET.)
+MERIT_BONUS_EFFECT 0         # in BASE_MERIT_METHOD 6, this sets how much merit is earned
+                             # per instruction (-1 = penalty, 0 = no effect.)
+MERIT_INC_APPLY_IMMEDIATE 0  # Should merit increases (above current) be applied immediately, or delayed until divide?
+FITNESS_METHOD 0             # 0 = default, >=1 = experimental
+FITNESS_COEFF_1 1.0          # 1st FITNESS_METHOD parameter
+FITNESS_COEFF_2 1.0          # 2nd FITNESS_METHOD parameter
+FITNESS_VALLEY 0             # in BASE_MERIT_METHOD 6, this creates valleys from
+                             # FITNESS_VALLEY_START to FITNESS_VALLEY_STOP
+                             # (0 = off, 1 = on)
+FITNESS_VALLEY_START 0       # if FITNESS_VALLEY = 1, orgs with num_key_instructions
+                             # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP
+                             # get fitness 1 (lowest)
+FITNESS_VALLEY_STOP 0        # if FITNESS_VALLEY = 1, orgs with num_key_instructions
+                             # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP
+                             # get fitness 1 (lowest)
+MAX_CPU_THREADS 1            # Number of Threads a CPU can spawn
+THREAD_SLICING_METHOD 0      # Formula for and organism's thread slicing
+                             #   (num_threads-1) * THREAD_SLICING_METHOD + 1
+                             # 0 = One thread executed per time slice.
+                             # 1 = All threads executed each time slice.
+NO_CPU_CYCLE_TIME 0          # Don't count each CPU cycle as part of gestation time
+MAX_LABEL_EXE_SIZE 1         # Max nops marked as executed when labels are used
+MERIT_GIVEN 0.0              # Fraction of merit donated with 'donate' command
+MERIT_RECEIVED 0.0           # Multiplier of merit given with 'donate' command
+MAX_DONATE_KIN_DIST -1       # Limit on distance of relation for donate; -1=no max
+MAX_DONATE_EDIT_DIST -1      # Limit on genetic (edit) distance for donate; -1=no max
+MIN_GB_DONATE_THRESHOLD -1   # threshold green beard donates only to orgs above this
+                             # donation attempt threshold; -1=no thresh
+DONATE_THRESH_QUANTA 10      # The size of steps between quanta donate thresholds
+MAX_DONATES 1000000          # Limit on number of donates organisms are allowed.
+PRECALC_PHENOTYPE 0          # 0 = Disabled
+                             #  1 = Assign precalculated merit at birth (unlimited resources only)
+                             #  2 = Assign precalculated gestation time
+                             #  3 = Assign precalculated merit AND gestation time.
+                             #  4 = Assign last instruction counts 
+                             #  5 = Assign last instruction counts and merit
+                             #  6 = Assign last instruction counts and gestation time 
+                             #  7 = Assign everything currently supported
+                             # Fitness will be evaluated for organism based on these settings.
+FASTFORWARD_UPDATES 0        # Fast-forward if the average generation has not changed in this many updates. (0 = off)
+FASTFORWARD_NUM_ORGS 0       # Fast-forward if population is equal to this
+GENOTYPE_PHENPLAST_CALC 100  # Number of times to test a genotype's
+                             # plasticity during runtime.
+
+### GENEOLOGY_GROUP ###
+# Geneology
+TRACK_MAIN_LINEAGE 1  # Keep all ancestors of the active population?
+                      # 0=no, 1=yes, 2=yes,w/sexual population
+THRESHOLD 3           # Number of organisms in a genotype needed for it
+                      #   to be considered viable.
+GENOTYPE_PRINT 0      # 0/1 (off/on) Print out all threshold genotypes?
+GENOTYPE_PRINT_DOM 0  # Print out a genotype if it stays dominant for
+                      #   this many updates. (0 = off)
+SPECIES_THRESHOLD 2   # max failure count for organisms to be same species
+SPECIES_RECORDING 0   # 1 = full, 2 = limited search (parent only)
+SPECIES_PRINT 0       # 0/1 (off/on) Print out all species?
+TEST_CPU_TIME_MOD 20  # Time allocated in test CPUs (multiple of length)
+TRACK_PARENT_DIST 0   # Track parent distance during run. This is unnecessary when track main lineage is on.
+
+### LOG_GROUP ###
+# Log Files
+LOG_CREATURES 0  # 0/1 (off/on) toggle to print file.
+LOG_GENOTYPES 0  # 0 = off, 1 = print ALL, 2 = print threshold ONLY.
+LOG_THRESHOLD 0  # 0/1 (off/on) toggle to print file.
+LOG_SPECIES 0    # 0/1 (off/on) toggle to print file.
+
+### LINEAGE_GROUP ###
+# Lineage
+# NOTE: This should probably be called "Clade"
+# This one can slow down avida a lot. It is used to get an idea of how
+# often an advantageous mutation arises, and where it goes afterwards.
+# Lineage creation options are.  Works only when LOG_LINEAGES is set to 1.
+#   0 = manual creation (on inject, use successive integers as lineage labels).
+#   1 = when a child's (potential) fitness is higher than that of its parent.
+#   2 = when a child's (potential) fitness is higher than max in population.
+#   3 = when a child's (potential) fitness is higher than max in dom. lineage
+# *and* the child is in the dominant lineage, or (2)
+#   4 = when a child's (potential) fitness is higher than max in dom. lineage
+# (and that of its own lineage)
+#   5 = same as child's (potential) fitness is higher than that of the
+#       currently dominant organism, and also than that of any organism
+#       currently in the same lineage.
+#   6 = when a child's (potential) fitness is higher than any organism
+#       currently in the same lineage.
+#   7 = when a child's (potential) fitness is higher than that of any
+#       organism in its line of descent
+LOG_LINEAGES 0             # 
+LINEAGE_CREATION_METHOD 0  # 
+
+### ORGANISM_NETWORK_GROUP ###
+# Organism Network Communication
+NET_ENABLED 0      # Enable Network Communication Support
+NET_DROP_PROB 0.0  # Message drop rate
+NET_MUT_PROB 0.0   # Message corruption probability
+NET_MUT_TYPE 0     # Type of message corruption.  0 = Random Single Bit, 1 = Always Flip Last
+NET_STYLE 0        # Communication Style.  0 = Random Next, 1 = Receiver Facing
+
+### ORGANISM_MESSAGING_GROUP ###
+# Organism Message-Based Communication
+MESSAGE_TYPE 0                      # Messaging Style. 0=Receiver Facing, 1=Broadcast
+MESSAGE_BCAST_RADIUS 1              # Broadcast message radius (cells)
+ORGANISMS_REMEMBER_MESSAGES 1       # Does an organism remember all messages it has sent or received? 0=false, 1=true (default)
+MESSAGE_QUEUE_SIZE -1               # Maximum number of unretrieved messages an organism can store (-1 for no limit is the default)
+MESSAGE_QUEUE_BEHAVIOR_WHEN_FULL 0  # 0 = Drop incoming message (default), 1 = Drop oldest unretrieved message
+
+### BUY_SELL_GROUP ###
+# Buying and Selling Parameters
+SAVE_RECEIVED 0  # Enable storage of all inputs bought from other orgs
+BUY_PRICE 0      # price offered by organisms attempting to buy
+SELL_PRICE 0     # price offered by organisms attempting to sell
+
+### HOARD_RESOURCE_GROUP ###
+# Resource Hoarding Parameters
+USE_RESOURCE_BINS 0             # Enable resource bin use.  This serves as a guard on most resource hoarding code.
+ABSORB_RESOURCE_FRACTION .0025  # Fraction of available environmental resource an organism absorbs.
+MULTI_ABSORB_TYPE 0             # What to do if a collect instruction is called on a range of resources.
+                                #  0 = absorb a random resource in the range
+                                #  1 = absorb the first resource in the range
+                                #  2 = absorb the last resource in the range
+                                #  3 = absorb ABSORB_RESOURCE_FRACTION / (# of resources in range) of each resource in the range
+MAX_TOTAL_STORED -1             # Maximum total amount of all resources an organism can store.
+                                #  <0 = no maximum
+USE_STORED_FRACTION 1.0         # The fraction of stored resource to use.
+ENV_FRACTION_THRESHOLD 1.0      # The fraction of available environmental resource to compare available stored resource to when deciding whether to use stored resource.
+RETURN_STORED_ON_DEATH 1        # Return an organism's stored resources to the world when it dies?
+
+### ANALYZE_GROUP ###
+# Analysis Settings
+MAX_CONCURRENCY -1  # Maximum number of analyze threads, -1 == use all available.
+ANALYZE_OPTION_1    # String variable accessible from analysis scripts
+ANALYZE_OPTION_2    # String variable accessible from analysis scripts
+
+### ENERGY_GROUP ###
+# Energy Settings
+ENERGY_ENABLED 0                               # Enable Energy Model. 0/1 (off/on)
+ENERGY_GIVEN_ON_INJECT 0.0                     # Energy given to organism upon injection.
+ENERGY_GIVEN_AT_BIRTH 0.0                      # Energy given to offspring upon birth.
+FRAC_PARENT_ENERGY_GIVEN_TO_ORG_AT_BIRTH 0.5   # Fraction of parent's energy given to offspring organism.
+FRAC_PARENT_ENERGY_GIVEN_TO_DEME_AT_BIRTH 0.5  # Fraction of parent's energy given to offspring deme.
+FRAC_ENERGY_DECAY_AT_ORG_BIRTH 0.0             # Fraction of energy lost due to decay during organism reproduction.
+FRAC_ENERGY_DECAY_AT_DEME_BIRTH 0.0            # Fraction of energy lost due to decay during deme reproduction.
+NUM_CYCLES_EXC_BEFORE_0_ENERGY 0               # Number of virtual CPU cycles executed before energy is exhausted.
+ENERGY_CAP -1.0                                # Maximum amount of energy that can be stored in an organism.  -1 means the cap is set to Max Double
+APPLY_ENERGY_METHOD 0                          # When should rewarded energy be applied to current energy?
+                                               # 0 = on divide
+                                               # 1 = on completion of task
+                                               # 2 = on sleep
+FIX_METABOLIC_RATE -1.0                        # Fix organism metobolic rate to value.  This value is static.  Feature disabled by default (value == -1)
+FRAC_ENERGY_TRANSFER 0.0                       # Fraction of replaced organism's energy take by new resident
+LOG_SLEEP_TIMES 0                              # Log sleep start and end times. 0/1 (off/on)
+                                               # WARNING: may use lots of memory.
+FRAC_ENERGY_RELINQUISH 1.0                     # Fraction of organisms energy to relinquish
+ENERGY_PASSED_ON_DEME_REPLICATION_METHOD 0     # Who get energy passed from a parent deme
+                                               # 0 = Energy divided among organisms injected to offspring deme
+                                               # 1 = Energy divided among cells in offspring deme
+INHERIT_EXE_RATE 0                             # Inherit energy rate from parent? 0=no  1=yes
+ATTACK_DECAY_RATE 0.0                          # Percent of cell's energy decayed by attack
+ENERGY_THRESH_LOW .33                          # Threshold percent below which energy level is considered low.  Requires ENERGY_CAP.
+ENERGY_THRESH_HIGH .75                         # Threshold percent above which energy level is considered high.  Requires ENERGY_CAP.
+ENERGY_COMPARISON_EPSILON 0.0                  # Percent difference (relative to executing organism) required in energy level comparisons
+
+### ENERGY_SHARING_GROUP ###
+# Energy Sharing Settings
+ENERGY_SHARING_METHOD 0            # Method for sharing energy.  0=receiver must actively receive/request, 1=energy pushed on receiver
+ENERGY_SHARING_PCT 0.0             # Percent of energy to share
+ENERGY_SHARING_INCREMENT 0.01      # Amount to change percent energy shared
+RESOURCE_SHARING_LOSS 0.0          # Fraction of shared resource lost in transfer
+ENERGY_SHARING_UPDATE_METABOLIC 0  # 0/1 (off/on) - Whether to update an organism's metabolic rate on donate or reception/application of energy
+LOG_ENERGY_SHARING 0               # Whether or not to log energy shares.  0/1 (off/on)
+
+### SECOND_PASS_GROUP ###
+# Tracking metrics known after the running experiment previously
+TRACK_CCLADES 0                    # Enable tracking of coalescence clades
+TRACK_CCLADES_IDS coalescence.ids  # File storing coalescence IDs
+
+### GX_GROUP ###
+# Gene Expression CPU Settings
+MAX_PROGRAMIDS 16                # Maximum number of programids an organism can create.
+MAX_PROGRAMID_AGE 2000           # Max number of CPU cycles a programid executes before it is removed.
+IMPLICIT_GENE_EXPRESSION 0       # Create executable programids from the genome without explicit allocation and copying?
+IMPLICIT_BG_PROMOTER_RATE 0.0    # Relative rate of non-promoter sites creating programids.
+IMPLICIT_TURNOVER_RATE 0.0       # Number of programids recycled per CPU cycle. 0 = OFF
+IMPLICIT_MAX_PROGRAMID_LENGTH 0  # Creation of an executable programid terminates after this many instructions. 0 = disabled
+
+### PROMOTER_GROUP ###
+# Promoters
+PROMOTERS_ENABLED 0             # Use the promoter/terminator execution scheme.
+                                # Certain instructions must also be included.
+PROMOTER_INST_MAX 0             # Maximum number of instructions to execute before terminating. 0 = off
+PROMOTER_PROCESSIVITY 1.0       # Chance of not terminating after each cpu cycle.
+PROMOTER_PROCESSIVITY_INST 1.0  # Chance of not terminating after each instruction.
+PROMOTER_TO_REGISTER 0          # Place a promoter's base bit code in register BX when starting execution from it?
+TERMINATION_RESETS 0            # Does termination reset the thread's state?
+NO_ACTIVE_PROMOTER_EFFECT 0     # What happens when there are no active promoters?
+                                # 0 = Start execution at the beginning of the genome.
+                                # 1 = Kill the organism.
+                                # 2 = Stop the organism from executing any further instructions.
+PROMOTER_CODE_SIZE 24           # Size of a promoter code in bits. (Maximum value is 32)
+PROMOTER_EXE_LENGTH 3           # Length of promoter windows used to determine execution.
+PROMOTER_EXE_THRESHOLD 2        # Minimum number of bits that must be set in a promoter window to allow execution.
+INST_CODE_LENGTH 3              # Instruction binary code length (number of bits)
+INST_CODE_DEFAULT_TYPE 0        # Default value of instruction binary code value.
+                                # 0 = All zeros
+                                # 1 = Based off the instruction number
+CONSTITUTIVE_REGULATION 0       # Sense a new regulation value before each CPU cycle?
+
+### COLORS_GROUP ###
+# Output colors for when data files are printed in HTML mode.
+# There are two sets of these; the first are for lineages,
+# and the second are for mutation tests.
+COLOR_DIFF CCCCFF        # Color to flag stat that has changed since parent.
+COLOR_SAME FFFFFF        # Color to flag stat that has NOT changed since parent.
+COLOR_NEG2 FF0000        # Color to flag stat that is significantly worse than parent.
+COLOR_NEG1 FFCCCC        # Color to flag stat that is minorly worse than parent.
+COLOR_POS1 CCFFCC        # Color to flag stat that is minorly better than parent.
+COLOR_POS2 00FF00        # Color to flag stat that is significantly better than parent.
+COLOR_MUT_POS 00FF00     # Color to flag stat that has changed since parent.
+COLOR_MUT_NEUT FFFFFF    # Color to flag stat that has changed since parent.
+COLOR_MUT_NEG FFFF00     # Color to flag stat that has changed since parent.
+COLOR_MUT_LETHAL FF0000  # Color to flag stat that has changed since parent.
+
+### BIOMIMETIC_GROUP ###
+# Biomimetic Features Settings
+BIOMIMETIC_REFRACTORY_PERIOD 0.0  # Number of updates affected by refractory period
+BIOMIMETIC_MOVEMENT_STEP 1        # Number of cells to move Avidian on move instruction
+BIOMIMETIC_MOVEMENT_LOG 0         # Log detailed movement information (WARNING: large data file)
+BIOMIMETIC_MOVEMENT_FACTOR 1.0    # Scale merit bonus due to movement (m<1.0 applies a cost)
+BIOMIMETIC_EVAL_ON_MOVEMENT 0     # Force task evaluation on each movement step
+BIOMIMETIC_K 0                    # Carrying capacity in number of organisms
+
+### PHEROMONE_GROUP ###
+# Pheromone Settings
+PHEROMONE_ENABLED 0        # Enable pheromone usage. 0/1 (off/on)
+PHEROMONE_AMOUNT 1.0       # Amount of pheromone to add per drop
+PHEROMONE_DROP_MODE 0      # Where to drop pheromone
+                           # 0 = Half amount at src, half at dest
+                           # 1 = All at source
+                           # 2 = All at dest
+EXPLOIT_EXPLORE_PROB 0.00  # Probability of random exploration
+                           # instead of pheromone trail following
+LOG_PHEROMONE 0            # Log pheromone drops.  0/1 (off/on)
+PHEROMONE_LOG_START 0      # Update at which to start logging pheromone drops
+EXPLOIT_LOG_START 0        # Update at which to start logging exploit moves
+EXPLORE_LOG_START 0        # Update at which to start logging explore moves
+MOVETARGET_LOG_START 0     # Update at which to start logging movetarget moves
+LOG_INJECT 0               # Log injection of organisms.  0/1 (off/on)
+INJECT_LOG_START 0         # Update at which to start logging injection of
+                           # organisms
+
+### SYNCHRONIZATION_GROUP ###
+# Synchronization settings
+SYNC_FITNESS_WINDOW 100     # Number of updates over which to calculate fitness (default=100).
+SYNC_FLASH_LOSSRATE 0.0     # P() to lose a flash send (0.0==off).
+SYNC_TEST_FLASH_ARRIVAL -1  # CPU cycle at which an organism will receive a flash (off=-1, default=-1, analyze mode only.)
+
+### REPUTATION_GROUP ###
+# Reputation Settings
+RAW_MATERIAL_AMOUNT 100          # Number of raw materials an organism starts with
+AUTO_REPUTATION 0                # Is an organism's reputation automatically computed based on its donations
+                                 # 0=no
+                                 # 1=increment for each donation + standing
+                                 # 2=+1 for donations given -1 for donations received
+                                 # 3=1 for donors -1 for recivers who have not donated
+                                 # 4=+1 for donors
+                                 # 5=+1 for donors during task check
+ALT_BENEFIT 1.00                 # Number multiplied by the number of raw materials received from another organism to compute reward
+ALT_COST 1.00                    # Number multiplied by the number of your raw materials
+ROTATE_ON_DONATE 0               # Rotate an organism to face its donor 0/1 (off/on)
+REPUTATION_REWARD 0              # Reward an organism for having a good reputation
+DONATION_FAILURE_PERCENT 0       # Percentage of times that a donation fails
+RANDOMIZE_RAW_MATERIAL_AMOUNT 0  # Should all the organisms receive the same amount 0/1 (off/on)
+DONATION_RESTRICTIONS 0          # 0=none
+                                 # 1=inter-species only
+                                 # 2=different tag only
+INHERIT_REPUTATION 0             # 0=reputations are not inherited
+                                 # 1=reputations are inherited
+                                 # 2=tags are inherited
+SPECIALISTS 0                    # 0=generalists allowed
+                                 # 1=only specialists
+STRING_AMOUNT_CAP -1             # -1=no cap on string amounts
+                                 # #=CAP
+MATCH_ALREADY_PRODUCED 0         # 0=off
+                                 # 1=on
+
+### GROUP_FORMATION_GROUP ###
+# Group Formation Settings
+USE_FORM_GROUPS 0  # Enable organisms to form groups. 0=off,
+                   #  1=on no restrict,
+                   #  2=on restrict to defined
+
+### DEME_NETWORK_GROUP ###
+# Deme network settings
+DEME_NETWORK_TYPE 0                    # 0=topology, structure of network determines fitness.
+DEME_NETWORK_REQUIRES_CONNECTEDNESS 1  # Whether the deme's network must be connected before an actual fitness is calculated.
+DEME_NETWORK_TOPOLOGY_FITNESS 0        # Network measure used to determine fitness; see cDemeTopologyNetwork.h.
+
+### HGT_GROUP ###
+# Horizontal gene transfer settings
+ENABLE_HGT 0                    # Whether HGT is enabled; 0=false (default),
+                                #  1=true.
+HGT_FRAGMENT_SIZE_MEAN 10       # Mean size of fragments (drawn from a normal
+                                # dist., default=10).
+HGT_FRAGMENT_SIZE_VARIANCE 2    # Variance of fragments (drawn from a normal
+                                # dist., default=2).
+HGT_MAX_FRAGMENTS_PER_CELL 100  # Max. allowed number of fragments
+                                # per cell (default=100).
+HGT_DIFFUSION_METHOD 0          # Method to use for diffusion of genome
+                                # fragments (0=none [default]).
+HGT_INSERTION_PROB 0.0          # Probability that a genome fragment
+                                # will be inserted during a copy (default=0.0).
+HGT_LOOKAHEAD_LENGTH 4          # Number of instructions forward from the
+                                # read head that will be used to calculate
+                                # the liklihood of HGT.
+
+### INST_RES_GROUP ###
+# Resource-Dependent Instructions Settings
+INST_RES            # Resource upon which the execution of certain instruction depends
+INST_RES_FLOOR 0.0  # Assumed lower level of resource in environment.  Used for probability dist.
+INST_RES_CEIL 0.0   # Assumed upper level of resource in environment.  Used for probability dist.

Added: development/tests/kin_cheaters/config/environment.cfg
===================================================================
--- development/tests/kin_cheaters/config/environment.cfg	                        (rev 0)
+++ development/tests/kin_cheaters/config/environment.cfg	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,23 @@
+##############################################################################
+#
+# This is the setup file for the task/resource system.  From here, you can
+# setup the available resources (including their inflow and outflow rates) as
+# well as the reactions that the organisms can trigger by performing tasks.
+#
+# This file is currently setup to reward 9 tasks, all of which use the
+# "infinite" resource, which is undepletable.
+#
+# For information on how to use this file, see:  doc/environment.html
+# For other sample environments, see:  source/support/config/ 
+#
+##############################################################################
+
+REACTION  NOT  not   process:value=1.0:type=pow  requisite:max_count=1
+REACTION  NAND nand  process:value=1.0:type=pow  requisite:max_count=1
+REACTION  AND  and   process:value=2.0:type=pow  requisite:max_count=1
+REACTION  ORN  orn   process:value=2.0:type=pow  requisite:max_count=1
+REACTION  OR   or    process:value=3.0:type=pow  requisite:max_count=1
+REACTION  ANDN andn  process:value=3.0:type=pow  requisite:max_count=1
+REACTION  NOR  nor   process:value=4.0:type=pow  requisite:max_count=1
+REACTION  XOR  xor   process:value=4.0:type=pow  requisite:max_count=1
+REACTION  EQU  equ   process:value=5.0:type=pow  requisite:max_count=1

Added: development/tests/kin_cheaters/config/events.cfg
===================================================================
--- development/tests/kin_cheaters/config/events.cfg	                        (rev 0)
+++ development/tests/kin_cheaters/config/events.cfg	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,37 @@
+##############################################################################
+#
+# This is the setup file for the events system.  From here, you can
+# configure any actions that you want to have happen during the course of
+# an experiment, including setting the times for data collection.
+#
+# basic syntax: [trigger] [start:interval:stop] [action/event] [arguments...]
+#
+# This file is currently setup to record key information every 100 updates.
+#
+# For information on how to use this file, see:  doc/events.html
+# For other sample event configurations, see:  support/config/
+#
+##############################################################################
+
+# Print all of the standard data files...
+u 0:100:end PrintAverageData       # Save info about they average genotypes
+u 0:100:end PrintDominantData      # Save info about most abundant genotypes
+u 0:100:end PrintStatsData         # Collect satistics about entire pop.
+u 0:100:end PrintCountData         # Count organisms, genotypes, species, etc.
+u 0:100:end PrintTasksData         # Save organisms counts for each task.
+u 0:100:end PrintTimeData          # Track time conversion (generations, etc.)
+u 0:100:end PrintResourceData      # Track resource abundance.
+u 0:100:end PrintInstructionData   # Track instructions executed 
+
+# A few data files not printed by default
+# u 0:100 PrintDominantGenotype      # Save the most abundant genotypes
+# u 100:100:end PrintErrorData       # Std. Error on averages.
+# u 100:100:end PrintVarianceData    # Variance on averages.
+# u 100:100:end PrintTotalsData      # Total counts over entire run.
+# u 100:100:end PrintTasksExeData    # Num. times tasks have been executed.
+# u 100:100:end PrintTasksQualData   # Task quality information
+
+# Setup the exit time and full population data collection.
+u 50000:50000 SavePopulation         # Save current state of population.
+u 50000:50000 SaveHistoricPopulation # Save ancestors of current population.
+u 200 exit                        # exit

Added: development/tests/kin_cheaters/config/inst_set.default
===================================================================
--- development/tests/kin_cheaters/config/inst_set.default	                        (rev 0)
+++ development/tests/kin_cheaters/config/inst_set.default	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,55 @@
+nop-A      1   # a
+nop-B      1   # b
+nop-C      1   # c
+if-n-equ   1   # d
+if-less    1   # e
+pop        1   # f
+push       1   # g
+swap-stk   1   # h
+swap       1   # i 
+shift-r    1   # j
+shift-l    1   # k
+inc        1   # l
+dec        1   # m
+add        1   # n
+sub        1   # o
+nand       1   # p
+IO         1   # q   Puts current contents of register and gets new.
+h-alloc    1   # r   Allocate as much memory as organism can use.
+h-divide   1   # s   Cuts off everything between the read and write heads
+h-copy     1   # t   Combine h-read and h-write
+h-search   1   # u   Search for matching template, set flow head & return info
+               #   #   if no template, move flow-head here, set size&offset=0.
+mov-head   1   # v   Move ?IP? head to flow control.
+jmp-head   1   # w   Move ?IP? head by fixed amount in CX.  Set old pos in CX.
+get-head   1   # x   Get position of specified head in CX.
+if-label   1   # y
+set-flow   1   # z   Move flow-head to address in ?CX? 
+kazi	     1   # A   commit suicide killing all non-kin around
+kazi5	     1   # A   commit suicide killing all non-kin around
+nop-X	     0   # B   nop that doesn't modify reg or head
+
+#adv-head   1
+#jump-f     1
+#jump-b     1
+#call       1
+#return     1
+#if-bit-1   1
+#get        1
+#put        1
+#h-read     1
+#h-write    1
+#set-head   1
+#search-f   1
+#search-b   1
+
+
+# Works on multiple nops:  pop  push  inc  dec  IO  adv-head 
+
+# What if we add a new head.  Search will return the location of something,
+# and put the new head there.  Then set-head will move another head to that
+# point.  In the case of the copy loop, it only needs to be set once and
+# this will speed up the code quite a bit!
+
+# Search with no template returns current position (abs line number) in
+# genome.
\ No newline at end of file

Added: development/tests/kin_cheaters/config/organism.default
===================================================================
--- development/tests/kin_cheaters/config/organism.default	                        (rev 0)
+++ development/tests/kin_cheaters/config/organism.default	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,100 @@
+h-alloc    # Allocate space for child
+h-search   # Locate the end of the organism
+nop-C      #
+nop-A      #
+mov-head   # Place write-head at beginning of offspring.
+nop-C      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+nop-X      #
+h-search   # Mark the beginning of the copy loop
+h-copy     # Do the copy
+if-label   # If we're done copying....
+nop-C      #
+nop-A      #
+h-divide   #    ...divide!
+mov-head   # Otherwise, loop back to the beginning of the copy loop.
+nop-A      # End label.
+nop-B      #

Added: development/tests/kin_cheaters/expected/data/average.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/average.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/average.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,22 @@
+# Avida Average Data
+# Mon Aug 31 15:12:40 2009
+#  1: Update
+#  2: Merit
+#  3: Gestation Time
+#  4: Fitness
+#  5: Repro Rate?
+#  6: Size
+#  7: Copied Size
+#  8: Executed Size
+#  9: Abundance
+# 10: Proportion of organisms that gave birth in this update
+# 11: Proportion of Breed True Organisms
+# 12: Genotype Depth
+# 13: Generation
+# 14: Neutral Metric
+# 15: Lineage Label
+# 16: True Replication Rate (based on births/update, time-averaged)
+
+0 97.000000 389.000000 0.000000 0.000000 100.000000 100.000000 97.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 
+100 96.913 388.826 0.249245 0 100 100 96.913 1.725 0 0 1.3913 6.95652 -1.32833 0 0 
+200 96.1463 394.02 0.244998 0 100 100 96.1463 1.44876 0.0146341 0.00487805 4.31707 14.8171 -2.1749 0 0 

Added: development/tests/kin_cheaters/expected/data/count.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/count.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/count.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,22 @@
+# Avida count data
+# Mon Aug 31 15:12:40 2009
+#  1: update
+#  2: number of insts executed this update
+#  3: number of organisms
+#  4: number of different genotypes
+#  5: number of different threshold genotypes
+#  6: number of different species
+#  7: number of different threshold species
+#  8: number of different lineages
+#  9: number of births in this update
+# 10: number of deaths in this update
+# 11: number of breed true
+# 12: number of breed true organisms?
+# 13: number of no-birth organisms
+# 14: number of single-threaded organisms
+# 15: number of multi-threaded organisms
+# 16: number of modified organisms
+
+0 30 1 1 1 0 0 0 1 0 1 1 1 1 0 0 
+100 2070 69 40 6 0 0 0 0 0 0 35 38 69 0 0 
+200 12300 410 283 65 0 0 0 6 6 2 203 225 410 0 0 

Added: development/tests/kin_cheaters/expected/data/dominant.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/dominant.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/dominant.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,22 @@
+# Avida Dominant Data
+# Mon Aug 31 15:12:40 2009
+#  1: Update
+#  2: Average Merit of the Dominant Genotype
+#  3: Average Gestation Time of the Dominant Genotype
+#  4: Average Fitness of the Dominant Genotype
+#  5: Repro Rate?
+#  6: Size of Dominant Genotype
+#  7: Copied Size of Dominant Genotype
+#  8: Executed Size of Dominant Genotype
+#  9: Abundance of Dominant Genotype
+# 10: Number of Births
+# 11: Number of Dominant Breed True?
+# 12: Dominant Gene Depth
+# 13: Dominant Breed In
+# 14: Max Fitness?
+# 15: Genotype ID of Dominant Genotype
+# 16: Name of the Dominant Genotype
+
+0 0.000000 0.000000 0.000000 0.000000 100 0.000000 0.000000 1 0 0 0 0 0.000000 1 100-aaaaa 
+100 97 389 0.249357 0.00257069 100 100 97 11 0 0 0 0 0.251295 1 100-aaaaa 
+200 97 389 0.249357 0.00257069 100 100 97 9 0 0 2 0 0.253264 64 100-aaaaq 

Added: development/tests/kin_cheaters/expected/data/instruction.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/instruction.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/instruction.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,36 @@
+# Avida instruction execution data
+# Mon Aug 31 15:12:40 2009
+#  1: Update
+#  2: nop-A
+#  3: nop-B
+#  4: nop-C
+#  5: if-n-equ
+#  6: if-less
+#  7: pop
+#  8: push
+#  9: swap-stk
+# 10: swap
+# 11: shift-r
+# 12: shift-l
+# 13: inc
+# 14: dec
+# 15: add
+# 16: sub
+# 17: nand
+# 18: IO
+# 19: h-alloc
+# 20: h-divide
+# 21: h-copy
+# 22: h-search
+# 23: mov-head
+# 24: jmp-head
+# 25: get-head
+# 26: if-label
+# 27: set-flow
+# 28: kazi
+# 29: kazi5
+# 30: nop-X
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+100 5 15 5 2 2 0 6 7 1 1 0 0 5 0 8 4 2 69 69 6900 142 6898 2 17 6902 2 4 2 5759 
+200 2500 149 203 39 53 48 474 62 40 73 39 63 152 60 139 48 83 410 410 41000 924 39612 48 299 38894 59 116 45 32469 

Added: development/tests/kin_cheaters/expected/data/resource.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/resource.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/resource.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,9 @@
+# Avida resource data
+# Mon Aug 31 15:12:40 2009
+# First column gives the current update, all further columns give the quantity
+# of the particular resource at that update.
+#  1: Update
+
+0 
+100 
+200 

Added: development/tests/kin_cheaters/expected/data/stats.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/stats.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/stats.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,18 @@
+# Generic Statistics Data
+# Mon Aug 31 15:12:40 2009
+#  1: update
+#  2: average inferiority (energy)
+#  3: ave probability of any mutations in genome
+#  4: probability of any mutations in dom genome
+#  5: log(average fidelity)
+#  6: log(dominant fidelity)
+#  7: change in number of genotypes
+#  8: genotypic entropy
+#  9: species entropy
+# 10: depth of most reacent coalescence
+# 11: Total number of resamplings this generation
+# 12: Total number of organisms that failed to resample this generation
+
+0 0.000000 0.516533 0.516533 0.726773 0.726773 1 0.000000 0.000000 0 0 0 
+100 0.000450642 0.516533 0.516533 0.726773 0.726773 0 3.42726 0 0 0 0 
+200 0.0176367 0.516533 0.516533 0.726773 0.726773 0 5.48598 0 1 0 0 

Added: development/tests/kin_cheaters/expected/data/tasks.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/tasks.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/tasks.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,18 @@
+# Avida tasks data
+# Mon Aug 31 15:12:40 2009
+# First column gives the current update, next columns give the number
+# of organisms that have the particular task as a component of their merit
+#  1: Update
+#  2: Not
+#  3: Nand
+#  4: And
+#  5: OrNot
+#  6: Or
+#  7: AndNot
+#  8: Nor
+#  9: Xor
+# 10: Equals
+
+0 0 0 0 0 0 0 0 0 0 
+100 0 0 0 0 0 0 0 0 0 
+200 0 0 0 0 0 0 0 0 0 

Added: development/tests/kin_cheaters/expected/data/time.dat
===================================================================
--- development/tests/kin_cheaters/expected/data/time.dat	                        (rev 0)
+++ development/tests/kin_cheaters/expected/data/time.dat	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,10 @@
+# Avida time data
+# Mon Aug 31 15:12:40 2009
+#  1: update
+#  2: avida time
+#  3: average generation
+#  4: num_executed?
+
+0 0.000000 0.000000 30 
+100 1.031 6.95652 2070 
+200 2.07217 14.8171 12300 

Added: development/tests/kin_cheaters/test_list
===================================================================
--- development/tests/kin_cheaters/test_list	                        (rev 0)
+++ development/tests/kin_cheaters/test_list	2009-08-31 19:11:56 UTC (rev 3390)
@@ -0,0 +1,37 @@
+;--- Begin Test Configuration File (test_list) ---
+[main]
+; Command line arguments to pass to the application
+args =                   
+
+app = %(default_app)s            ; Application path to test
+nonzeroexit = disallow   ; Exit code handling (disallow, allow, or require)
+                         ;  disallow - treat non-zero exit codes as failures
+                         ;  allow - all exit codes are acceptable
+                         ;  require - treat zero exit codes as failures, useful
+                         ;            for creating tests for app error checking
+createdby = Jeff Clune ; Who created the test
+email = jclune at msu.edu ; Email address for the test's creator
+
+[consistency]
+enabled = yes            ; Is this test a consistency test?
+long = no                ; Is this test a long test?
+
+[performance]
+enabled = no             ; Is this test a performance test?
+long = no                ; Is this test a long test?
+
+; The following variables can be used in constructing setting values by calling
+; them with %(variable_name)s.  For example see 'app' above.
+;
+; builddir 
+; cpus 
+; default_app 
+; mode 
+; perf_repeat 
+; perf_user_margin 
+; perf_wall_margin 
+; svn 
+; svnmetadir 
+; svnversion 
+; testdir 
+;--- End Test Configuration File ---




More information about the Avida-cvs mailing list