[Avida-SVN] r1600 - in development: source/actions tests tests/green_beard_instructions tests/green_beard_instructions/config tests/green_beard_instructions/expected tests/green_beard_instructions/expected/data tests/green_beard_instructions/expected/data/archive

jclune at myxo.css.msu.edu jclune at myxo.css.msu.edu
Thu May 24 04:19:32 PDT 2007


Author: jclune
Date: 2007-05-24 07:19:31 -0400 (Thu, 24 May 2007)
New Revision: 1600

Added:
   development/tests/green_beard_instructions/
   development/tests/green_beard_instructions/config/
   development/tests/green_beard_instructions/config/avida.cfg
   development/tests/green_beard_instructions/config/envZeroResources.cfg
   development/tests/green_beard_instructions/config/environment.cfg
   development/tests/green_beard_instructions/config/eventsFullPopTest.cfg
   development/tests/green_beard_instructions/config/inst_set.SexDonateGbthreshEdtKinRndNopx
   development/tests/green_beard_instructions/config/organism.sexDefault
   development/tests/green_beard_instructions/expected/
   development/tests/green_beard_instructions/expected/data/
   development/tests/green_beard_instructions/expected/data/archive/
   development/tests/green_beard_instructions/expected/data/archive/099-aaaae.org
   development/tests/green_beard_instructions/expected/data/archive/100-aaaaa.org
   development/tests/green_beard_instructions/expected/data/average.dat
   development/tests/green_beard_instructions/expected/data/count.dat
   development/tests/green_beard_instructions/expected/data/dominant.dat
   development/tests/green_beard_instructions/expected/data/donations.dat
   development/tests/green_beard_instructions/expected/data/instruction.dat
   development/tests/green_beard_instructions/expected/data/resource.dat
   development/tests/green_beard_instructions/expected/data/stats.dat
   development/tests/green_beard_instructions/expected/data/tasks.dat
   development/tests/green_beard_instructions/expected/data/time.dat
   development/tests/green_beard_instructions/test_list
Modified:
   development/source/actions/PrintActions.cc
Log:
green_beard_instructions test

Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc	2007-05-24 04:33:09 UTC (rev 1599)
+++ development/source/actions/PrintActions.cc	2007-05-24 11:19:31 UTC (rev 1600)
@@ -2221,6 +2221,19 @@
 };
 
 
