Framsticks – supposition du modèle

Nous avons essayé de rendre le monde artificiel semblable au monde réel. Quand nous l'avons créé, nous cherchions à le développer avec toutes les caractéristiques qui permettent au processus d'évolution de choisir une direction, de sorte que les organismes puissent – sans intention de notre part – découvrir de nouvelles voies de vie dépendant des aptitudes définies par l'utilisateur. D'autre part, nous avons essayé de créer des conditions de vie raisonnable qui dans un environnement sans aucun critère d'aptitude défini, permette une évolution spontanée.

L'évolution biologique a commencé à partir de composants simples. Beaucoup de temps est passé avant que les premières créatures aient pu se reproduire. Dans notre monde artificiel nous sautons cette étape " d'évolution chimique ". Nous fournissons à nos créatures des fonctions de base : notation de leurs caractéristiques dans des génotypes, reproduction, et gestion d'énergie. Nous avons également placé les règles de la construction de l'organisme. Il serait difficile de simuler un monde avec des quarks, des atomes ou même des protéines en tant qu'éléments de base. Il y en aurait trop en regard à une taille raisonnable du monde artificiel et aux conditions de calcul. C'est pourquoi l'élément de base de nos organismes est beaucoup plus grand – c'est un bâtonnet (segment, barre, cylindre...). Un tel élément peut être assigné à diverses fonctions selon sa description génétique : il peut être juste un bâtonnet, ou peut transmettre et traiter les signaux et donc être une partie du " cerveau ", ou être un récepteur, ou avoir des " muscles " et provoquer des mouvements, ou être spécialisé dans l'approvisionnement d'énergie.

Un groupe de bâtonnets reliés compose un organisme indépendant. Il devient vivant une fois mis dans le simulateur!

Le module physique de simulation calcule l'interaction d'un organisme avec le monde ( " Framsworld " ), analyse les forces influençant des bâtonnets particuliers et calcule leurs nouvelles positions. La simulation a lieu dans un espace tridimensionnel, et utilise la théorie des éléments finis et la dynamique des corps rigides.

Le module neuronal calcule des excitations dans les réseaux de neurones, rassemble des données venant des récepteurs et envoie des signaux aux muscles. Les réseaux de neurones des organismes sont originaux en raison de leur libre topologie et de l'inertie des neurones.

Le module énergétique analyse les gains et pertes d'énergie. Un organisme peut gagner de l'énergie par assimilation ou par absorption de nourriture. Le travail des muscles et des neurones est une perte d'énergie. L'organisme mourra après l'épuisement de toute son énergie.

Le module de création crée de nouveaux organismes par mutation et croisement des génotypes des meilleures créatures qui ont vécu jusqu'ici (les ancêtres). L'utilisateur peut définir le critère d'aptitude (en ajustant les poids des critères élémentaires, comme vitesse moyenne, ou la durée de vie moyenne), qui rend le chemin de l'évolution possible.

Comment fonctionne le simulateur ?

La structure de données la plus importante dans le simulateur est la liste de génotypes. La tâche principale du simulateur est de les évaluer et d'en créer de nouveau, probablement de ' meilleurs '. Chaque ligne de la liste de génotypes représente un groupe de créatures avec le même génotype. Actuellement, les attributs suivants sont calculés et maintenus pour chaque génotype: Il y a deux paramètres principaux du système: la capacité de la liste des génotypes (N) et la capacité du monde virtuel (n). Le programme principal prépare un individu (un génotype) au simulateur du monde afin de le tester (quand il y a de la place de libre, c'est à dire quand le nombre d'individus simulés est inférieur à n). Après sa mort, la valeur d'aptitude est calculée (voyez: paramètres – > critère de sélection ).

L'architecture de système.

Notez que quand n = 1, il n'y a pas d'interaction entre les créatures simulées, et le système est exécuté comme un algorithme évolutionnaire standard, où l'aptitude d'un individu ne dépend pas des autres individus.

Tâches accomplies à chaque étape de simulation: