Manages various genetic operations, using appropriate operators for the argument genotype format.
| type and name | description | comments |
gen_histinteger, 0 .. 1 (false/true) |
Remember history of genetic operations | Required for phylogenetic analysis |
gen_hiliteinteger, 0 .. 1 (false/true) |
Use syntax highlighting | Use colors for genes?
(slows down viewing/editing of big genotypes) |
operReportfunction |
Operators report | Show available genetic operators |
toHTMLfunction |
HTMLize a genotype | Print genotype using colored HTML |
toHTMLshortfunction |
HTMLize a genotype, shorten if needed | Print genotype (abbreviated if needed) using colored HTML |
validatefunction |
Validate | returns validated (if possible) Geno object from supplied Geno |
mutatefunction |
Mutate | returns mutated Geno object from supplied Geno |
crossOverfunction |
Crossover | returns xover genotype, arguments: 2 Geno objects |
evaluateDistancefunction |
evaluate model dissimilarity | calculate dissimilarity between 2 models created from Geno objects |
clearfunction |
remove all properties | |
addfunction |
add property (id,type,name,help) | |
removefunction |
remove property (index) | |
addGroupfunction |
add group (name) | |
removeGroupfunction |
remove group (index) | |
changedPropertyinteger |
last changed property # | |
changedPropertyIdstring |
last changed property id | |
genoper_f0integer, 0 .. 0 0 = Default |
Operators for f0 | |
genoper_f1integer, 0 .. 0 0 = Default |
Operators for f1 | |
genoper_f4integer, 0 .. 0 0 = Default |
Operators for f4 | |
neuadd_Ninteger, 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 |
neuadd_Nuinteger, 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 |
neuadd_Ginteger, 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
|
neuadd_Tinteger, 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
|
neuadd_Sinteger, 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
|
neuadd_*integer, 0 .. 1 (false/true) |
Const (*) | Constant value
Characteristics:
does not use inputs
provides output value
does not require location in body
|
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 |
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 |
neuadd_Dinteger, 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
|
neuadd_Fuzzyinteger, 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 |
neuadd_Stiinteger, 0 .. 1 (false/true) |
Sticky [EXPERIMENTAL!] (Sti) | Characteristics:
uses single input
does not provide output value
should be located on a Part
|
neuadd_LMuinteger, 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 |
neuadd_Waterinteger, 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
|
neuadd_Energyinteger, 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
|
neuadd_Chinteger, 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
|
neuadd_ChMuxinteger, 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
|
neuadd_ChSelinteger, 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 |
neuadd_Rndinteger, 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
|
neuadd_Sininteger, 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 |
f0_p_newfloating point, 0 .. 100 |
New part | |
f0_p_delfloating point, 0 .. 100 |
Delete | |
f0_p_swpfloating point, 0 .. 100 |
Swap parts | |
f0_p_posfloating point, 0 .. 100 |
Position | |
f0_p_sizfloating point, 0 .. 100 |
Size | |
f0_p_masfloating point, 0 .. 100 |
Mass | |
f0_p_denfloating point, 0 .. 100 |
Density | |
f0_p_frcfloating point, 0 .. 100 |
Friction | |
f0_p_ingfloating point, 0 .. 100 |
Ingest | |
f0_p_asmfloating point, 0 .. 100 |
Assimilation | |
f0_j_newfloating point, 0 .. 100 |
New joint | |
f0_j_delfloating point, 0 .. 100 |
Delete | |
f0_j_stmfloating point, 0 .. 100 |
Stamina | |
f0_j_stffloating point, 0 .. 100 |
Stif | |
f0_j_rsffloating point, 0 .. 100 |
Rotstif | |
f0_n_newfloating point, 0 .. 100 |
New neuron | |
f0_n_delfloating point, 0 .. 100 |
Delete | |
f0_n_prpfloating point, 0 .. 100 |
Change properties | |
f0_c_newfloating point, 0 .. 100 |
New connection | |
f0_c_delfloating point, 0 .. 100 |
Delete | |
f0_c_weifloating point, 0 .. 100 |
Change weight | |
f1_mut_exmodstring |
Excluded modifiers | Modifiers that will not be used when mutating (all: RrLlAaCcFfMmSsIiQqWwEe) |
f1_xo_proporinteger, 0 .. 1 (false/true) |
Proportional segments crossover | Cross over (exchange) corresponding segments of two parent genotypes? |
f1_smXfloating point, 0 .. 100 |
Add/remove a stick X | |
f1_smJunctfloating point, 0 .. 100 |
Add/remove a junction ( ) | |
f1_smCommafloating point, 0 .. 100 |
Add/remove a comma , | |
f1_smModiffloating point, 0 .. 100 |
Add/remove a modifier | Modifiers: RrLlAaCcFfMmSsIiQqWwEe |
f1_nmNeufloating point, 0 .. 100 |
Add/remove a neuron | Adds a (connected) neuron or removes a neuron |
f1_nmConnfloating point, 0 .. 100 |
Add/remove neural connection | |
f1_nmPropfloating point, 0 .. 100 |
Add/remove neuron property setting | |
f1_nmWeifloating point, 0 .. 100 |
Change connection weight | |
f1_nmValfloating point, 0 .. 100 |
Change property value | |
f4_mut1addfloating point, 0 .. 1 |
Add node | mutation: probability of adding a node |
f4_mut1delfloating point, 0 .. 1 |
Delete node | mutation: probability of deleting a node |
f4_mutAdd2divfloating point, 0 .. 1 |
Add division | add node mutation: probability of adding a division |
f4_mutAdd2linkfloating point, 0 .. 1 |
Add link | add node mutation: probability of adding a link |
f4_mutAdd2nparfloating point, 0 .. 1 |
Add neural parameter | add node mutation: probability of adding a neuron parameter modifier |
f4_mutAdd2repfloating point, 0 .. 1 |
Add repetition | add node mutation: probability of adding a repetition |
simil_methodinteger, 0 .. 1 0 = New1 = Old |
Matching method | |
simil_partsfloating point, 0 .. 100 |
Weight of parts count | |
simil_partdegfloating point, 0 .. 100 |
Weight of parts' degree | |
simil_neurofloating point, 0 .. 100 |
Weight of neurons count | |