+class cActionPrintDonationStats : public cAction
+{
+public:
+  cActionPrintDonationStats(cWorld* world, const cString& args) : cAction(world, args) { ; }
+  
+  static const cString GetDescription() { return "No Arguments"; }
+  
+  void Process(cAvidaContext& ctx)
+  {
+    m_world->GetPopulation().PrintDonationStats();
+  }
+};
+
 class cActionPrintDemeStats : public cAction
 {
 public:
@@ -2380,6 +2393,7 @@
   
   action_lib->Register<cActionPrintPhenotypeData>("print_number_phenotypes");
   action_lib->Register<cActionPrintPhenotypeStatus>("print_phenotype_status");
+  action_lib->Register<cActionPrintDonationStats>("print_donation_stats");
   action_lib->Register<cActionPrintDemeStats>("print_deme_stats");
   
   action_lib->Register<cActionPrintData>("print_data");

Added: development/tests/green_beard_instructions/config/avida.cfg
===================================================================
--- development/tests/green_beard_instructions/config/avida.cfg	                        (rev 0)
+++ development/tests/green_beard_instructions/config/avida.cfg	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,264 @@
+#############################################################################
+# This file includes all the basic run-time defines for Avida.
+# For more information, see doc/config.html
+#############################################################################
+
+VERSION_ID 2.7.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     # Control output verbosity
+
+### ARCH_GROUP ###
+# Architecture Variables
+WORLD_X 60        # Width of the Avida world
+WORLD_Y 60        # Height of the Avida world
+WORLD_GEOMETRY 2  # 1 = Bounded Grid
+                  # 2 = Torus
+                  # 3 = Clique
+RANDOM_SEED 0     # 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
+
+### CONFIG_FILE_GROUP ###
+# Configuration Files
+DATA_DIR data                       # Directory in which config files are found
+INST_SET -                          # File containing instruction set
+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 default-classic.org  # Organism to seed the soup
+
+### DEME_GROUP ###
+# Demes and Germlines
+NUM_DEMES 1                  # Number of independent groups in the population.
+DEMES_USE_GERMLINE 0         # Whether demes use a distinct germline; 0=off
+DEMES_HAVE_MERIT 0           # Whether demes have merit; 0=no
+GERMLINE_COPY_MUT 0.0075     # Prob. of copy mutations occuring during
+                             # germline replication.
+GERMLINE_REPLACES_SOURCE 0   # Whether the source germline is updated
+                             # on replication; 0=no.
+GERMLINE_RANDOM_PLACEMENT 0  # Whether the seed for a germline is placed
+                             #  randomly within the deme; 0=no.
+MAX_DEME_AGE 500             # The maximum age of a deme (in updates) to be
+                             # used for age-based replication (default=500).
+
+### 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)
+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).
+
+### 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
+
+### DIVIDE_GROUP ###
+# Divide Restrictions
+CHILD_SIZE_RANGE 2.0  # Maximal differential between child and parent sizes.
+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.
+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      # The bonus that an organism must accumulate to divide.
+
+### MUTATION_GROUP ###
+# Mutations
+POINT_MUT_PROB 0.0    # Mutation rate (per-location per update)
+COPY_MUT_PROB 0.0075  # Mutation rate (per copy)
+INS_MUT_PROB 0.0      # Insertion rate (per site, applied on divide)
+DEL_MUT_PROB 0.0      # Deletion rate (per site, applied on divide)
+DIV_MUT_PROB 0.0      # Mutation rate (per site, applied on divide)
+DIVIDE_MUT_PROB 0.0   # Mutation rate (per divide)
+DIVIDE_INS_PROB 0.05  # Insertion rate (per divide)
+DIVIDE_DEL_PROB 0.05  # Deletion rate (per divide)
+PARENT_MUT_PROB 0.0   # Per-site, in parent, on divide
+SPECIAL_MUT_LINE -1   # If this is >= 0, ONLY this line is mutated
+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)
+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.
+
+### 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      # 
+STERILIZE_FATAL 0.0        # Should any mutations clear (kill) the organism?
+STERILIZE_DETRIMENTAL 0.0  # 
+STERILIZE_NEUTRAL 0.0      # 
+STERILIZE_BENEFICIAL 0.0   # 
+FAIL_IMPLICIT 0            # 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.
+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 the default bonus
+                            # rather than the accumulated bonus of the parent?
+MERIT_BONUS_INST 0          # in BASE_MERIT_METHOD 6, this sets which instruction counts (-1=none, 0= 1st in INST_SET.)
+MERIT_BONUS_EFFECT 0        # in BASE_MERIT_METHOD 6, this sets how much merit is earned per INST (-1=penalty, 0= no effect.)
+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.
+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.
+
+### PROMOTER_GROUP ###
+# Promoters
+PROMOTERS_ENABLED 0             # Use the promoter/terminator execution scheme.
+                                # Certain instructions must also be included.
+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_BG_STRENGTH 0          # Probability of positions that are not promoter
+                                # instructions initiating execution (promoters are 1).
+REGULATION_STRENGTH 1           # Strength added or subtracted to a promoter by regulation.
+REGULATION_DECAY_FRAC 0.1       # Fraction of regulation that decays away. 
+                                # Max regulation = 2^(REGULATION_STRENGTH/REGULATION_DECAY_FRAC)
+
+### 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)
+
+### 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
+
+### 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
+
+### ANALYZE_GROUP ###
+# Analysis Settings
+MT_CONCURRENCY 1   # Number of concurrent analyze threads
+ANALYZE_OPTION_1   # String variable accessible from analysis scripts
+ANALYZE_OPTION_2   # String variable accessible from analysis scripts
+
+### 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

Added: development/tests/green_beard_instructions/config/envZeroResources.cfg
===================================================================
--- development/tests/green_beard_instructions/config/envZeroResources.cfg	                        (rev 0)
+++ development/tests/green_beard_instructions/config/envZeroResources.cfg	2007-05-24 11:19:31 UTC (rev 1600)
@@ -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=0.0:type=pow  requisite:max_count=1
+REACTION  NAND nand  process:value=0.0:type=pow  requisite:max_count=1
+REACTION  AND  and   process:value=0.0:type=pow  requisite:max_count=1
+REACTION  ORN  orn   process:value=0.0:type=pow  requisite:max_count=1
+REACTION  OR   or    process:value=0.0:type=pow  requisite:max_count=1
+REACTION  ANDN andn  process:value=0.0:type=pow  requisite:max_count=1
+REACTION  NOR  nor   process:value=0.0:type=pow  requisite:max_count=1
+REACTION  XOR  xor   process:value=0.0:type=pow  requisite:max_count=1
+REACTION  EQU  equ   process:value=0.0:type=pow  requisite:max_count=1

