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.11.0 # Do not change this value. 7 8### GENERAL_GROUP ### 9# General Settings 10VERBOSITY 1 # 0 = No output at all 11 # 1 = Normal output 12 # 2 = Verbose output, detailing progress 13 # 3 = High level of details, as available 14 # 4 = Print Debug Information, as applicable 15RANDOM_SEED 9 # Random number seed (0 for based on time) 16SPECULATIVE 1 # Enable speculative execution 17 # (pre-execute instructions that don't affect other organisms) 18POPULATION_CAP 0 # Carrying capacity in number of organisms (use 0 for no cap) 19POP_CAP_ELDEST 100 ##### Carrying capacity in number of organisms (use 0 for no cap). 20 # Will kill oldest organism in population, but still use birth method to place new offspring. 21 22### TOPOLOGY_GROUP ### 23# World topology 24WORLD_X 120 # Width of the Avida world 25WORLD_Y 120 # Height of the Avida world 26WORLD_GEOMETRY 1 # 1 = Bounded Grid (WOLRD_X x WORLD_Y) 27 # 2 = Toroidal Grid (WOLRD_X x WORLD_Y; wraps at edges 28 # 3 = Clique (all population cells are connected) 29 # 4 = Hexagonal grid 30 # 5 = Partial 31 # 6 = 3D Lattice (under development) 32 # 7 = Random connected 33 # 8 = Scale-free (detailed below) 34SCALE_FREE_M 3 # Number of connections per cell in a scale-free geometry 35SCALE_FREE_ALPHA 1.0 # Attachment power (1=linear) 36SCALE_FREE_ZERO_APPEAL 0.0 # Appeal of cells with zero connections 37 38### CONFIG_FILE_GROUP ### 39# Other configuration Files 40DATA_DIR data # Directory in which config files are found 41EVENT_FILE events.cfg # File containing list of events during run 42ANALYZE_FILE analyze.cfg # File used for analysis mode 43ENVIRONMENT_FILE environment.cfg # File that describes the environment 44 45#include INST_SET=instset.cfg 46 47### MUTATION_GROUP ### 48# Mutation rates 49COPY_MUT_PROB 0.0 # Mutation rate (per copy) 50COPY_INS_PROB 0.0 # Insertion rate (per copy) 51COPY_DEL_PROB 0.0 # Deletion rate (per copy) 52COPY_UNIFORM_PROB 0.0 # Uniform mutation probability (per copy) 53 # - Randomly apply insertion, deletion or point mutation 54COPY_SLIP_PROB 0.0 # Slip rate (per copy) 55POINT_MUT_PROB 0.0 # Mutation rate (per-location per update) 56DIV_MUT_PROB 0.0 # Mutation rate (per site, applied on divide) 57DIV_INS_PROB 0.0 # Insertion rate (per site, applied on divide) 58DIV_DEL_PROB 0.0 # Deletion rate (per site, applied on divide) 59DIV_UNIFORM_PROB 0.0 # Uniform mutation probability (per site, applied on divide) 60 # - Randomly apply insertion, deletion or point mutation 61DIV_SLIP_PROB 0.0 # Slip rate (per site, applied on divide) 62DIVIDE_MUT_PROB 0.25 ############# Mutation rate (max one, per divide) 63DIVIDE_INS_PROB 0.05 # Insertion rate (max one, per divide) 64DIVIDE_DEL_PROB 0.05 # Deletion rate (max one, per divide) 65DIVIDE_UNIFORM_PROB 0.0 # Uniform mutation probability (per divide) 66 # - Randomly apply insertion, deletion or point mutation 67DIVIDE_SLIP_PROB 0.0 # Slip rate (per divide) - creates large deletions/duplications 68DIVIDE_POISSON_MUT_MEAN 0.0 # Mutation rate (Poisson distributed, per divide) 69DIVIDE_POISSON_INS_MEAN 0.0 # Insertion rate (Poisson distributed, per divide) 70DIVIDE_POISSON_DEL_MEAN 0.0 # Deletion rate (Poisson distributed, per divide) 71DIVIDE_POISSON_SLIP_MEAN 0.0 # Slip rate (Poisson distributed, per divide) 72INJECT_INS_PROB 0.0 # Insertion rate (per site, applied on inject) 73INJECT_DEL_PROB 0.0 # Deletion rate (per site, applied on inject) 74INJECT_MUT_PROB 0.0 # Mutation rate (per site, applied on inject) 75SLIP_FILL_MODE 0 # Fill insertions from slip mutations with: 76 # 0 = Duplication 77 # 1 = nop-X 78 # 2 = Random 79 # 3 = scrambled 80 # 4 = nop-C 81SLIP_COPY_MODE 0 # How to handle 'on-copy' slip mutations: 82 # 0 = actual read head slip 83 # 1 = instant large mutation (obeys slip mode) 84PARENT_MUT_PROB 0.0 # Per-site, in parent, on divide 85SPECIAL_MUT_LINE -1 # If this is >= 0, ONLY this line is mutated 86META_COPY_MUT 0.0 # Prob. of copy mutation rate changing (per gen) 87META_STD_DEV 0.0 # Standard deviation of meta mutation size. 88MUT_RATE_SOURCE 1 # 1 = Mutation rates determined by environment. 89 # 2 = Mutation rates inherited from parent. 90 91### REPRODUCTION_GROUP ### 92# Birth and Death config options 93DIVIDE_FAILURE_RESETS 0 # When Divide fails, organisms are interally reset 94BIRTH_METHOD 7 ######## Which organism should be replaced when a birth occurs? 95 # 0 = Random organism in neighborhood 96 # 1 = Oldest in neighborhood 97 # 2 = Largest Age/Merit in neighborhood 98 # 3 = None (use only empty cells in neighborhood) 99 # 4 = Random from population (Mass Action) 100 # 5 = Oldest in entire population 101 # 6 = Random within deme 102 # 7 = Organism faced by parent 103 # 8 = Next grid cell (id+1) 104 # 9 = Largest energy used in entire population 105 # 10 = Largest energy used in neighborhood 106 # 11 = Local neighborhood dispersal 107PREFER_EMPTY 1 # Overide BIRTH_METHOD to preferentially choose empty cells for offsping? 108ALLOW_PARENT 0 ######### Should parents be considered when deciding where to place offspring? 109DISPERSAL_RATE 0.0 # Rate of dispersal under birth method 11 110 # (poisson distributed random connection list hops) 111DEATH_PROB 0.0 # Probability of death when dividing. 112DEATH_METHOD 1 ######## When should death by old age occur? 113 # 0 = Never 114 # 1 = When executed AGE_LIMIT (+deviation) total instructions 115 # 2 = When executed genome_length * AGE_LIMIT (+dev) instructions 116AGE_LIMIT 20000 ######## See DEATH_METHOD 117AGE_DEVIATION 0 # Creates a normal distribution around AGE_LIMIT for time of death 118ALLOC_METHOD 0 # When allocating blank tape, how should it be initialized? 119 # 0 = Allocated space is set to default instruction. 120 # 1 = Set to section of dead genome (creates potential for recombination) 121 # 2 = Allocated space is set to random instruction. 122DIVIDE_METHOD 0 ######## 0 = Divide leaves state of mother untouched. 123 # 1 = Divide resets state of mother(effectively creating 2 offspring) 124 # 2 = Divide resets state of current thread only (use with parasites) 125EPIGENETIC_METHOD 0 # Inheritance of state information other than genome 126 # 0 = none 127 # 1 = offspring inherits registers and stacks of first thread 128 # 1 = parent maintains registers and stacks of first thread 129 # 130 # 1 = offspring and parent keep state information 131GENERATION_INC_METHOD 0 ######### 0 = Only increase generation of offspring on divide. 132 # 1 = Increase generation of both parent and offspring 133 # (suggested with DIVIDE_METHOD 1). 134RESET_INPUTS_ON_DIVIDE 0 ####### Reset environment inputs of parent upon successful divide. 135INHERIT_MERIT 1 ######## Should merit be inhereted from mother parent? (in asexual) 136INHERIT_MULTITHREAD 0 # Should offspring of parents with multiple threads be marked multithreaded? 137 138### DIVIDE_GROUP ### 139# Divide restrictions and triggers - settings describe conditions for a successful divide 140OFFSPRING_SIZE_RANGE 2.0 # Maximal differential between offspring and parent length. 141 # (Checked BEFORE mutations applied on divide.) 142MIN_COPIED_LINES 0.5 # Code fraction that must be copied before divide 143MIN_EXE_LINES 0.5 # Code fraction that must be executed before divide 144MIN_GENOME_SIZE 0 # Minimum number of instructions allowed in a genome. 0 = OFF 145MAX_GENOME_SIZE 0 # Maximum number of instructions allowed in a genome. 0 = OFF 146REQUIRE_ALLOCATE 1 # (Original CPU Only) Require allocate before divide? 147REQUIRED_TASK -1 ###### Task ID required for successful divide 148IMMUNITY_TASK -1 # Task providing immunity from the required task 149REQUIRED_REACTION 0 ####### Reaction ID required for successful divide 150IMMUNITY_REACTION -1 # Reaction ID that provides immunity for successful divide 151REQUIRE_SINGLE_REACTION 0 ####### If set to 1, at least one reaction is required for a successful divide 152REQUIRED_BONUS 0.0 # Required bonus to divide 153REQUIRE_EXACT_COPY 0 # Require offspring to be an exact copy (checked before divide mutations) 154REQUIRED_RESOURCE -1 ####### ID of resource required in organism's internal bins for successful 155 # divide (resource not consumed) 156REQUIRED_RESOURCE_LEVEL 0.0 ######## Level of resource needed for REQUIRED_RESOURCE 157IMPLICIT_REPRO_BONUS 0 # Call Inst_Repro to divide upon achieving this bonus. 0 = OFF 158IMPLICIT_REPRO_CPU_CYCLES 0 # Call Inst_Repro after this many cpu cycles. 0 = OFF 159IMPLICIT_REPRO_TIME 0 # Call Inst_Repro after this time used. 0 = OFF 160IMPLICIT_REPRO_END 0 # Call Inst_Repro after executing the last instruction in the genome. 161IMPLICIT_REPRO_ENERGY 0.0 # Call Inst_Repro if organism accumulates this amount of energy. 162 163### RECOMBINATION_GROUP ### 164# Sexual Recombination and Modularity 165RECOMBINATION_PROB 1.0 # Probability of recombination in div-sex 166MAX_BIRTH_WAIT_TIME -1 # Updates incipiant orgs can wait for crossover (-1 = unlimited) 167MODULE_NUM 0 # Number of modules in the genome 168CONT_REC_REGS 1 # Are (modular) recombination regions continuous? 169CORESPOND_REC_REGS 1 # Are (modular) recombination regions swapped randomly 170 # or with corresponding positions? 171TWO_FOLD_COST_SEX 0 # 0 = Both offspring are born (no two-fold cost) 172 # 1 = only one recombined offspring is born. 173SAME_LENGTH_SEX 0 # 0 = Recombine with any genome 174 # 1 = Recombine only w/ same length 175ALLOW_MATE_SELECTION 0 # Allow organisms to select mates (requires instruction set support) 176 177### PARASITE_GROUP ### 178# Parasite config options 179INJECT_METHOD 0 # What should happen to a parasite when it gives birth? 180 # 0 = Leave the parasite thread state untouched. 181 # 1 = Resets the state of the calling thread (for SMT parasites, this must be 1) 182INJECT_PROB_FROM_TASKS 1 # Inject occurs based on probability from performing tasks - 11*numTasks 183INJECT_STERILIZES_HOST 0 # Infection causes host steralization 184INJECT_IS_VIRULENT 0 # Infection causes host steralization and takes all cpu cycles (setting this to 1 will override inject_virulence) 185PARASITE_SKIP_REACTIONS 1 # Parasite tasks do not get processed in the environment (1) or they do trigger reactions (0) 186INJECT_IS_TASK_SPECIFIC 0 # Parasites must match a task done by the host they are trying to infect 187INJECT_SKIP_FIRST_TASK 0 # They cannot match the first task the host is doing to infect 188INJECT_DEFAULT_SUCCESS 0.0 # If injection is task specific, with what probability should non-matching parasites infect the host 189PARASITE_VIRULENCE -1 # The probabalistic percentage of cpu cycles allocated to the parasite instead of the host. Ensure INJECT_IS_VIRULENT is set to 0. This only works for single infection at the moment 190PARASITE_MEM_SPACES 1 # Parasites get their own memory spaces 191PARASITE_NO_COPY_MUT 0 # Parasites do not get copy mutation rates 192 193### ARCHETECTURE_GROUP ### 194# Details on how CPU should work 195IO_EXPIRE 1 # Is the expiration functionality of '-expire' I/O instructions enabled? 196 197### MP_GROUP ### 198# Config options for multiple, distributed populations 199ENABLE_MP 0 # Enable multi-process Avida; 0=disabled (default), 200 # 1=enabled. 201MP_SCHEDULING_STYLE 0 # Style of scheduling: 202 # 0=non-MP aware (default) 203 # 1=MP aware, integrated across worlds. 204 205### DEME_GROUP ### 206# Demes and Germlines 207NUM_DEMES 1 # Number of independent groups in the population 208DEMES_COMPETITION_STYLE 0 # How should demes compete? 209 # 0=Fitness proportional selection 210 # 1=Tournament selection 211DEMES_TOURNAMENT_SIZE 0 # Number of demes that participate in a tournament 212DEMES_OVERRIDE_FITNESS 0 # Should the calculated fitness is used? 213 # 0=yes (default) 214 # 1=no (all fitnesses=1) 215DEMES_USE_GERMLINE 0 # Should demes use a distinct germline? 216DEMES_PREVENT_STERILE 0 # Prevent sterile demes from replicating? 217DEMES_RESET_RESOURCES 0 # Reset resources in demes on replication? 218 # 0 = reset both demes 219 # 1 = reset target deme 220 # 2 = deme resources remain unchanged 221DEMES_REPLICATE_SIZE 1 # Number of identical organisms to create or copy from the 222 # source deme to the target deme 223LOG_DEMES_REPLICATE 0 # Log deme replications? 224DEMES_REPLICATE_LOG_START 0 # Update at which to start logging deme replications 225DEMES_PROB_ORG_TRANSFER 0.0 # Probablity of an organism being transferred from the 226 # source deme to the target deme 227DEMES_ORGANISM_SELECTION 0 # How should organisms be selected for transfer from 228 # source to target during deme replication? 229 # 0 = random with replacement 230 # 1 = sequential 231DEMES_ORGANISM_PLACEMENT 0 # How should organisms be placed during deme replication. 232 # 0 = cell-array middle 233 # 1 = deme center 234 # 2 = random placement 235 # 3 = sequential 236DEMES_ORGANISM_FACING 0 # Which direction should organisms face after deme replication. 237 # 0 = unchanged 238 # 1 = northwest. 239 # 2 = random. 240DEMES_MAX_AGE 500 # The maximum age of a deme (in updates) to be 241 # used for age-based replication 242DEMES_MAX_BIRTHS 100 # Max number of births that can occur within a deme; 243 # used with birth-count replication 244DEMES_MIM_EVENTS_KILLED_RATIO 0.7 # Minimum ratio of events killed required for event period to be a success. 245DEMES_MIM_SUCCESSFUL_EVENT_PERIODS 1 # Minimum number of consecutive event periods that must be a success. 246GERMLINE_COPY_MUT 0.0075 # Prob. of copy mutations during germline replication 247GERMLINE_INS_MUT 0.05 # Prob. of insertion mutations during germline replication 248GERMLINE_DEL_MUT 0.05 # Prob. of deletion mutations during germline replication 249DEMES_REPLICATE_CPU_CYCLES 0.0 # Replicate a deme immediately after it has used this many 250 # cpu cycles per org in deme (0 = OFF). 251DEMES_REPLICATE_TIME 0.0 # Number of CPU cycles used by a deme to trigger its replication 252 # (normalized by number of orgs in deme and organism merit; 0 = OFF). 253DEMES_REPLICATE_BIRTHS 0 # Number of offspring produced by a deme to trigger its replication (0 = OFF). 254DEMES_REPLICATE_ORGS 0 # Number of organisms in a deme to trigger its replication (0 = OFF). 255DEMES_REPLICATION_ONLY_RESETS 0 # Kin selection mode. On replication: 256 # 0 = Nothing extra 257 # 1 = reset deme resources 258 # 2 = reset resources and re-inject organisms 259DEMES_MIGRATION_RATE 0.0 # Probability of an offspring being born in a different deme. 260DEMES_MIGRATION_METHOD 0 # Which demes can an org land in when it migrates? 261 # 0 = Any other deme 262 # 1 = Eight neighboring demes 263 # 2 = Two adjacent demes in list 264 # 3 = Proportional based on the number of points 265DEMES_NUM_X 0 # Simulated number of demes in X dimension. Used only for migration. 266DEMES_SEED_METHOD 0 # Deme seeding method. 267 # 0 = Maintain old consistency 268 # 1 = New method using genotypes 269DEMES_DIVIDE_METHOD 0 # Deme divide method. Only works with DEMES_SEED_METHOD 1 270 # 0 = Replace and target demes 271 # 1 = Replace target deme, reset source deme to founders 272 # 2 = Replace target deme, leave source deme unchanged 273DEMES_DEFAULT_GERMLINE_PROPENSITY 0.0 # Default germline propensity of organisms in deme. 274 # For use with DEMES_DIVIDE_METHOD 2. 275DEMES_FOUNDER_GERMLINE_PROPENSITY -1.0 # Default germline propensity of founder organisms in deme. 276 # For use with DEMES_DIVIDE_METHOD 2. 277 # <0 = OFF 278DEMES_PREFER_EMPTY 0 # Give empty demes preference as targets of deme replication? 279DEMES_PROTECTION_POINTS 0 # The number of points a deme receives for each suicide. 280MIGRATION_RATE 0.0 # Uniform probability of offspring migrating to a new deme. 281DEMES_TRACK_SHANNON_INFO 0 # Enable shannon mutual information tracking for demes. 282 283### REVERSION_GROUP ### 284# Mutation Reversion 285# Most of these slow down avida a lot, and should be set to 0.0 normally. 286REVERT_FATAL 0.0 # Prob of lethal mutations being reverted on birth 287REVERT_DETRIMENTAL 0.0 # Prob of harmful (but non-lethal) mutations reverting on birth 288REVERT_NEUTRAL 0.0 # Prob of neutral mutations being reverted on birth 289REVERT_BENEFICIAL 0.0 # Prob of beneficial mutations being reverted on birth 290REVERT_TASKLOSS 0.0 # Prob of mutations that cause task loss (without any gains) being reverted 291STERILIZE_FATAL 0.0 # Prob of lethal mutations steralizing an offspring (typically no effect!) 292STERILIZE_DETRIMENTAL 0.0 # Prob of harmful (but non-lethal) mutations steralizing an offspring 293STERILIZE_NEUTRAL 0.0 # Prob of neutral mutations steralizing an offspring 294STERILIZE_BENEFICIAL 0.0 # Prob of beneficial mutations steralizing an offspring 295STERILIZE_TASKLOSS 0.0 # Prob of mutations causing task loss steralizing an offspring 296STERILIZE_UNSTABLE 0 # Should genotypes that cannot replicate perfectly not be allowed to replicate? 297NEUTRAL_MAX 0.0 # Percent benifical change from parent fitness to be considered neutral. 298NEUTRAL_MIN 0.0 # Percent deleterious change from parent fitness to be considered neutral. 299 300### TIME_GROUP ### 301# Time Slicing 302AVE_TIME_SLICE 30 # Average number of CPU-cycles per org per update 303SLICING_METHOD 1 # 0 = CONSTANT: all organisms receive equal number of CPU cycles 304 # 1 = PROBABILISTIC: CPU cycles distributed randomly, proportional to merit. 305 # 2 = INTEGRATED: CPU cycles given out deterministicly, proportional to merit 306 # 3 = DEME_PROBABALISTIC: Demes receive fixed number of CPU cycles, awarded probabalistically to members 307 # 4 = CROSS_DEME_PROBABALISTIC: Demes receive CPU cycles proportional to living population size, awarded probabalistically to members 308 # 5 = CONSTANT BURST: all organisms receive equal number of CPU cycles, in SLICING_BURST_SIZE chunks 309SLICING_BURST_SIZE 1 # Sets the scheduler burst size for SLICING_METHOD 5. 310BASE_MERIT_METHOD 0 ######## How should merit be initialized? 311 # 0 = Constant (merit independent of size) 312 # 1 = Merit proportional to copied size 313 # 2 = Merit prop. to executed size 314 # 3 = Merit prop. to full size 315 # 4 = Merit prop. to min of executed or copied size 316 # 5 = Merit prop. to sqrt of the minimum size 317 # 6 = Merit prop. to num times MERIT_BONUS_INST is in genome. 318BASE_CONST_MERIT 100 # Base merit valse for BASE_MERIT_METHOD 0 319MERIT_BONUS_INST 0 # Instruction ID to count for BASE_MERIT_METHOD 6 320MERIT_BONUS_EFFECT 0 # Amount of merit earn per instruction for BASE_MERIT_METHOD 6 (-1 = penalty, 0 = no effect) 321FITNESS_VALLEY 0 # in BASE_MERIT_METHOD 6, this creates valleys from 322 # FITNESS_VALLEY_START to FITNESS_VALLEY_STOP 323 # (0 = off, 1 = on) 324FITNESS_VALLEY_START 0 # if FITNESS_VALLEY = 1, orgs with num_key_instructions 325 # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP 326 # get fitness 1 (lowest) 327FITNESS_VALLEY_STOP 0 # if FITNESS_VALLEY = 1, orgs with num_key_instructions 328 # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP 329 # get fitness 1 (lowest) 330DEFAULT_BONUS 1.0 # Initial bonus before any tasks 331MERIT_DEFAULT_BONUS 0 ########## Instead of inheriting bonus from parent, use this value instead (0 = off) 332MERIT_INC_APPLY_IMMEDIATE 0 ########## Should merit increases (above current) be applied immediately, or delayed until divide? 333TASK_REFRACTORY_PERIOD 0.0 # Number of updates after taske until regain full value 334FITNESS_METHOD 0 # 0 = default, 1 = sigmoidal, 335FITNESS_COEFF_1 1.0 # 1st FITNESS_METHOD parameter 336FITNESS_COEFF_2 1.0 # 2nd FITNESS_METHOD parameter 337MAX_CPU_THREADS 1 # Maximum number of Threads a CPU can spawn 338THREAD_SLICING_METHOD 0 # Formula for allocating CPU cycles across threads in an organism 339 # (num_threads-1) * THREAD_SLICING_METHOD + 1 340 # 0 = One thread executed per time slice. 341 # 1 = All threads executed each time slice. 342NO_CPU_CYCLE_TIME 0 # Don't count each CPU cycle as part of gestation time 343MAX_LABEL_EXE_SIZE 1 # Max nops marked as executed when labels are used 344PRECALC_PHENOTYPE 0 # 0 = Disabled 345 # 1 = Assign precalculated merit at birth (unlimited resources only) 346 # 2 = Assign precalculated gestation time 347 # 3 = Assign precalculated merit AND gestation time. 348 # 4 = Assign last instruction counts 349 # 5 = Assign last instruction counts and merit 350 # 6 = Assign last instruction counts and gestation time 351 # 7 = Assign everything currently supported 352 # Fitness will be evaluated for organism based on these settings. 353FASTFORWARD_UPDATES 0 # Fast-forward if the average generation has not changed in this many updates. (0 = off) 354FASTFORWARD_NUM_ORGS 0 # Fast-forward if population is equal to this 355GENOTYPE_PHENPLAST_CALC 100 # Number of times to test a genotype's 356 # plasticity during runtime. 357 358### ALTRUISM_GROUP ### 359# Altrusim 360MERIT_GIVEN 0.0 # Fraction of merit donated with 'donate' command 361MERIT_RECEIVED 0.0 # Multiplier of merit given with 'donate' command 362MAX_DONATE_KIN_DIST -1 # Limit on distance of relation for donate; -1=no max 363MAX_DONATE_EDIT_DIST -1 # Limit on genetic (edit) distance for donate; -1=no max 364MIN_GB_DONATE_THRESHOLD -1 # threshold green beard donates only to orgs above this 365 # donation attempt threshold; -1=no thresh 366DONATE_THRESH_QUANTA 10 # The size of steps between quanta donate thresholds 367MAX_DONATES 1000000 # Limit on number of donates organisms are allowed. 368 369### GENEOLOGY_GROUP ### 370# Geneology 371THRESHOLD 3 # Number of organisms in a genotype needed for it 372 # to be considered viable. 373TEST_CPU_TIME_MOD 20 # Time allocated in test CPUs (multiple of length) 374 375### LOG_GROUP ### 376# Log Files 377LOG_GENOTYPES 0 # 0 = off, 1 = print ALL, 2 = print threshold ONLY. 378LOG_THRESHOLD 0 # 0/1 (off/on) toggle to print file. 379LOG_LINEAGES 0 # Track lineages over time? 380 # WARNING: Can slow Avida a lot! 381LINEAGE_CREATION_METHOD 0 # Requires LOG_LINEAGES = 1 382 # 0 = Manual creation (on inject) 383 # 1 = when a child's (potential) fitness is higher than that of its parent. 384 # 2 = when a child's (potential) fitness is higher than max in population. 385 # 3 = when a child's (potential) fitness is higher than max in dom. lineage 386 # *and* the child is in the dominant lineage, or (2) 387 # 4 = when a child's (potential) fitness is higher than max in dom. lineage 388 # (and that of its own lineage) 389 # 5 = same as child's (potential) fitness is higher than that of the 390 # currently dominant organism, and also than that of any organism 391 # currently in the same lineage. 392 # 6 = when a child's (potential) fitness is higher than any organism 393 # currently in the same lineage. 394 # 7 = when a child's (potential) fitness is higher than that of any 395 # organism in its line of descent 396TRACE_EXECUTION 0 # Trace the execution of all organisms in the population (WARNING: SLOW!) 397 398### ORGANISM_NETWORK_GROUP ### 399# Organism Network Communication 400NET_ENABLED 0 # Enable Network Communication Support 401NET_DROP_PROB 0.0 # Message drop rate 402NET_MUT_PROB 0.0 # Message corruption probability 403NET_MUT_TYPE 0 # Type of message corruption. 0 = Random Single Bit, 1 = Always Flip Last 404NET_STYLE 0 # Communication Style. 0 = Random Next, 1 = Receiver Facing 405NET_LOG_MESSAGES 0 # Whether all messages are logged; 0=false (default), 1=true. 406 407### ORGANISM_MESSAGING_GROUP ### 408# Organism Message-Based Communication 409MESSAGE_SEND_BUFFER_SIZE 1 # Size of message send buffer (stores messages that were sent) 410 # TASKS NOT CHECKED ON 0! 411 # -1=inf, default=1. 412MESSAGE_RECV_BUFFER_SIZE 8 # Size of message receive buffer (stores messages that are received); -1=inf, default=8. 413MESSAGE_RECV_BUFFER_BEHAVIOR 0 # Behavior of message receive buffer; 0=drop oldest (default), 1=drop incoming 414ACTIVE_MESSAGES_ENABLED 0 # Enable active messages. 415 # 0 = off 416 # 2 = message creates parallel thread 417 418### BUY_SELL_GROUP ### 419# Buying and Selling Parameters 420SAVE_RECEIVED 0 # Enable storage of all inputs bought from other orgs 421BUY_PRICE 0 # price offered by organisms attempting to buy 422SELL_PRICE 0 # price offered by organisms attempting to sell 423 424### HOARD_RESOURCE_GROUP ### 425# Resource Hoarding Parameters 426USE_RESOURCE_BINS 0 ###### Enable resource bin use. This serves as a guard on most resource hoarding code. 427ABSORB_RESOURCE_FRACTION 1 ###### Fraction of available environmental resource an organism absorbs. 428MULTI_ABSORB_TYPE 1 ###### What to do if a collect instruction is called on a range of resources. 429 # 0 = absorb a random resource in the range 430 # 1 = absorb the first resource in the range 431 # 2 = absorb the last resource in the range 432 # 3 = absorb ABSORB_RESOURCE_FRACTION / (# of resources in range) of each resource in the range 433MAX_TOTAL_STORED -1 ####### Maximum total amount of all resources an organism can store. 434 # <0 = no maximum 435USE_STORED_FRACTION 1.0 # The fraction of stored resource to use. 436ENV_FRACTION_THRESHOLD 1.0 # The fraction of available environmental resource to compare available stored resource to when deciding whether to use stored resource. 437RETURN_STORED_ON_DEATH 0 ####### Return an organism's stored resources to the world when it dies? 438SPLIT_ON_DIVIDE 0 ######### Split mother cell's resources between two daughter cells on division? 439COLLECT_SPECIFIC_RESOURCE -1 ##### Resource to be collected by the "collect-specific" instruction 440RESOURCE_GIVEN_ON_INJECT 0 ##### Units of collect-specific resources given to organism upon injection. 441RESOURCE_GIVEN_AT_BIRTH 0 ##### Units of collect-specific resources given to offspring upon birth. 442 443### ANALYZE_GROUP ### 444# Analysis Settings 445MAX_CONCURRENCY -1 # Maximum number of analyze threads, -1 == use all available. 446ANALYZE_OPTION_1 # String variable accessible from analysis scripts 447ANALYZE_OPTION_2 # String variable accessible from analysis scripts 448 449### ENERGY_GROUP ### 450# Energy Settings 451ENERGY_ENABLED 0 # Enable Energy Model. 0/1 (off/on) 452ENERGY_GIVEN_ON_INJECT 0.0 # Energy given to organism upon injection. 453ENERGY_GIVEN_AT_BIRTH 0.0 # Energy given to offspring upon birth. 454FRAC_PARENT_ENERGY_GIVEN_TO_ORG_AT_BIRTH 0.5 # Fraction of parent's energy given to offspring organism. 455FRAC_PARENT_ENERGY_GIVEN_TO_DEME_AT_BIRTH 0.5 # Fraction of parent's energy given to offspring deme. 456FRAC_ENERGY_DECAY_AT_ORG_BIRTH 0.0 # Fraction of energy lost due to decay during organism reproduction. 457FRAC_ENERGY_DECAY_AT_DEME_BIRTH 0.0 # Fraction of energy lost due to decay during deme reproduction. 458NUM_CYCLES_EXC_BEFORE_0_ENERGY 0 # Number of virtual CPU cycles executed before energy is exhausted. 459ENERGY_CAP -1.0 # Maximum amount of energy that can be stored in an organism. -1 = no max 460APPLY_ENERGY_METHOD 0 # When should rewarded energy be applied to current energy? 461 # 0 = on divide 462 # 1 = on completion of task 463 # 2 = on sleep 464FIX_METABOLIC_RATE -1.0 # Fix organism metobolic rate to value. This value is static. Feature disabled by default (value == -1) 465FRAC_ENERGY_TRANSFER 0.0 # Fraction of replaced organism's energy take by new resident 466LOG_SLEEP_TIMES 0 # Log sleep start and end times. 0/1 (off/on) 467 # WARNING: may use lots of memory. 468FRAC_ENERGY_RELINQUISH 1.0 # Fraction of organisms energy to relinquish 469ENERGY_PASSED_ON_DEME_REPLICATION_METHOD 0 # Who get energy passed from a parent deme 470 # 0 = Energy divided among organisms injected to offspring deme 471 # 1 = Energy divided among cells in offspring deme 472INHERIT_EXE_RATE 0 # Inherit energy rate from parent? 0=no 1=yes 473ATTACK_DECAY_RATE 0.0 # Percent of cell's energy decayed by attack 474ENERGY_THRESH_LOW .33 # Threshold percent below which energy level is considered low. Requires ENERGY_CAP. 475ENERGY_THRESH_HIGH .75 # Threshold percent above which energy level is considered high. Requires ENERGY_CAP. 476ENERGY_COMPARISON_EPSILON 0.0 # Percent difference (relative to executing organism) required in energy level comparisons 477ENERGY_REQUEST_RADIUS 1 # Radius of broadcast energy request messages. 478 479### ENERGY_SHARING_GROUP ### 480# Energy Sharing Settings 481ENERGY_SHARING_METHOD 0 # Method for sharing energy. 0=receiver must actively receive/request, 1=energy pushed on receiver 482ENERGY_SHARING_PCT 0.0 # Percent of energy to share 483ENERGY_SHARING_INCREMENT 0.01 # Amount to change percent energy shared 484RESOURCE_SHARING_LOSS 0.0 # Fraction of shared resource lost in transfer 485ENERGY_SHARING_UPDATE_METABOLIC 0 # 0/1 (off/on) - Whether to update an organism's metabolic rate on donate or reception/application of energy 486LOG_ENERGY_SHARING 0 # Whether or not to log energy shares. 0/1 (off/on) 487 488### SECOND_PASS_GROUP ### 489# Tracking metrics known after the running experiment previously 490TRACK_CCLADES 0 # Enable tracking of coalescence clades 491TRACK_CCLADES_IDS coalescence.ids # File storing coalescence IDs 492 493### GX_GROUP ### 494# Gene Expression CPU Settings 495MAX_PROGRAMIDS 16 # Maximum number of programids an organism can create. 496MAX_PROGRAMID_AGE 2000 # Max number of CPU cycles a programid executes before it is removed. 497IMPLICIT_GENE_EXPRESSION 0 # Create executable programids from the genome without explicit allocation and copying? 498IMPLICIT_BG_PROMOTER_RATE 0.0 # Relative rate of non-promoter sites creating programids. 499IMPLICIT_TURNOVER_RATE 0.0 # Number of programids recycled per CPU cycle. 0 = OFF 500IMPLICIT_MAX_PROGRAMID_LENGTH 0 # Creation of an executable programid terminates after this many instructions. 0 = disabled 501 502### PROMOTER_GROUP ### 503# Promoters 504PROMOTERS_ENABLED 0 # Use the promoter/terminator execution scheme. 505 # Certain instructions must also be included. 506PROMOTER_INST_MAX 0 # Maximum number of instructions to execute before terminating. 0 = off 507PROMOTER_PROCESSIVITY 1.0 # Chance of not terminating after each cpu cycle. 508PROMOTER_PROCESSIVITY_INST 1.0 # Chance of not terminating after each instruction. 509PROMOTER_TO_REGISTER 0 # Place a promoter's base bit code in register BX when starting execution from it? 510TERMINATION_RESETS 0 # Does termination reset the thread's state? 511NO_ACTIVE_PROMOTER_EFFECT 0 # What happens when there are no active promoters? 512 # 0 = Start execution at the beginning of the genome. 513 # 1 = Kill the organism. 514 # 2 = Stop the organism from executing any further instructions. 515PROMOTER_CODE_SIZE 24 # Size of a promoter code in bits. (Maximum value is 32) 516PROMOTER_EXE_LENGTH 3 # Length of promoter windows used to determine execution. 517PROMOTER_EXE_THRESHOLD 2 # Minimum number of bits that must be set in a promoter window to allow execution. 518INST_CODE_LENGTH 3 # Instruction binary code length (number of bits) 519INST_CODE_DEFAULT_TYPE 0 # Default value of instruction binary code value. 520 # 0 = All zeros 521 # 1 = Based off the instruction number 522CONSTITUTIVE_REGULATION 0 # Sense a new regulation value before each CPU cycle? 523 524### COLORS_GROUP ### 525# Output colors for when data files are printed in HTML mode. 526# There are two sets of these; the first are for lineages, 527# and the second are for mutation tests. 528COLOR_DIFF CCCCFF # Color to flag stat that has changed since parent. 529COLOR_SAME FFFFFF # Color to flag stat that has NOT changed since parent. 530COLOR_NEG2 FF0000 # Color to flag stat that is significantly worse than parent. 531COLOR_NEG1 FFCCCC # Color to flag stat that is minorly worse than parent. 532COLOR_POS1 CCFFCC # Color to flag stat that is minorly better than parent. 533COLOR_POS2 00FF00 # Color to flag stat that is significantly better than parent. 534COLOR_MUT_POS 00FF00 # Color to flag stat that has changed since parent. 535COLOR_MUT_NEUT FFFFFF # Color to flag stat that has changed since parent. 536COLOR_MUT_NEG FFFF00 # Color to flag stat that has changed since parent. 537COLOR_MUT_LETHAL FF0000 # Color to flag stat that has changed since parent. 538 539### MOVEMENT_GROUP ### 540# Movement Features Settings 541MOVEMENT_COLLISIONS_LETHAL 2 ###### Are collisions during movement lethal? 542 # (0=no, use swap; 1=yes, use collision selection type; 2=no, but movement fails) 543MOVEMENT_COLLISIONS_SELECTION_TYPE 0 ####### 0 = 50% chance 544 # 1 = binned vitality based 545VITALITY_BIN_EXTREMES 1.0 # vitality multiplier for extremes (> 1 stddev from the mean population age) 546VITALITY_BIN_CENTER 10.0 # vitality multiplier for center bin (with 1 stddev of the mean population age) 547DEADLY_BOUNDARIES 1 ##### Are bounded grid border cell deadly? 548 # If == 1, orgs stepping onto boundary cells will disappear into oblivion (aka die) 549 550### PHEROMONE_GROUP ### 551# Pheromone Settings 552PHEROMONE_ENABLED 0 # Enable pheromone usage. 0/1 (off/on) 553PHEROMONE_AMOUNT 1.0 # Amount of pheromone to add per drop 554PHEROMONE_DROP_MODE 0 # Where to drop pheromone 555 # 0 = Half amount at src, half at dest 556 # 1 = All at source 557 # 2 = All at dest 558EXPLOIT_EXPLORE_PROB 0.00 # Probability of random exploration 559 # instead of pheromone trail following 560LOG_PHEROMONE 0 # Log pheromone drops. 0/1 (off/on) 561PHEROMONE_LOG_START 0 # Update at which to start logging pheromone drops 562EXPLOIT_LOG_START 0 # Update at which to start logging exploit moves 563EXPLORE_LOG_START 0 # Update at which to start logging explore moves 564MOVETARGET_LOG_START 0 # Update at which to start logging movetarget moves 565LOG_INJECT 0 # Log injection of organisms. 0/1 (off/on) 566INJECT_LOG_START 0 # Update at which to start logging injection of 567 # organisms 568 569### SYNCHRONIZATION_GROUP ### 570# Synchronization settings 571SYNC_FITNESS_WINDOW 100 # Number of updates over which to calculate fitness (default=100). 572SYNC_FLASH_LOSSRATE 0.0 # P() to lose a flash send (0.0==off). 573SYNC_TEST_FLASH_ARRIVAL -1 # CPU cycle at which an organism will receive a flash (off=-1, default=-1, analyze mode only.) 574 575### CONSENSUS_GROUP ### 576# Consensus settings 577CONSENSUS_HOLD_TIME 1 # Number of updates that consensus must be held for. 578 579### REPUTATION_GROUP ### 580# Reputation Settings 581RAW_MATERIAL_AMOUNT 100 # Number of raw materials an organism starts with 582AUTO_REPUTATION 0 # Is an organism's reputation automatically computed based on its donations 583 # 0=no 584 # 1=increment for each donation + standing 585 # 2=+1 for donations given -1 for donations received 586 # 3=1 for donors -1 for recivers who have not donated 587 # 4=+1 for donors 588 # 5=+1 for donors during task check 589ALT_BENEFIT 1.00 # Number multiplied by the number of raw materials received from another organism to compute reward 590ALT_COST 1.00 # Number multiplied by the number of your raw materials 591ROTATE_ON_DONATE 0 # Rotate an organism to face its donor 0/1 (off/on) 592REPUTATION_REWARD 0 # Reward an organism for having a good reputation 593DONATION_FAILURE_PERCENT 0 # Percentage of times that a donation fails 594RANDOMIZE_RAW_MATERIAL_AMOUNT 0 # Should all the organisms receive the same amount 0/1 (off/on) 595DONATION_RESTRICTIONS 0 # 0=none 596 # 1=inter-species only 597 # 2=different tag only 598INHERIT_REPUTATION 0 # 0=reputations are not inherited 599 # 1=reputations are inherited 600 # 2=tags are inherited 601SPECIALISTS 0 # 0=generalists allowed 602 # 1=only specialists 603STRING_AMOUNT_CAP -1 # -1=no cap on string amounts 604 # #=CAP 605MATCH_ALREADY_PRODUCED 0 # 0=off 606 # 1=on 607 608### GROUP_FORMATION_GROUP ### 609# Group Formation Settings 610USE_FORM_GROUPS 2 ########## Enable organisms to form groups. 0=off, 611 # 1=on no restrict, 612 # 2=on restrict to defined 613DEFAULT_GROUP 0 ####### Default group to assign to organisms not asserting a group membership (-1 indicates disabled) 614 615### DEME_NETWORK_GROUP ### 616# Deme network settings 617DEME_NETWORK_TYPE 0 # 0=topology, structure of network determines fitness. 618DEME_NETWORK_REQUIRES_CONNECTEDNESS 1 # Whether the deme's network must be connected before an actual fitness is calculated. 619DEME_NETWORK_TOPOLOGY_FITNESS 0 # Network measure used to determine fitness; see cDemeTopologyNetwork.h. 620DEME_NETWORK_LINK_DECAY 0 # Number of updates after which a link decays; 0=no decay (default). 621DEME_NETWORK_REMOVE_NODE_ON_DEATH 0 # Whether death of an organism in 622 # the deme removes its links; 623 # 0=no (default); 624 # 1=yes. 625 626### HGT_GROUP ### 627# Horizontal gene transfer settings 628ENABLE_HGT 0 # Whether HGT is enabled; 0=false (default), 629 # 1=true. 630HGT_SOURCE 0 # Source of HGT fragments; 0=dead organisms (default), 631 # 1=parent. 632HGT_FRAGMENT_SELECTION 0 # Method used to select fragments for HGT mutation; 0=random (default), 633 # 1=trimmed selection 634 # 2=random placement. 635HGT_FRAGMENT_SIZE_MEAN 10 # Mean size of fragments (default=10). 636HGT_FRAGMENT_SIZE_VARIANCE 2 # Variance of fragments (default=2). 637HGT_MAX_FRAGMENTS_PER_CELL 100 # Max. allowed number of fragments per cell (default=100). 638HGT_DIFFUSION_METHOD 0 # Method to use for diffusion of genome fragments; 0=none (default). 639HGT_COMPETENCE_P 0.0 # Probability that an HGT 'natural competence' mutation will occur on divide (default=0.0). 640HGT_INSERTION_MUT_P 0.0 # Probability that an HGT mutation will result in an insertion (default=0.0). 641HGT_CONJUGATION_METHOD 0 # Method used to select the receiver and/or donor of an HGT conjugation; 642 # 0=random from neighborhood (default); 643 # 1=faced. 644HGT_CONJUGATION_P 0.0 # Probability that an HGT conjugation mutation will occur on divide (default=0.0). 645HGT_FRAGMENT_XFORM 0 # Transformation to apply to each fragment prior to incorporation into offspring's genome; 0=none (default), 646 # 1=random shuffle, 647 # 2=replace with random instructions. 648 649### INST_RES_GROUP ### 650# Resource-Dependent Instructions Settings 651INST_RES # Resource upon which the execution of certain instruction depends 652INST_RES_FLOOR 0.0 # Assumed lower level of resource in environment. Used for probability dist. 653INST_RES_CEIL 0.0 # Assumed upper level of resource in environment. Used for probability dist. 654 655### OPINION_GROUP ### 656# Organism opinion settings 657OPINION_BUFFER_SIZE -1 ####### Size of the opinion buffer (stores opinions set over the organism's lifetime); -1=inf, default=1, cannot be 0. 658 659### ALARM_GROUP ### 660# Alarm Settings 661BCAST_HOPS 1 # Number of hops to broadcast an alarm 662ALARM_SELF 0 # Does sending an alarm move sender IP to alarm label? 663 # 0=no 664 # 1=yes 665 666### DIVISION_OF_LABOR_GROUP ### 667# Division of Labor settings 668AGE_POLY_TRACKING 0 # Print data for an age-task histogram 669REACTION_THRESH 0 # The number of times the deme must perform each reaction in order to replicate 670TASK_SWITCH_PENALTY 0 # Cost of task switching in cycles 671TASK_SWITCH_PENALTY_TYPE 0 # Type of task switch cost: (0) none (1) learning, (2) retooling or context, (3) centrifuge 672RES_FOR_DEME_REP 0 # The amount of resources that must be consumed prior to automatic deme replication 673 674### DEPRECATED_GROUP ### 675# DEPRECATED (New functionality listed in comments) 676ANALYZE_MODE 0 # 0 = Disabled 677 # 1 = Enabled 678 # 2 = Interactive 679 # DEPRECATED: use command line options -a[nalyze] or -i[nteractive]) 680REPRO_METHOD 1 # Replace existing organism: 1=yes 681 # DEPRECATED: Use BIRTH_METHOD 3 instead. 682LEGACY_GRID_LOCAL_SELECTION 0 # Enable legacy grid local mate selection. 683 # DEPRECATED: Birth chameber now uses population structure) 684HARDWARE_TYPE 0 # 0 = Default, heads-based CPUs 685 # 1 = New SMT CPUs 686 # 2 = Transitional SMT 687 # 3 = Experimental CPU 688 # 4 = Gene Expression CPU 689INST_SET - # Instruction set file ('-' = use default for hardware type) 690INST_SET_LOAD_LEGACY 0 # Load legacy format instruction set file format 691START_ORGANISM - # Organism to seed the population 692 693### DEVEL_GROUP ### 694# IN DEVELOPMENT (May not function correctly) 695WORLD_Z 1 # Depth of the Avida world 696