GenMan class in Global context

Manages various genetic operations, using appropriate operators for the argument genotype format.

80 members:

type and namedescriptioncomments
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 
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  
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  

    Global context