Added: development/tests/green_beard_instructions/config/environment.cfg
===================================================================
--- development/tests/green_beard_instructions/config/environment.cfg	                        (rev 0)
+++ development/tests/green_beard_instructions/config/environment.cfg	2007-05-24 11:19:31 UTC (rev 1600)
@@ -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/green_beard_instructions/config/eventsFullPopTest.cfg
===================================================================
--- development/tests/green_beard_instructions/config/eventsFullPopTest.cfg	                        (rev 0)
+++ development/tests/green_beard_instructions/config/eventsFullPopTest.cfg	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,41 @@
+  ##############################################################################
+#
+# 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]  [event] [arguments...]
+#
+# This file is currently setup to start off a population full of the 
+# starting organism specified in genesis, and then record key information
+# every 100 updates.
+#
+# For information on how to use this file, see:  doc/events.html
+# For other sample event configurations, see:  source/support/config/
+#
+##############################################################################
+
+# Print all of the standard data files...
+u 0 inject_all organism.sexDefault
+u 0:100 print_dom                 # Save the most abundant genotypes
+u 0:100:end print_average_data    # Save info about they average genotypes
+u 0:100:end print_dominant_data   # Save info about most abundant genotypes
+u 0:100:end print_stats_data      # Collect satistics about entire pop.
+u 0:100:end print_count_data      # Count organisms, genotypes, species, etc.
+u 0:100:end print_tasks_data      # Save organisms counts for each task.
+u 0:100:end print_time_data       # Track time conversion (generations, etc.)
+u 0:100:end print_resource_data   # Track resource abundance.
+u 100:100:end print_instruction_data
+u 100:100:end print_donation_stats
+
+# A few data files not printed by default
+# u 100:100:end print_error_data      # Std. Error on averages.
+# u 100:100:end print_variance_data   # Variance on averages.
+# u 100:100:end print_totals_data     # Total counts over entire run.
+# u 100:100:end print_tasks_exe_data  # Num. times tasks have been executed.
+
+# Setup the exit time and full population data collection.
+#u 20000:20000 detail_pop           # Save current state of population.
+#u 20000:20000 dump_historic_pop    # Save ancestors of current population.
+u 200 exit                      # exit
+

Added: development/tests/green_beard_instructions/config/inst_set.SexDonateGbthreshEdtKinRndNopx
===================================================================
--- development/tests/green_beard_instructions/config/inst_set.SexDonateGbthreshEdtKinRndNopx	                        (rev 0)
+++ development/tests/green_beard_instructions/config/inst_set.SexDonateGbthreshEdtKinRndNopx	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,72 @@
+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.
+divide-sex 1   # s   Use a sexual divide
+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? 
+
+donate-threshgb 1
+donate-edt 1
+donate-kin 1
+donate-rnd  1	
+nop-X       1
+#donate-NUL  1 #donates to a black hole. used in many pre-nature-rewrite runs
+
+#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.
+
+
+
+
+
+
+
+
+
+
+
+
+

Added: development/tests/green_beard_instructions/config/organism.sexDefault
===================================================================
--- development/tests/green_beard_instructions/config/organism.sexDefault	                        (rev 0)
+++ development/tests/green_beard_instructions/config/organism.sexDefault	2007-05-24 11:19:31 UTC (rev 1600)
@@ -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-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+nop-C      #
+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      #
+divide-sex #    ...divide!
+mov-head   # Otherwise, loop back to the beginning of the copy loop.
+nop-A      # End label.
+nop-B      #

