1############################################################################# 2# This file includes all the basic run-time defines for Avida. 3# For more information, see doc/config.html 4############################################################################# 5 6VERSION_ID 2.7.0 # Do not change this value. 7 8### GENERAL_GROUP ### 9# General Settings 10ANALYZE_MODE 1 # 0 = Disabled 11 # 1 = Enabled 12 # 2 = Interactive 13VIEW_MODE 1 # Initial viewer screen 14CLONE_FILE - # Clone file to load 15VERBOSITY 1 # Control output verbosity 16 17### ARCH_GROUP ### 18# Architecture Variables 19WORLD_X 60 # Width of the Avida world 20WORLD_Y 60 # Height of the Avida world 21WORLD_GEOMETRY 2 # 1 = Bounded Grid 22 # 2 = Torus 23NUM_DEMES 0 # Number of independed groups in the population; 0=off 24RANDOM_SEED 0 # Random number seed (0 for based on time) 25HARDWARE_TYPE 0 # 0 = Original CPUs 26 # 1 = New SMT CPUs 27 # 2 = Transitional SMT 28 29### CONFIG_FILE_GROUP ### 30# Configuration Files 31DATA_DIR data # Directory in which config files are found 32INST_SET instset-destroy.cfg # File containing instruction set 33INST_SET_LOAD_LEGACY 1 34 35EVENT_FILE events-collect.cfg # File containing list of events during run 36ANALYZE_FILE analyze-spec.cfg # File used for analysis mode 37ENVIRONMENT_FILE environment.9resource # File that describes the environment 38START_CREATURE default-classic.org # Organism to seed the soup 39 40### REPRODUCTION_GROUP ### 41# Birth and Death 42BIRTH_METHOD 0 # Which organism should be replaced on birth? 43 # 0 = Random organism in neighborhood 44 # 1 = Oldest in neighborhood 45 # 2 = Largest Age/Merit in neighborhood 46 # 3 = None (use only empty cells in neighborhood) 47 # 4 = Random from population (Mass Action) 48 # 5 = Oldest in entire population 49 # 6 = Random within deme 50 # 7 = Organism faced by parent 51 # 8 = Next grid cell (id+1) 52 # 9 = Largest energy used in entire population 53 # 10 = Largest energy used in neighborhood 54PREFER_EMPTY 1 # Give empty cells preference in offsping placement? 55ALLOW_PARENT 1 # Allow births to replace the parent organism? 56DEATH_METHOD 2 # 0 = Never die of old age. 57 # 1 = Die when inst executed = AGE_LIMIT (+deviation) 58 # 2 = Die when inst executed = length*AGE_LIMIT (+dev) 59AGE_LIMIT 20 # Modifies DEATH_METHOD 60AGE_DEVIATION 0 # Creates a distribution around AGE_LIMIT 61ALLOC_METHOD 0 # (Orignal CPU Only) 62 # 0 = Allocated space is set to default instruction. 63 # 1 = Set to section of dead genome (Necrophilia) 64 # 2 = Allocated space is set to random instruction. 65DIVIDE_METHOD 1 # 0 = Divide leaves state of mother untouched. 66 # 1 = Divide resets state of mother 67 # (after the divide, we have 2 children) 68 # 2 = Divide resets state of current thread only 69 # (does not touch possible parasite threads) 70GENERATION_INC_METHOD 1 # 0 = Only the generation of the child is 71 # increased on divide. 72 # 1 = Both the generation of the mother and child are 73 # increased on divide (good with DIVIDE_METHOD 1). 74 75### RECOMBINATION_GROUP ### 76# Sexual Recombination and Modularity 77RECOMBINATION_PROB 1.0 # probability of recombination in div-sex 78MAX_BIRTH_WAIT_TIME -1 # Updates incipiant orgs can wait for crossover 79MODULE_NUM 0 # number of modules in the genome 80CONT_REC_REGS 1 # are (modular) recombination regions continuous 81CORESPOND_REC_REGS 1 # are (modular) recombination regions swapped randomly 82 # or with corresponding positions? 83TWO_FOLD_COST_SEX 0 # 1 = only one recombined offspring is born. 84 # 2 = both offspring are born 85SAME_LENGTH_SEX 0 # 0 = recombine with any genome 86 # 1 = only recombine w/ same length 87 88### DIVIDE_GROUP ### 89# Divide Restrictions 90CHILD_SIZE_RANGE 2.0 # Maximal differential between child and parent sizes. 91MIN_COPIED_LINES 0.5 # Code fraction which must be copied before divide. 92MIN_EXE_LINES 0.5 # Code fraction which must be executed before divide. 93REQUIRE_ALLOCATE 1 # (Original CPU Only) Require allocate before divide? 94REQUIRED_TASK -1 # Task ID required for successful divide. 95IMMUNITY_TASK -1 # Task providing immunity from the required task. 96REQUIRED_REACTION -1 # Reaction ID required for successful divide. 97REQUIRED_BONUS 0 # The bonus that an organism must accumulate to divide. 98 99### MUTATION_GROUP ### 100# Mutations 101POINT_MUT_PROB 0.0 # Mutation rate (per-location per update) 102COPY_MUT_PROB 0.0025 # Mutation rate (per copy) 103INS_MUT_PROB 0.0 # Insertion rate (per site, applied on divide) 104DEL_MUT_PROB 0.0 # Deletion rate (per site, applied on divide) 105DIV_MUT_PROB 0.0 # Mutation rate (per site, applied on divide) 106DIVIDE_MUT_PROB 0.0 # Mutation rate (per divide) 107DIVIDE_INS_PROB 0.05 # Insertion rate (per divide) 108DIVIDE_DEL_PROB 0.05 # Deletion rate (per divide) 109PARENT_MUT_PROB 0.0 # Per-site, in parent, on divide 110SPECIAL_MUT_LINE -1 # If this is >= 0, ONLY this line is mutated 111INJECT_INS_PROB 0.0 # Insertion rate (per site, applied on inject) 112INJECT_DEL_PROB 0.0 # Deletion rate (per site, applied on inject) 113INJECT_MUT_PROB 0.0 # Mutation rate (per site, applied on inject) 114META_COPY_MUT 0.0 # Prob. of copy mutation rate changing (per gen) 115META_STD_DEV 0.0 # Standard deviation of meta mutation size. 116MUT_RATE_SOURCE 1 # 1 = Mutation rates determined by environment. 117 # 2 = Mutation rates inherited from parent. 118 119### REVERSION_GROUP ### 120# Mutation Reversion 121# These slow down avida a lot, and should be set to 0.0 normally. 122REVERT_FATAL 0.0 # Should any mutations be reverted on birth? 123REVERT_DETRIMENTAL 0.0 # 0.0 to 1.0; Probability of reversion. 124REVERT_NEUTRAL 0.0 # 125REVERT_BENEFICIAL 0.0 # 126STERILIZE_FATAL 0.0 # Should any mutations clear (kill) the organism? 127STERILIZE_DETRIMENTAL 0.0 # 128STERILIZE_NEUTRAL 0.0 # 129STERILIZE_BENEFICIAL 0.0 # 130FAIL_IMPLICIT 1 # Should copies that failed *not* due to mutations 131 # be eliminated? 132NEUTRAL_MAX 0.0 # The percent benifical change from parent fitness to be considered neutral. 133NEUTRAL_MIN 0.0 # The percent deleterious change from parent fitness to be considered neutral. 134 135### TIME_GROUP ### 136# Time Slicing 137AVE_TIME_SLICE 30 # Ave number of insts per org per update 138SLICING_METHOD 1 # 0 = CONSTANT: all organisms get default... 139 # 1 = PROBABILISTIC: Run _prob_ proportional to merit. 140 # 2 = INTEGRATED: Perfectly integrated deterministic. 141BASE_MERIT_METHOD 4 # 0 = Constant (merit independent of size) 142 # 1 = Merit proportional to copied size 143 # 2 = Merit prop. to executed size 144 # 3 = Merit prop. to full size 145 # 4 = Merit prop. to min of executed or copied size 146 # 5 = Merit prop. to sqrt of the minimum size 147BASE_CONST_MERIT 100 # Base merit when BASE_MERIT_METHOD set to 0 148DEFAULT_BONUS 1.0 # Initial bonus before any tasks 149MERIT_DEFAULT_BONUS 0 # Scale the merit of an offspring by the default bonus 150 # rather than the accumulated bonus of the parent? 151MAX_CPU_THREADS 1 # Number of Threads a CPU can spawn 152THREAD_SLICING_METHOD 0 # Formula for and organism's thread slicing 153 # (num_threads-1) * THREAD_SLICING_METHOD + 1 154 # 0 = One thread executed per time slice. 155 # 1 = All threads executed each time slice. 156MAX_LABEL_EXE_SIZE 1 # Max nops marked as executed when labels are used 157DONATE_SIZE 5.0 # Amount of merit donated with 'donate' command 158DONATE_MULT 10.0 # Multiple of merit given that the target receives. 159MAX_DONATE_KIN_DIST -1 # Limit on distance of relation for donate; -1=no max 160MAX_DONATE_EDIT_DIST -1 # Limit on edit distance for donate; -1=no max 161MAX_DONATES 1000000 # Limit on number of donates organisms are allowed. 162 163### PROMOTER_GROUP ### 164# Promoters 165PROMOTERS_ENABLED 0 # Use the promoter/terminator execution scheme. 166 # Certain instructions must also be included. 167PROMOTER_PROCESSIVITY 1.0 # Chance of not terminating before executing each instruction. 168PROMOTER_BG_STRENGTH 0 # Probability of positions that are not promoter 169 # instructions initiating execution (promoters are 1). 170REGULATION_STRENGTH 1 # Strength added or subtracted to a promoter by regulation. 171REGULATION_DECAY_FRAC 0.1 # Fraction of regulation that decays away. 172 # (Max regulation = REGULATION_STRENGTH / REGULATION_DECAY_FRAC) 173 174### GENEOLOGY_GROUP ### 175# Geneology 176TRACK_MAIN_LINEAGE 1 # Keep all ancestors of the active population? 177 # 0=no, 1=yes, 2=yes,w/sexual population 178THRESHOLD 3 # Number of organisms in a genotype needed for it 179 # to be considered viable. 180GENOTYPE_PRINT 0 # 0/1 (off/on) Print out all threshold genotypes? 181GENOTYPE_PRINT_DOM 0 # Print out a genotype if it stays dominant for 182 # this many updates. (0 = off) 183SPECIES_THRESHOLD 2 # max failure count for organisms to be same species 184SPECIES_RECORDING 0 # 1 = full, 2 = limited search (parent only) 185SPECIES_PRINT 0 # 0/1 (off/on) Print out all species? 186TEST_CPU_TIME_MOD 20 # Time allocated in test CPUs (multiple of length) 187 188### LOG_GROUP ### 189# Log Files 190LOG_CREATURES 0 # 0/1 (off/on) toggle to print file. 191LOG_GENOTYPES 0 # 0 = off, 1 = print ALL, 2 = print threshold ONLY. 192LOG_THRESHOLD 0 # 0/1 (off/on) toggle to print file. 193LOG_SPECIES 0 # 0/1 (off/on) toggle to print file. 194 195### LINEAGE_GROUP ### 196# Lineage 197# NOTE: This should probably be called "Clade" 198# This one can slow down avida a lot. It is used to get an idea of how 199# often an advantageous mutation arises, and where it goes afterwards. 200# Lineage creation options are. Works only when LOG_LINEAGES is set to 1. 201# 0 = manual creation (on inject, use successive integers as lineage labels). 202# 1 = when a child's (potential) fitness is higher than that of its parent. 203# 2 = when a child's (potential) fitness is higher than max in population. 204# 3 = when a child's (potential) fitness is higher than max in dom. lineage 205# *and* the child is in the dominant lineage, or (2) 206# 4 = when a child's (potential) fitness is higher than max in dom. lineage 207# (and that of its own lineage) 208# 5 = same as child's (potential) fitness is higher than that of the 209# currently dominant organism, and also than that of any organism 210# currently in the same lineage. 211# 6 = when a child's (potential) fitness is higher than any organism 212# currently in the same lineage. 213# 7 = when a child's (potential) fitness is higher than that of any 214# organism in its line of descent 215LOG_LINEAGES 0 # 216LINEAGE_CREATION_METHOD 0 # 217 218### ORGANISM_NETWORK_GROUP ### 219# Organism Network Communication 220NET_ENABLED 0 # Enable Network Communication Support 221NET_DROP_PROB 0.0 # Message drop rate 222NET_MUT_PROB 0.0 # Message corruption probability 223NET_MUT_TYPE 0 # Type of message corruption. 0 = Random Single Bit, 1 = Always Flip Last 224NET_STYLE 0 # Communication Style. 0 = Random Next, 1 = Receiver Facing 225 226### BUY_SELL_GROUP ### 227# Buying and Selling Parameters 228SAVE_RECEIVED 0 # Enable storage of all inputs bought from other orgs 229BUY_PRICE 0 # price offered by organisms attempting to buy 230SELL_PRICE 0 # price offered by organisms attempting to sell 231 232### HOARD_RESOURCE_GROUP ### 233USE_RESOURCE_BINS 1 234ABSORB_RESOURCE_FRACTION .0025 235MULTI_ABSORB_TYPE 0 236USE_STORED_FRACTION 0.0 237RETURN_STORED_ON_DEATH 1 238 239### ANALYZE_GROUP ### 240# Analysis Settings 241MT_CONCURRENCY 1 # Number of concurrent analyze threads 242ANALYZE_OPTION_1 # String variable accessible from analysis scripts 243ANALYZE_OPTION_2 # String variable accessible from analysis scripts 244