# This file includes all the run-time defines... VERSION_ID 1.6 # Do not change this value! ### Architecture Variables ### MAX_UPDATES -1 # Maximum updates to run simulation (-1 = no limit) MAX_GENERATIONS -1 # Maximum generations to run simulation (-1 = no limit) END_CONDITION_MODE 0 # End run when ... # 0 = MAX_UPDATES _OR_ MAX_GENERATIONS is reached # 1 = MAX_UPDATES _AND_ MAX_GENERATIONS is reached WORLD-X 60 # Width of the world in Avida mode. WORLD-Y 60 # Height of the world in Avida mode. MAX_CPU_THREADS 1 # Number of Threads CPU's can spawn RANDOM_SEED 0 # Random number seed. (0 for based on time) ### Configuration Files ### DEFAULT_DIR ../work/ # Directory in which config files can be found. INST_SET inst_set.28.base # File containing instruction set. TASK_SET task_set # File containing task set. RESOURCE_SET resource_set # File containing resource set. EVENT_FILE event_list # File containing list of events during run. ANALYZE_FILE analyze.cfg # File used for analysis mode. START_CREATURE creature.base # Creature to seed the soup. ### Viewer ### VIEW_MODE 1 # 0=BLANK, 1=MAP, 2=STATS, 3=HIST, 4=OPTIONS, 5=ZOOM ### Reproduction ### BIRTH_METHOD 4 # 0 = Choose Random Creature (poor for evolution!) # 1 = Choose Oldest Creature # 2 = Choose largest Age/Merit # 3 = Choose only empty cells. # 4 = Choose Random from entire soup (Mass Action) # 5 = Choose Eldest from entire soup (Tierra) DEATH_METHOD 0 # 0 = Never kill creatures. # 1 = Kill when inst executed = AGE_LIMIT # 2 = Kill when inst executed = length * AGE_LIMIT AGE_LIMIT 5000 # Modifies DEATH_METHOD ALLOC_METHOD 0 # 0 = Allocated space is set to default instruction. # 1 = Set to section of other creatures (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) GENERATION_COUNT_METHOD 0 # 0 = only the generation of the child is # increased on divide. # 1 = both the generation of the mother and # the child are increased on divide # (makes sense with DIVIDE_METHOD 1). ### Mutation reversions ### # these slow down avida a lot, and should be set to 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 RESET_FATAL 0.0 # Should any mutations clear (kill) the organism? RESET_DETRIMENTAL 0.0 # 0.0 to 1.0; Probability of reset. RESET_NEUTRAL 0.0 RESET_BENEFICIAL 0.0 FAIL_IMPLICIT 0 # Should copies that failed *not* due to mutations # be eliminated? ### 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 # Is a an allocate required before a divide? (0/1) ### Mutations ### POINT_MUT_PROB 0.0 # Mutation rate (per-location per update) (x10^-6) 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). 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). ### Time Slicing ### AVE_TIME_SLICE 30 SLICING_METHOD 3 # 0 = CONSTANT: all creatures get default... # 1 = BLOCK: Block slice scaled to merit. # 2 = PROBABILISTIC: Run _prob_ proportional to merit. # 3 = INTEGRATED: Perfectly integrated deterministic. SIZE_MERIT_METHOD 4 # 0 = off (merit is 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 TASK_MERIT_METHOD 1 # 0 = No task bonuses # 1 = Bonus just equals the task bonus MAX_LABEL_EXE_SIZE 1 # Max nops marked as executed when labels are used ### Task Bonus Modifiers ### MAX_NUM_TASKS_REWARDED -1 # -1 = Unlimited ### Resources ### RESOURCES 0 # 0 = No Resources # 1 = Global Resources MERIT_TIME 1 # 0 = Merit Calculated when task completed # 1 = Merit Calculated on Divide ### Genotype Info ### THRESHOLD 3 # Number of creatures in a genotype needed for it # to be considered viable. GENOTYPE_PRINT 0 # 0/1 (off/on) Print out all threshold genotypes? SPECIES_PRINT 0 # 0/1 (off/on) Print out all species? GENOTYPE_PRINT_DOM 0 # Print out a genotype if it stays dominant for # this many updates. (0 = off) SPECIES_RECORDING 0 # 1 = full, 2 = limited search (parent only) SPECIES_THRESHOLD 2 # max number of failures creatures to be same species TEST_CPU_TIME_MOD 20 # Time allocated in test CPUs (multiple of length) TRACK_MAIN_LINEAGE 0 # Track primary lineage leading to final population? ### Data and Log Files ### #SAVE_AVERAGE_DATA 50 # Print these files every x updates. Enter 0 for #SAVE_DOMINANT_DATA 50 # those which should never be printed #SAVE_COUNT_DATA 50 #SAVE_TOTALS_DATA 0 #SAVE_TASKS_DATA 50 #SAVE_STATS_DATA 50 #SAVE_TIME_DATA 50 SAVE_GENOTYPE_STATUS 0 # Print these files every x updates. Enter 0 for SAVE_DIVERSITY_STATUS 0 # those which should never be printed 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. LOG_BREED_COUNT 0 # 0/1 (off/on) toggle to print file. LOG_PHYLOGENY 0 # 0/1 (off/on) toggle to print file. LOG_GENEOLOGY 0 # 0 = off, 1 = all, 2 = parents only. LOG_LANDSCAPE 0 # 0/1 (off/on) toggle to print file. LOG_MUTATIONS 0 # 0/1 (off/on) toggle to print file. # 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. # See also LINEAGE_CREATION_METHOD. LOG_LINEAGES 0 # 0/1 (off/on) to log advantageous mutations # in lineages, and write file 'lineages.log'. # # This one is used to specify the conditions under which a new lineage # is created. Works only when LOG_LINEAGES is set to 1. # The following options exist: # 0 = manual creation (on inject, use successive integers # 0, 1, 2, ... as lineage label). # 1 = whenever a parent gives birth to an offspring with higher # (potential) fitness, a new lineage is created. # 2 = whenever a child's (potential) fitness is higher than the highest # (potential) fitness in the population, a new lineage is created. # 3 = whenever a child's (potential) fitness is higher than the highest # (potential) fitness in the dominant lineage *and* the child # is in the dominant lineage, or if the child's fitness exceeds # the highest fitness in the population, a new lineage is created. # 4 = whenever a child's (potential) fitness is higher than that of the # dominant genotype (and that of its own lineage), a new lineage is # created. # 5 = whenever a child's (potential) fitness is higher than that of the # dominant lineage (and that of its own lineage), a new lineage is # created. # 6 = whenever a child's (potential) fitness is higher than that of its # own lineage, a new lineage is created. LINEAGE_CREATION_METHOD 0 ### Debug ### DEBUG_LEVEL 2 # 0 = ERRORS ONLY, 1 = WARNINGS, 2 = COMMENTS ### END ###