Added: development/tests/green_beard_instructions/expected/data/archive/099-aaaae.org
===================================================================
--- development/tests/green_beard_instructions/expected/data/archive/099-aaaae.org	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/archive/099-aaaae.org	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,133 @@
+# Thu May 24 07:13:07 2007
+# Filename........: archive/099-aaaae.org
+# Update Output...: 200
+# Is Viable.......: 1
+# Repro Cycle Size: 0
+# Depth to Viable.: 0
+# Update Created..: 160
+# Genotype ID.....: 2295
+# Parent Gen ID...: 2046
+# Tree Depth......: 5
+# Parent Distance.: 1
+# 
+# Generation: 0
+# Merit...........: 96.000000
+# Gestation Time..: 379
+# Fitness.........: 0.253298
+# Errors..........: 0
+# Genome Size.....: 99
+# Copied Size.....: 99
+# Executed Size...: 96
+# Offspring.......: SELF
+# 
+# Tasks Performed:
+# not 0 (0.000000)
+# nand 0 (0.000000)
+# and 0 (0.000000)
+# orn 0 (0.000000)
+# or 0 (0.000000)
+# andn 0 (0.000000)
+# nor 0 (0.000000)
+# xor 0 (0.000000)
+# equ 0 (0.000000)
+
+
+h-alloc
+h-search
+nop-C
+nop-A
+mov-head
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+h-copy
+nop-B
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+if-n-equ
+nop-C
+nop-C
+nop-C
+nop-C
+swap
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+shift-r
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+h-search
+h-copy
+if-label
+nop-C
+nop-A
+divide-sex
+mov-head
+nop-A
+nop-B

Added: development/tests/green_beard_instructions/expected/data/archive/100-aaaaa.org
===================================================================
--- development/tests/green_beard_instructions/expected/data/archive/100-aaaaa.org	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/archive/100-aaaaa.org	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,134 @@
+# Thu May 24 07:13:05 2007
+# Filename........: archive/100-aaaaa.org
+# Update Output...: 100
+# Is Viable.......: 1
+# Repro Cycle Size: 0
+# Depth to Viable.: 0
+# Update Created..: -1
+# Genotype ID.....: 1
+# Parent Gen ID...: -1
+# Tree Depth......: 0
+# Parent Distance.: -1
+# 
+# Generation: 0
+# Merit...........: 97.000000
+# Gestation Time..: 389
+# Fitness.........: 0.249357
+# Errors..........: 0
+# Genome Size.....: 100
+# Copied Size.....: 100
+# Executed Size...: 97
+# Offspring.......: SELF
+# 
+# Tasks Performed:
+# not 0 (0.000000)
+# nand 0 (0.000000)
+# and 0 (0.000000)
+# orn 0 (0.000000)
+# or 0 (0.000000)
+# andn 0 (0.000000)
+# nor 0 (0.000000)
+# xor 0 (0.000000)
+# equ 0 (0.000000)
+
+
+h-alloc
+h-search
+nop-C
+nop-A
+mov-head
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+nop-C
+h-search
+h-copy
+if-label
+nop-C
+nop-A
+divide-sex
+mov-head
+nop-A
+nop-B

Added: development/tests/green_beard_instructions/expected/data/average.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/average.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/average.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,22 @@
+# Avida Average Data
+# Thu May 24 07:13:04 2007
+#  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 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 401.000000 401.000000 0.000000 0.000000 0.000000 0.000000 0.000000 
+100 100.717 385.805 0.246912 0 99.95 99.415 95.48 1.26984 0.06 0.025 2.1275 7.29 -0.372422 0 0 
+200 107.673 387.512 0.243847 0 102.32 100.25 95.3925 1.04167 0.07 0.03 5.275 15.1175 0.384819 0 0 

Added: development/tests/green_beard_instructions/expected/data/count.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/count.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/count.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,22 @@
+# Avida count data
+# Thu May 24 07:13:04 2007
+#  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 401 1 401 1 1 1 0 0 
+100 11970 400 315 24 0 0 0 24 23 10 188 218 400 0 0 
+200 12000 400 384 28 0 0 0 28 28 12 173 217 400 0 0 

Added: development/tests/green_beard_instructions/expected/data/dominant.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/dominant.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/dominant.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,22 @@
+# Avida Dominant Data
+# Thu May 24 07:13:04 2007
+#  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 99.9892 97 31 5 2 0 0 0.253927 1 100-aaaaa 
+200 96 379 0.253298 0.00263852 99 99.6667 96 3 0 0 5 0 0.255319 2295 099-aaaae 

