3 Star 1 Fork 1

Gitee 极速下载/biosim4

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/davidrmiller/biosim4
克隆/下载
biosim4.ini 9.55 KB
一键复制 编辑 原始数据 按行查看 历史
David R. Miller 提交于 2022-02-18 10:59 . Auto param change (#53)
# biosim4.ini
# biosim4.ini is the default config file for the simulator.
# The config filename is determined in simulator() in simulator.cpp.
# The config file is parsed by class ParamManager, see params.cpp and params.h.
# Although not foolproof, the config file can be modified during a simulation
# run and the param manager will make any new params available to the simulator
# after the end of the current simulator step or after the end of the current
# generation.
#
# Parameter values can also be changed automatically based on the current generation
# number of the simulation using the syntax (see barrierType param for example):
# <parameterName>@<generationNumber> = <newValue>
# Instances of the same parameter have to be ascending by generation number to work
# correctly, e.g. barrierType@100 must be later in the file than barrierType@50,
# which in turn must come after barrierType. Not all parameters can be safely
# changed during a simulation. Some restrictions are noted below.
# numThreads must be 1 or greater. Best value is less than or equal to
# the number of CPU cores. Cannot be changed after a simulation starts.
numThreads = 4
# sizeX, sizeY define the size of the 2D world. Minimum size is 16,16.
# Maximum size is 32767, 32767. Cannot be changed after a simulation starts.
sizeX = 128
sizeY = 128
# Population at the start of each generation. Maximum value = 32766.
# Cannot be changed after a simulation starts.
population = 3000
# Number of simulation steps per generation. Range 1..INT_MAX.
stepsPerGeneration = 300
# The simulator will stop when the generation number == maxGenerations.
# Range 1..INT_MAX
maxGenerations = 200000
# genomeInitialLengthMin and genomeInitialLengthMax should be set to
# the same value. (For future use, the max length might be larger to
# allow mutations that lengthen the genome.) Range 1..INT_MAX and
# must be no larger than genomeMaxLength. The range of genomeMaxLength
# is genomeInitialLengthMax..INT_MAX. Cannot be changed after a
# simulation starts.
genomeInitialLengthMin = 24
genomeInitialLengthMax = 24
genomeMaxLength = 300
# maxNumberNeurons is the maximum number of internal neurons that may
# be addressed by genes in the genome. Range 1..INT_MAX. Cannot be
# changed after a simulation starts. Cannot be changed after a
# simulation starts.
maxNumberNeurons = 5
# If killEnable is true and the "kill" action neuron is enabled in
# sensors-actions.h and compiled in, then agents are permitted to
# kill their neighbor in the adjacent location in the direction of
# forward movement. If false, the neighbors are safe.
killEnable = false
# If sexualReproduction is false, newborns inherit the genes from a
# single parent. If true, newborns inherit a mixture of genes from
# two parents.
sexualReproduction = true
# If chooseParentByFitness is false, then every agent that survives the
# selection criterion has equal chance of reproducing. If true, then
# preference is given to those parents who passed the selection criterion
# with a greater score. Fitness scores are determined in survival-criteria.cpp.
chooseParentsByFitness = true
# pointMutationRate is the probability per gene of having a single-bit
# mutation during spawning. Range 0.0 .. 1.0. A reasonable range is
# 0.0001 to 0.01.
pointMutationRate = 0.001
# geneInsertionDeletionRate and deletionRatio are for future use to
# allow mutations that lengthen or shorten the genome. Ignored for now.
geneInsertionDeletionRate = 0.0
deletionRatio = 0.5
# responsivenessCurveKFactor is a small positive integer that determines
# the shape of the curve that determines how reactive an agent is to its
# sensory inputs. Typical values are # 1, 2, 3, or 4, but greater values
# are allowed experimentally.
responsivenessCurveKFactor = 2
# populationSensorRadius is the radius in which the population sensor
# looks for neighbors. Floating point value. A value of 1.5 includes
# all the immediate eight-neighborhood. Larger values incur exponentially
# increasing processor overhead. Range 0.5 up to (float)max(sizeX, sizeY).
populationSensorRadius = 2.5
# longProbeDistance is the default distance that the long-probe sensors
# are able to see. Applies to long-probe population sensor and long-probe
# signal (pheromone) sensor. Range 1..INT_MAX.
longProbeDistance = 16
# shortProbeBarrierDistance is the distance that the short-probe sensor
# can see. Range 1..INT_MAX.
shortProbeBarrierDistance = 4
# signalSensorRadius is the radius in which the signal (pheromone) sensor
# looks for pheromones. Floating point value. A value of 1.5 includes
# all the immediate eight-neighborhood. Larger values incur exponentially
# increasing processor overhead. Range 0.5 up to (float)max(sizeX, sizeY).
signalSensorRadius = 2.0
# signalLayers defines the number of pheromone layers. Must be 1 for now.
# Values > 1 are for future use. Cannot be changed after a simulation starts.
signalLayers = 1
# imageDir is the relative or absolute directory path where generation
# movies are created.
imageDir = images
# logDir is the relative or absolute directory path where text log files
# are created.
logDir = logs
# displayScale scales the generation movie. Typical values are
# 1 for actual size, or 2, 4, 8, 16, or 32 to scale up the movie.
displayScale = 8
# agentSize controls the size of the dot used to represent an agent
# in the generation movie. Typical value is displayScale / 2.
agentSize = 4
# If videoSaveFirstFrames is 0, then only the parameter videoStride controls
# how often generation movies are made. If videoSaveFirstFrames is nonzero,
# then generation movies will also be generated for every generation from 0
# through videoSaveFirstFrames (because the first few generations are often
# the most interesting). Range 1..INT_MAX.
videoSaveFirstFrames = 2
# updateGraphLog can be set to true to cause the simulator program to
# invoke graphlog.gp to update the simulation progress graph. If true,
# then updateGraphLogStride controls how often it is invoked. If
# updateGraphLog is false, then the simulator program will not invoke
# graphlog.gp.
updateGraphLog = true
# If saveVideo is true, the simulator program will create generation
# movies in the directory named by imageDir at the intervals set by
# videoSaveFirstFrames and videoStride.
saveVideo = true
# videoStride determines how often generation movies will be created.
# Also see saveVideo and videoSaveFirstFrames. Range 1..INT_MAX.
videoStride = 25
# updateGraphLogStride determines how often the simulation progress graph
# is updated by direct invocation of graphlog.gp. Ignored if updateGraphLog
# is false. updateGraphLogStride may be a positive integer from 1 to INT_MAX,
# or may be set to the string videoStride to use the value of videoStride.
updateGraphLogStride = videoStride
# genomeAnalysisStride determines how often the simulator will print genomic
# statistics. The stats are printed to stdout when the generation number
# modulo genomeAnalysisStride == 0. The value may be a positive integer from
# 1 to INT_MAX, or may be set to the string videoStride to use the value of
# videoStride.
genomeAnalysisStride = videoStride
# When the genomic statistics are printed (see genomeAnalysisStride), the
# method used to measure genome diversity in the population is determined
# by genomeComparisonMethod. May be set to 0 for Jaro-Winkler method (useful
# for future use if genomes are allowed to grow or shrink in size); or 1
# for a Hamming measure bit-by-bit, or 2 for a Hamming measure byte-by-byte.
# Typically set to 1.
genomeComparisonMethod = 1
# When genomic statistics are printed (see genomeAnalysisStride), the number
# of genomes sampled from the population and printed to stdout is determined
# by displaySampleGenomes. Range 0 to population size.
displaySampleGenomes = 5
# challenge determines the selection criterion for reproduction. This is
# typically always under active development. See survival-criteria.cpp for
# more information.
# 0 = circle
# 1 = right half
# 2 = right quarter
# 3 = neighbor count
# 4 = center weighted
# 40 = center unweighted
# 5 = corner 1/4 radius
# 6 = corner 1/4 radius weighted
# 7 = migrate distance
# 8 = center sparse
# 9 = left eighth
# 10 = radioactive walls
# 11 = against any wall
# 12 = touch any wall any time
# 13 = east-west eighths
# 14 = near barrier
# 15 = pairs
# 16 = contact location sequence
# 17 = altruism, circle + NE corner
challenge = 6
# The simulator supports a feature called "barriers." Barriers are locations
# in the simulated 2D world where agents may not occupy. The value of
# barrierType is typically under active development. See createBarrier.cpp
# for more information.
# 0 = none
# 1 = vertical bar constant location
# 2 = vertical bar random locations
# 3 = five staggered vertical bars
# 4 = horiz bar constant location north center
# 5 = floating islands
# 6 = sequence of spots
barrierType = 0
# This is an example of an automatic parameter change based on the generation.
# If uncommented, the barrier type will automatically change to the new value
# when the simulation reaches the generation specified after the @ delimiter.
# barrierType@500 = 5
# If true, then the random number generator (RNG) will be seeded by the value
# in RNGSeed, causing each thread to receive a deterministic sequence from
# the RNG. If false, the RNG will be randomly seeded and program output will
# be non-deterministic. Cannot be changed after a simulation starts.
deterministic = false
# If deterministic is true, the random number generator will be seeded with
# this value. If deterministic is false, this value is ignored. Legal values
# are integers 0 to 4294967295. Cannot be changed after a simulation starts.
RNGSeed = 12345678
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/mirrors/biosim4.git
git@gitee.com:mirrors/biosim4.git
mirrors
biosim4
biosim4
main

搜索帮助