Genotype 

Encodages des génotypes

Le simulateur de Framsticks supporte divers formats de génotype. Le "format" est un code que vous pouvez employer pour décrire des créatures. Les propriétés de ce code sont extręmement importantes du point de vue de l'évolution.
  • f0. Un format de base qui permet de construire toutes les créatures (c'est le moins restrictif). Implémenté.
  • f1. Un langage récurrent facile à utiliser. Implémenté et décrit ci-dessous.
  • f2. Décrit comment les morceaux de l'organisme sont reliés. En projet et test.
  • f3. Décrit les règles du développement, pas l'organisme en lui-męme. En projet et test.
  • f4. Décrit le chemin d'accroissement d'un organisme (codage développemental). Mis en application. Veuillez lire f1 avant la lecture f4.
  • f5. Décrit des règles "chimiques" de croissance. En projet et test.
  • ...

Génotype (format f1)

Bien qu'il puisse sembler compliqué, il est, en fait, très facile. Ouvrez juste la fenętre d'information des créatures ("creature information window", voir
les info. d'interface ) et expérimentez vos génotypes. Vous pouvez écrire n'importe quoi de valide et obtenir le résultat immédiatement !

Structure d'organisme:

X – bâtonnet, () – embranchement
la structure est établie comme un arbre, les nouveaux bâtonnets sont jointes à la suite des précédents
X(X, X) signifie un embranchement de deux bâtonnets à partir d'un bâtonnet.
X(X, X, X) signifie trois etc...
X(X, X,) est également possible; ainsi que X(, X,, X, X) etc...
à l'intérieur de la parenthèse, un cercle entier (360°) est divisé en autant de partie qu'il y a de virgules+2, et chaque bâtonnet dans une telle 'jonction' a autant de liberté.

Des modificateurs peuvent ętre placé avant les X et les parenthèses. Ils affectent le X suivant et, habituellement de moins en moins, les Xs. suivants supplémentaires . Les modificateurs modifient la position du bâtonnet et ses dispositifs. Des majuscules et des minuscules peuvent ętre utilisées. Les majuscules augmentent la propriété donnée tandis que les minuscules la diminuent.

modificateurs: Rr, Qq, Cc, Ll, Ww, Ff, Aa, Ss, Mm, Ii, Ee.

Propriétés des joints des bâtonnets
R la rotation (par 45 degrés) – ce modificateur n'affecte pas les autres bâtonnets
Q la torsion
C la courbure
Propriétés physiques
L longueur
W poids (dans un environnement aquatique, les bâtonnets légers flottent à la surface)
F frottement (les bâtonnets glisseront sur la terre ou y adhéreront)
Propriétés biologiques (mutuellement exclusive)
A assimilation = photosynthèse (un bâtonnet vertical peut assimiler deux fois plus qu'un horizontal)
S endurance (augmente les chances de survie pendant les combats, voir également le paramètres du simulateur – "collisions destructives")
M force de muscle ou rapidité du muscle (un muscle robuste agit avec plus de force, a une vitesse plus élevée, peut résister à un plus grand effort, mais utilisent plus d'énergie)
I ingestion (capacité de gagner l'énergie par de la nourriture: sphère énergétique ou corps morts)
Autre
E énergie (stade expérimental). La créature commence avec une énergie plus haute (E) ou plus basse (e). Vous devez l'utiliser seulement quand le mode énergétique (energetic efficiency mode) est activé (voir les paramètres du simulateur). Autrement, désactiver les modificateurs "Ee" dans les paramètres génétiques!

Exemples:

XXX(XX,X)
X(X,RRX(X,X))
XlCXlCXlCX

Autres structures possibles:



Commande de l'organisme (réseau de neurone de topologie libre) :

Des neurones sont placés dans des crochets [ ], après les X.
Les entrées des neurone peuvent avoir différents signaux comme sources : les sorties d'autres neurones ou les récepteurs. Une entrée de neurone peut également avoir une valeur constante. Le neurone peut contrôler la flexion ou la rotation de son bâtonnet.

La syntaxe est: [ commande entrée : poids, entrée : poids, entrée ... ]
commande : @ (la rotation du bâtonnet) ou | (flexion du bâtonnet) ou rien (omis)
entrée : n'importe quel nombre (faisant référence à un autre neurone) ou un signal spécial de neurone:

  • * – valeur constante
  • Récepteurs: G – sens gyroscopique (sens d'équilibre), T -sens tactile, S – odorat
  • Paramètres du neurone: ! [ marque d'exclamation ] – force, = [ égales ] – d'inertie, / [ barre de fraction ] – sigmoïde
    (voir également la section des détails de simulation )
le 'poids' est un nombre réel, décrivant l'importance des connexion (pour les liens des neurones et les récepteurs) ou la valeur des paramètres.

Exemples:

X[@-1:2,1:3 ]
signifie qu'un bâtonnet a un neurone sur lui. Il contrôle la rotation du bâtonnet (@), et le neurone a deux entrées: le premier étant à la position relative -1 dans le génotype, l'autre de la position relative +1. Le premier signal à un poids de 2, l'autre de 3.

X[|*:1, G:2 ]
est un bâtonnet avec un neurone contrôlant la flexion, ayant deux entrées: une constamment égale 1 et l'autre reliée à un gyroscope (placé sur le bâtonnet) dont le poids est de 2.

Un bâtonnet peut avoir plusieurs neurones : X[.....][.....][.....]

Exemple:
X X[|0:1 ] X[@-1:1.2,1:2.3][G:1 ]

  • le neurone (1) affecte la flexion du bâtonnet et boucle sur lui-męme.
  • le neurone (2) affecte la rotation du bâtonnet, et reçoit des signaux des neurones (1) et (3)
  • le neurone (3) a un entré gyroscopique (sens d'équilibre du dernier bâtonnet)