Added: development/tests/green_beard_instructions/expected/data/donations.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/donations.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/donations.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,21 @@
+# Info about organisms giving donations in the population
+# Thu May 24 07:13:05 2007
+#  1: update
+#  2: parent made at least one donation
+#  3: parent received at least one donation
+#  4: parent received at least one donation but did not make one
+#  5: parent made at least one edit_donation
+#  6: parent received at least one edit_donation
+#  7: parent received at least one edit_donation but did not make one
+#  8: parent made at least one kin_donation
+#  9: parent received at least one kin_donation
+# 10: parent received at least one kin_donation but did not make one
+# 11: parent made at least one threshgb_donation
+# 12: parent received at least one threshgb_donation
+# 13: parent received at least one threshgb_donation but did not make one
+# 14: parent made at least one quanta_threshgb_donation
+# 15: parent received at least one quanta_threshgb_donation
+# 16: parent received at least one quanta_threshgb_donation but did not make one
+
+100 69.000000 69.000000 49.000000 11.000000 11.000000 10.000000 21.000000 18.000000 12.000000 19.000000 0.000000 0.000000 0.000000 0.000000 0.000000 
+200 189 173 46 38 41 31 83 65 25 87 34 0 0 0 0 

Added: development/tests/green_beard_instructions/expected/data/instruction.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/instruction.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/instruction.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,37 @@
+# Avida instruction execution data
+# Thu May 24 07:13:05 2007
+#  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: divide-sex
+# 21: h-copy
+# 22: h-search
+# 23: mov-head
+# 24: jmp-head
+# 25: get-head
+# 26: if-label
+# 27: set-flow
+# 28: donate-threshgb
+# 29: donate-edt
+# 30: donate-kin
+# 31: donate-rnd
+# 32: nop-X
+
+100 247 31 32365 32 27 23 27 17 41 26 25 32 18 169 22 28 24 400 400 39729 825 39699 113 21 39544 52 19 11 21 29 31 
+200 748 43 30354 131 45 34 52 73 102 53 79 80 46 42 39 119 59 400 400 40189 887 40169 40 44 40027 84 101 40 86 42 24 

Added: development/tests/green_beard_instructions/expected/data/resource.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/resource.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/resource.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,9 @@
+# Avida resource data
+# Thu May 24 07:13:04 2007
+# 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/green_beard_instructions/expected/data/stats.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/stats.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/stats.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,18 @@
+# Generic Statistics Data
+# Thu May 24 07:13:04 2007
+#  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.097500 0.564404 0.102587 0.831040 1 0.000000 0.000000 0 0 0 
+100 0.00985358 0.564245 0.564404 0.830676 0.83104 4 5.48817 0 0 0 0 
+200 0.0380244 0.571704 0.561219 0.84794 0.823755 0 5.9334 0 0 0 0 

Added: development/tests/green_beard_instructions/expected/data/tasks.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/tasks.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/tasks.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,18 @@
+# Avida tasks data
+# Thu May 24 07:13:04 2007
+# 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/green_beard_instructions/expected/data/time.dat
===================================================================
--- development/tests/green_beard_instructions/expected/data/time.dat	                        (rev 0)
+++ development/tests/green_beard_instructions/expected/data/time.dat	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,10 @@
+# Avida time data
+# Thu May 24 07:13:04 2007
+#  1: update
+#  2: avida time
+#  3: average generation
+#  4: num_executed?
+
+0 0.000000 0.000000 30 
+100 1.00271 7.29 11970 
+200 1.98359 15.1175 12000 

Added: development/tests/green_beard_instructions/test_list
===================================================================
--- development/tests/green_beard_instructions/test_list	                        (rev 0)
+++ development/tests/green_beard_instructions/test_list	2007-05-24 11:19:31 UTC (rev 1600)
@@ -0,0 +1,37 @@
+;--- Begin Test Configuration File (test_list) ---
+[main]
+args = -s 1 -set INST_SET inst_set.SexDonateGbthreshEdtKinRndNopx -set BIRTH_METHOD 0 -set MERIT_GIVEN 5 -set MERIT_RECEIVED 50 -set MAX_DONATE_KIN_DIST 1 -set MAX_DONATE_EDIT_DIST 15 -set MIN_GB_DONATE_THRESHOLD 1 -set MAX_DONATES 100 -set ENVIRONMENT_FILE envZeroResources.cfg -set START_CREATURE organism.sexDefault -set EVENT_FILE eventsFullPopTest.cfg -set WORLD_X 20 -set WORLD_Y 20
+
+	                 ; Command line arguments to pass to the application
+app = %(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.
+;
+; app 
+; builddir 
+; cpus 
+; 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