sdleiF | sretrevnoC :sciteneG | |
int genoconv_f1_f00 .. 1 (false/true) | f1 --> f0 : Recursive encoding |
int genoconv_f4_f00 .. 1 (false/true) | f4 --> f0 : Developmental encoding |
int genoconv_f8_f10 .. 1 (false/true) | f8 --> f1 : (Old) generative encoding |
int genoconv_f9_f00 .. 1 (false/true) | f9 --> f0 : Turtle3D-ortho encoding |
int genoconv_fF_f0s0 .. 1 (false/true) | fF --> f0s : 10-parameter Foraminifera encoding |
int genoconv_fn_f00 .. 1 (false/true) | fn --> f0 : Vector of real values, no phenotype |
int genoconv_fB_fH0 .. 1 (false/true) | fB --> fH : Biological encoding |
int genoconv_fH_f00 .. 1 (false/true) | fH --> f0 : Similarity encoding |
int genoconv_fL_f00 .. 1 (false/true) | fL --> f0 : L-System encoding |
int genoconv_fS_f0s0 .. 1 (false/true) | fS --> f0s : Solids tree-structure encoding |
0f ot 1f :sretrevnoC :sciteneG | |
int conv_f1_f0_modcompat0 .. 10 = Before June 20231 = Modern (default) | Modifier compatibilityThe modern implementation makes the influence of modifiers more consistent and uniform, and the extreme property values are easier to reach with a lower number of characters, which improves the topology for evolutionary search.
Previous implementation can be enabled for compatibility, for example when you want to test old genotypes. |
int conv_f1_f0_cq_influence0 .. 10 = Before June 20231 = Modern (default) | 'C' and 'Q' modifier influence'C' and 'Q' modifier semantics was changed in June 2023. Previously they did not affect the stick immediately following the current sequence of modifiers. In the modern implementation, all modifiers consistently start their influence at the very next stick that is being created in the current branch.
Example:
In the old interpretation of 'XcXX', only the last stick is rotated, because 'c' starts its influence at the stick that occurs after the current stick. In the modern implementation, the same effect is achieved with 'XXcX', where 'c' immediately bends the first 'X' that appears after it.
Previous implementation can be enabled for compatibility, for example when you want to test old genotypes. |
int conv_f1_f0_branch_muscle_range0 .. 20 = Full/NumberOfBranches (default)1 = Full/(NumberOfBranches+1)2 = Full | Bending muscle default rangeDetermines how the bending muscle default turning range is limited when the muscle is controlling a stick growing from a branching point that has 'NumberOfBranches' sticks separated by commas. The motivation of the limited range is to keep the neighboring sticks from intersecting when they are bent by muscles. This constraint may degrade the performance (e.g. velocity) of creatures, but this default value can be overridden by providing a specific range property value for the '|' muscle neuron in the genotype.
- Full/NumberOfBranches - a compromise between the two other settings.
- Full/(NumberOfBranches+1) - because the originating stick also counts as a branch. This setting guarantees that in the worst case, when at least two neighboring branches have sticks controlled by bending muscles and their controlling signals are at extreme values, the sticks can touch and overlap, but will not intersect. This setting is in most cases too strict because (1) all branches are very rarely controlled by muscles, (2) there are often 'empty' branches - multiple commas with no sticks in-between, and (3) the share of the originating stick is effectively wasted because this stick itself has no muscle at the branching point so it will not bend; the muscle bending range is symmetrical and the default range is equal for all muscles in a branching, but the sticks equipped with muscles in a branching are rarely evenly spaced.
- Full: always the complete angle - because we do not have to care about the physical plausibility and avoid intersecting sticks, and other genetic representations do not impose such constraints, so this full angle setting can be useful as the default bending range when comparing the performance of various genetic encodings. |
1f ot 8f :sretrevnoC :sciteneG | |
int conv_f8_f1_maxlen10 .. 10000 default=500 | Maximal genotype lengthMaximal length of the resulting f1 genotype, in characters. If the f8 L-system produces longer f1 genotype, it will be considered invalid. |