sim_params class in Global context

167 members:

type and namedescriptioncomments
function print
function
print information message One argument: message to be printed 
function message
function
print message The second argument can be:
-1 = debugging message
0 = information
1 = warning
2 = error
3 = critical error 
function load
function
load Load experiment file 
function import
function
import Load some data from file. The second argument selects what section(s) will be loaded:
1 - experiment
2 - genotypes
4 - simulator parameters
8 - genotype group settings
16 - populations settings
32 - new groups will be created for imported genotypes/populations 
function save
function
save save experiment file 
function export
function
export save some data to file. arguments:
- filename
- flags: composed of the following bit values:
1 - experiment
2 - genotypes
4 - simulator parameters
8 - simulator stats
16 - genotype group settings
32 - populations settings
64 - do autosave
- selected genotype group
- selected population 
function stop
function
stop simulation  
function step
function
do single simulation step  
string expdef
string
Experiment definition  
string expdef_title
string
Title  
string expdef_info
multiline string
Description  
function init
function
Initialize experiment  
function loadexpdef
function
Reload experiment definition  
string usercode
multiline string
User script This script overrides the experiment definition 
integer autosaveperiod
integer, 0 .. 100000
Save backup Save simulation state once every n-th event
(events are defined by the script. For 'standard.expdef' it is after each death).
Save EXPT file first to initialize name for autosave files. 
integer overwrite
integer, 0 .. 1 (false/true)
Overwrite Overwite existing files or create their backups 
integer filecomm
integer, 0 .. 1 (false/true)
Show file comments Send comments encountered in opened files to the message window 
function autosave
function
Trigger autosave now  
integer createrr
integer, 0 .. 2
  • 0 = Ignore
  • 1 = Show summary
  • 2 = Show details
  • Object creation errors  
    integer importchk
    integer, 0 .. 1 (false/true)
    Check imported genotypes  
    integer loadchk
    integer, 0 .. 1 (false/true)
    Check genotypes loaded from experiment  
    integer groupchk
    integer, 0 .. 1 (false/true)
    Check genotypes added to groups  
    function new
    function
    create new Simulator  
    object world
    object field
    world object  
    object livelib
    object field
    live library object  
    object genolib
    object field
    genotype library object  
    function clear
    function
    remove all properties  
    function add
    function
    add property (id,type,name,help)  
    function remove
    function
    remove property (index)  
    function addGroup
    function
    add group (name)  
    function removeGroup
    function
    remove group (index)  
    integer changedProperty
    integer
    last changed property #  
    string changedPropertyId
    string
    last changed property id  
    string initialgen
    multiline string
    Initial genotype  
    integer capacity
    integer, 0 .. 2000
    Gene pool capacity  
    integer delrule
    integer, 0 .. 2
  • 0 = Randomly
  • 1 = Inv-proportional fitness
  • 2 = Only the worst
  • Delete genotypes  
    integer MaxCreated
    integer, 0 .. 50
    Simulated creatures  
    float creath
    floating point, -1 .. 50
    Creation height Vertical position (above the surface) where new creatures are revived.
    Negative values are only used in the water area:
    0 = at the surface
    -0.5 = half depth
    -1 = just above the bottom 
    float p_nop
    floating point, 0 .. 100
    Unchanged  
    float p_mut
    floating point, 0 .. 100
    Mutated  
    float p_xov
    floating point, 0 .. 100
    Crossed over  
    float xov_mins
    floating point, 0 .. 9999
    Minimal similarity Only genotypes with dissimilarity below this threshold will be crossed over.
    Value of 0 means no crossover restrictions. 
    integer selrule
    integer, 0 .. 5
  • 0 = Random
  • 1 = Fitness-proportional (roulette)
  • 2 = Tournament (2 genotypes)
  • 3 = Tournament (3 genotypes)
  • 4 = Tournament (4 genotypes)
  • 5 = Tournament (5 genotypes)
  • Selection rule  
    float cr_c
    floating point, -10000 .. 10000
    Constant Constant value added to total fitness 
    float cr_life
    floating point, -10000 .. 10000
    Life span Weight of life span in total fitness 
    float cr_v
    floating point, -10000 .. 10000
    Velocity Weight of horizontal velocity in total fitness 
    float cr_gl
    floating point, -10000 .. 10000
    Body parts Weight of body size (number of parts) in total fitness 
    float cr_joints
    floating point, -10000 .. 10000
    Body joints Weight of structure size (number of joints) in total fitness 
    float cr_nnsiz
    floating point, -10000 .. 10000
    Brain neurons Weight of brain size (number of neurons) in total fitness 
    float cr_nncon
    floating point, -10000 .. 10000
    Brain connections Weight of brain connections in total fitness 
    float cr_di
    floating point, -10000 .. 10000
    Distance Weight of distance in total fitness 
    float cr_vpos
    floating point, -10000 .. 10000
    Vertical position  
    float cr_vvel
    floating point, -10000 .. 10000
    Vertical velocity  
    integer cr_norm
    integer, 0 .. 1 (false/true)
    Criteria normalization  Normalize each criterion to 0..1 interval before weighting 
    integer cr_simi
    integer, 0 .. 1 (false/true)
    Similarity speciation If enabled, fitness of each genotype will be reduced by its phenotypic similarity to all other genotypes in the gene pool 
    float Energy0
    floating point, 0 .. 10000
    Starting energy Base starting energy level (for each stick) 
    float e_meta
    floating point, 0 .. 1
    Idle metabolism Each stick consumes this amount of energy in one time step 
    integer feed
    integer, 0 .. 100
    Automatic feeding Number of energy pieces in the world 
    float feede0
    floating point, 0 .. 1000
    Food's energy  
    string foodgen
    multiline string
    Food's genotype The default food model is a simple, single part object:
    //0
    m:Vstyle=food
    p:
    (this genotype is used when you leave this field blank).
    You can specify another genotype to create "intelligent" or mobile food. 
    float feedtrans
    floating point, 0 .. 100
    Ingestion multiplier  
    integer aging
    integer, 0 .. 100000
    Aging time Idle metabolism doubles after this period (0 disables aging) 
    function cleardata
    function
    Reset performance data  
    string notes
    multiline string
    Notes You can write anything here
    (it will be written to the experiment file) 
    integer totaltestedcr
    integer
    Evaluated creatures Total number of the creatures evaluated in the experiment 
    integer creaturesgrouploaded
    integer
    creaturesgrouploaded  
    integer wrldtyp
    integer, 0 .. 2
  • 0 = Flat surface
  • 1 = Blocks
  • 2 = Height field
  • Type  
    float wrldsiz
    floating point, 10 .. 200
    Size Side length of the world 
    string wrldmap
    multiline string
    Map Description of the world (Type: Blocks or Heighfield). Format:
    r <sizex> <sizey> [seed]
    or
    m <sizex> <sizey> digits 
    float wrldwat
    floating point, -20 .. 30
    Water level  
    integer wrldbnd
    integer, 0 .. 2
  • 0 = None
  • 1 = Fence
  • 2 = Teleport
  • Boundaries  
    function wrldchg
    function
    Trigger world update  
    integer gen_hist
    integer, 0 .. 1 (false/true)
    Remember history of genetic operations Required for phylogenetic analysis 
    integer gen_hilite
    integer, 0 .. 1 (false/true)
    Use syntax highlighting Use colors for genes?
    (slows down viewing/editing of big genotypes) 
    function operReport
    function
    Operators report Show available genetic operators 
    function toHTML
    function
    HTMLize a genotype Print genotype using colored HTML 
    function toHTMLshort
    function
    HTMLize a genotype, shorten if needed Print genotype (abbreviated if needed) using colored HTML 
    function validate
    function
    Validate returns validated (if possible) Geno object from supplied Geno 
    function mutate
    function
    Mutate returns mutated Geno object from supplied Geno 
    function crossOver
    function
    Crossover returns xover genotype, arguments: 2 Geno objects 
    function evaluateDistance
    function
    evaluate model dissimilarity calculate dissimilarity between 2 models created from Geno objects 
    integer genoper_f0
    integer, 0 .. 0
  • 0 = Default
  • Operators for f0  
    integer genoper_f1
    integer, 0 .. 0
  • 0 = Default
  • Operators for f1  
    integer genoper_f4
    integer, 0 .. 0
  • 0 = Default
  • Operators for f4  
    integer neuadd_N
    integer, 0 .. 1 (false/true)
    Neuron (N) Standard neuron

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    Inertia (in) float 0..1
    Force (fo) float 0..999
    Sigmoid (si) float -99999..99999
    State (s) float -1..1 
    integer neuadd_Nu
    integer, 0 .. 1 (false/true)
    Unipolar neuron [EXPERIMENTAL!] (Nu) Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1.
    Having 0 as one of the saturation states should help in "gate circuits", where input signal is passed through or blocked depending on the other singal.

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    Inertia (in) float 0..1
    Force (fo) float 0..999
    Sigmoid (si) float -99999..99999
    State (s) float -1..1 
    integer neuadd_G
    integer, 0 .. 1 (false/true)
    Gyroscope (G) Equilibrium sensor.
    0=the stick is horizontal
    +1/-1=the stick is vertical

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Joint
     
    integer neuadd_T
    integer, 0 .. 1 (false/true)
    Touch (T) Touch sensor.
    -1=no contact
    0=just touching
    >0=pressing, value depends on the force applied

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer neuadd_S
    integer, 0 .. 1 (false/true)
    Smell (S) Smell sensor. Aggregated "smell of energy" experienced from all energy objects (creatures and food pieces).
    Close objects have bigger influence than the distant ones: for each energy source, its partial feeling is proportional to its energy/(distance^2)

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer neuadd_*
    integer, 0 .. 1 (false/true)
    Const (*) Constant value

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer neuadd_|
    integer, 0 .. 1 (false/true)
    Bend muscle (|) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1
    rot.range (r) float 0..1 
    integer neuadd_@
    integer, 0 .. 1 (false/true)
    Rotation muscle (@) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1 
    integer neuadd_D
    integer, 0 .. 1 (false/true)
    Differentiate (D) Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body
     
    integer neuadd_Fuzzy
    integer, 0 .. 1 (false/true)
    Fuzzy system [EXPERIMENTAL!] (Fuzzy) Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    number of fuzzy sets (ns) integer
    number of rules (nr) integer
    fuzzy sets (fs) string
    fuzzy rules (fr) string 
    integer neuadd_Sti
    integer, 0 .. 1 (false/true)
    Sticky [EXPERIMENTAL!] (Sti) Characteristics:
    uses single input
    does not provide output value
    should be located on a Part
     
    integer neuadd_LMu
    integer, 0 .. 1 (false/true)
    Length muscle [EXPERIMENTAL!] (LMu) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1 
    integer neuadd_Water
    integer, 0 .. 1 (false/true)
    Water detector (Water) Output signal:
    0=on or above water surface
    1=under water (deeper than 1)
    0..1=in the transient area just below water surface

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer neuadd_Energy
    integer, 0 .. 1 (false/true)
    Energy level (Energy) The current energy level divided by the initial energy level.
    Usually falls from initial 1.0 down to 0.0 and then the creature dies. It can rise above 1.0 if enough food is ingested

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer neuadd_Ch
    integer, 0 .. 1 (false/true)
    Channelize (Ch) Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel.

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body
     
    integer neuadd_ChMux
    integer, 0 .. 1 (false/true)
    Channel multiplexer (ChMux) Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel)

    Characteristics:
    uses 2 inputs
    provides output value
    does not require location in body
     
    integer neuadd_ChSel
    integer, 0 .. 1 (false/true)
    Channel selector (ChSel) Outputs a single channel (selected by the "ch" parameter) from multichannel input

    Characteristics:
    uses single input
    provides output value
    does not require location in body


    Properties:
    channel (ch) integer 
    integer neuadd_Rnd
    integer, 0 .. 1 (false/true)
    Random noise (Rnd) generates random noise (subsequent random values in the range of -1..+1)

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer neuadd_Sin
    integer, 0 .. 1 (false/true)
    Sinus Generator (Sin) Output frequency = f0+input

    Characteristics:
    uses single input
    provides output value
    does not require location in body


    Properties:
    base frequency (f0) float
    time (t) float 
    float f0_p_new
    floating point, 0 .. 100
    New part  
    float f0_p_del
    floating point, 0 .. 100
    Delete  
    float f0_p_swp
    floating point, 0 .. 100
    Swap parts  
    float f0_p_pos
    floating point, 0 .. 100
    Position  
    float f0_p_siz
    floating point, 0 .. 100
    Size  
    float f0_p_mas
    floating point, 0 .. 100
    Mass  
    float f0_p_den
    floating point, 0 .. 100
    Density  
    float f0_p_frc
    floating point, 0 .. 100
    Friction  
    float f0_p_ing
    floating point, 0 .. 100
    Ingest  
    float f0_p_asm
    floating point, 0 .. 100
    Assimilation  
    float f0_j_new
    floating point, 0 .. 100
    New joint  
    float f0_j_del
    floating point, 0 .. 100
    Delete  
    float f0_j_stm
    floating point, 0 .. 100
    Stamina  
    float f0_j_stf
    floating point, 0 .. 100
    Stif  
    float f0_j_rsf
    floating point, 0 .. 100
    Rotstif  
    float f0_n_new
    floating point, 0 .. 100
    New neuron  
    float f0_n_del
    floating point, 0 .. 100
    Delete  
    float f0_n_prp
    floating point, 0 .. 100
    Change properties  
    float f0_c_new
    floating point, 0 .. 100
    New connection  
    float f0_c_del
    floating point, 0 .. 100
    Delete  
    float f0_c_wei
    floating point, 0 .. 100
    Change weight  
    string f1_mut_exmod
    string
    Excluded modifiers Modifiers that will not be used when mutating (all: RrLlAaCcFfMmSsIiQqWwEe) 
    integer f1_xo_propor
    integer, 0 .. 1 (false/true)
    Proportional segments crossover Cross over (exchange) corresponding segments of two parent genotypes? 
    float f1_smX
    floating point, 0 .. 100
    Add/remove a stick X  
    float f1_smJunct
    floating point, 0 .. 100
    Add/remove a junction ( )  
    float f1_smComma
    floating point, 0 .. 100
    Add/remove a comma ,  
    float f1_smModif
    floating point, 0 .. 100
    Add/remove a modifier Modifiers: RrLlAaCcFfMmSsIiQqWwEe 
    float f1_nmNeu
    floating point, 0 .. 100
    Add/remove a neuron Adds a (connected) neuron or removes a neuron 
    float f1_nmConn
    floating point, 0 .. 100
    Add/remove neural connection  
    float f1_nmProp
    floating point, 0 .. 100
    Add/remove neuron property setting  
    float f1_nmWei
    floating point, 0 .. 100
    Change connection weight  
    float f1_nmVal
    floating point, 0 .. 100
    Change property value  
    float f4_mut1add
    floating point, 0 .. 1
    Add node mutation: probability of adding a node 
    float f4_mut1del
    floating point, 0 .. 1
    Delete node mutation: probability of deleting a node 
    float f4_mutAdd2div
    floating point, 0 .. 1
    Add division add node mutation: probability of adding a division 
    float f4_mutAdd2link
    floating point, 0 .. 1
    Add link add node mutation: probability of adding a link 
    float f4_mutAdd2npar
    floating point, 0 .. 1
    Add neural parameter add node mutation: probability of adding a neuron parameter modifier 
    float f4_mutAdd2rep
    floating point, 0 .. 1
    Add repetition add node mutation: probability of adding a repetition 
    integer simil_method
    integer, 0 .. 1
  • 0 = New
  • 1 = Old
  • Matching method  
    float simil_parts
    floating point, 0 .. 100
    Weight of parts count  
    float simil_partdeg
    floating point, 0 .. 100
    Weight of parts' degree  
    float simil_neuro
    floating point, 0 .. 100
    Weight of neurons count  
    integer genkonw0
    integer, 0 .. 1 (false/true)
    f1 converter Original Framsticks genotype format 
    integer genkonw1
    integer, 0 .. 1 (false/true)
    f4 converter Developmental encoding 
    float randinit
    floating point
    Random initialization Initialize all neuron states with uniform distribution random numbers 
    integer ncl_N
    integer, 0 .. 1 (false/true)
    Neuron (N) Standard neuron

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    Inertia (in) float 0..1
    Force (fo) float 0..999
    Sigmoid (si) float -99999..99999
    State (s) float -1..1 
    integer ncl_Nu
    integer, 0 .. 1 (false/true)
    Unipolar neuron [EXPERIMENTAL!] (Nu) Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1.
    Having 0 as one of the saturation states should help in "gate circuits", where input signal is passed through or blocked depending on the other singal.

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    Inertia (in) float 0..1
    Force (fo) float 0..999
    Sigmoid (si) float -99999..99999
    State (s) float -1..1 
    integer ncl_G
    integer, 0 .. 1 (false/true)
    Gyroscope (G) Equilibrium sensor.
    0=the stick is horizontal
    +1/-1=the stick is vertical

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Joint
     
    integer ncl_T
    integer, 0 .. 1 (false/true)
    Touch (T) Touch sensor.
    -1=no contact
    0=just touching
    >0=pressing, value depends on the force applied

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer ncl_S
    integer, 0 .. 1 (false/true)
    Smell (S) Smell sensor. Aggregated "smell of energy" experienced from all energy objects (creatures and food pieces).
    Close objects have bigger influence than the distant ones: for each energy source, its partial feeling is proportional to its energy/(distance^2)

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer ncl_*
    integer, 0 .. 1 (false/true)
    Const (*) Constant value

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer ncl_|
    integer, 0 .. 1 (false/true)
    Bend muscle (|) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1
    rot.range (r) float 0..1 
    integer ncl_@
    integer, 0 .. 1 (false/true)
    Rotation muscle (@) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1 
    integer ncl_D
    integer, 0 .. 1 (false/true)
    Differentiate (D) Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body
     
    integer ncl_Fuzzy
    integer, 0 .. 1 (false/true)
    Fuzzy system [EXPERIMENTAL!] (Fuzzy) Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body


    Properties:
    number of fuzzy sets (ns) integer
    number of rules (nr) integer
    fuzzy sets (fs) string
    fuzzy rules (fr) string 
    integer ncl_Sti
    integer, 0 .. 1 (false/true)
    Sticky [EXPERIMENTAL!] (Sti) Characteristics:
    uses single input
    does not provide output value
    should be located on a Part
     
    integer ncl_LMu
    integer, 0 .. 1 (false/true)
    Length muscle [EXPERIMENTAL!] (LMu) Characteristics:
    uses single input
    does not provide output value
    should be located on a Joint


    Properties:
    power (p) float 0.01..1 
    integer ncl_Water
    integer, 0 .. 1 (false/true)
    Water detector (Water) Output signal:
    0=on or above water surface
    1=under water (deeper than 1)
    0..1=in the transient area just below water surface

    Characteristics:
    does not use inputs
    provides output value
    should be located on a Part
     
    integer ncl_Energy
    integer, 0 .. 1 (false/true)
    Energy level (Energy) The current energy level divided by the initial energy level.
    Usually falls from initial 1.0 down to 0.0 and then the creature dies. It can rise above 1.0 if enough food is ingested

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer ncl_Ch
    integer, 0 .. 1 (false/true)
    Channelize (Ch) Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel.

    Characteristics:
    supports any number of inputs
    provides output value
    does not require location in body
     
    integer ncl_ChMux
    integer, 0 .. 1 (false/true)
    Channel multiplexer (ChMux) Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel)

    Characteristics:
    uses 2 inputs
    provides output value
    does not require location in body
     
    integer ncl_ChSel
    integer, 0 .. 1 (false/true)
    Channel selector (ChSel) Outputs a single channel (selected by the "ch" parameter) from multichannel input

    Characteristics:
    uses single input
    provides output value
    does not require location in body


    Properties:
    channel (ch) integer 
    integer ncl_Rnd
    integer, 0 .. 1 (false/true)
    Random noise (Rnd) generates random noise (subsequent random values in the range of -1..+1)

    Characteristics:
    does not use inputs
    provides output value
    does not require location in body
     
    integer ncl_Sin
    integer, 0 .. 1 (false/true)
    Sinus Generator (Sin) Output frequency = f0+input

    Characteristics:
    uses single input
    provides output value
    does not require location in body


    Properties:
    base frequency (f0) float
    time (t) float 

    Global context