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