à propos du projet
ALiEn est un programme de simulation de vie artificielle basé sur un moteur de physique et de rendu dédié dans CUDA. Il est conçu pour simuler des organismes numériques intégrés dans des écosystèmes artificiels et pour simuler les conditions d'évolution (pré)biotique.
Renseignez-vous sur les objectifs du projet et comment démarrer .
Les fonctions
- Calculs physiques réalistes des processus cinématiques et thermodynamiques des solides endommagés et collés
- Matériel programmable pour la modélisation des organismes numériques et de l'évolution
- Éditeur graphique intégré pour concevoir vos propres machines
- Modélisation et rendu GPU
- Le logiciel est open source et disponible sous la licence publique générale GNU, version 3 (GPLv3) .
Sous la coupe, il y a deux exemples ("Réplicateurs d'auto-contrôle" et "Réplication basée sur l'information") de l'utilisation de ce progiciel.
Premier cas : réplicateurs d'autotest
1. Réplicateurs de source
Les réplicateurs d'autocontrôle sont des machines capables de scanner leur propre structure et de la réparer. Ainsi, il n'est pas nécessaire de stocker des informations de conception. Nous expérimenterons trois types de réplicateurs d'autocontrôle, de taille et de complexité topologique différentes.

- . , , -, . , , , .
- , , . .
- , .
2.
2.1. Configuration
Nous allons exécuter une simulation pour chaque type de réplicateur. L'idée est de partir d'un petit univers rempli d'énergie et de quelques réplicateurs initiaux. À savoir:
- taille de l'univers : 1000 x 1000 unités
- 5 000 blocs rectangulaires de 8 x 4 répartis au hasard en tant que « nutriments »
- 20 réplicateurs
Les paramètres de simulation ont été choisis pour créer un univers « convivial », comme un faible taux de mutation, un faible rayonnement, un faible coût énergétique pour les fonctions cellulaires, etc. Une simulation avec cette préconfiguration est téléchargeable ici :
- small_replicator_paradise.sim
- large_replicator_paradise.sim
- complex_replicator_paradise.sim
2.2. Simulation
2.2.1. Petits réplicateurs

Initialement, le nombre de réplicateurs augmente de façon exponentielle jusqu'à ce que toutes les ressources soient utilisées. Après cela, un équilibre est établi dans lequel le nombre de réplicateurs (environ 6 000) reste constant. La vidéo ci-dessous montre comment les réplicateurs consomment les dernières ressources gratuites. Après cela, ils doivent se consommer les uns les autres. Cependant, en raison de la mutation, des optimisations mineures ont eu lieu, ce qui a conduit à l'émergence d'individus plus adaptés. La croissance de colonies denses peut parfois être observée. Ce phénomène est représenté sur la figure prise à l'étape 114.000. Chaque point lumineux représente un individu/réplicateur distinct.
Les colonies ont tendance à concentrer l'énergie dans un univers hostile et n'apparaissent stables que lorsque l'univers est relativement dense en raison de la pression environnante d'autres matériaux. La haute densité au sein de la colonie permet une consommation d'énergie facile par les réplicateurs. Comme ils sont plus ou moins idéalement adaptés à leur environnement, il n'y a pas eu d'autres changements significatifs. Un examen plus attentif révèle que les réplicateurs ont perdu la capacité de se déplacer seuls car cela n'est plus nécessaire.
Vous trouverez ci-dessous deux vidéos : la première montre comment les réplicateurs prennent en charge toutes les ressources disponibles dans un petit univers. La deuxième vidéo donne une vue détaillée des processus à l'intérieur de la colonie.
Après cette phase initiale, nous augmentons progressivement la taille de l'univers à 4000 x 1000 unités et augmentons progressivement les propriétés du paramètre de simulation fonction cellulaire -> armes -> coût énergétique à 1,4. Ces changements, d'une part, abaissent la pression ambiante et conduisent à la dispersion des colonies. En revanche, la consommation d'énergie devient plus difficile. Soudain, il y a un besoin d'adaptation. Les réplicateurs développent la mobilité afin de consommer plus activement les ressources. Après plusieurs millions de pas de temps et la fixation du paramètre ci-dessus, le nouvel équilibre fusionne. Ils se consomment mutuellement et produisent une progéniture. Mais le nombre de réplicateurs reste constant. Ce comportement peut être vu dans la première vidéo prise après 22 millions de pas de temps d'évolution.
Nous augmentons ensuite le paramètre ci-dessus à 2,4. Cela conduit à un déséquilibre car le réplicateur perd de l'énergie trop rapidement. Cependant, ils ont trouvé un moyen de survivre. Chaque fois que les ressources sont concentrées localement, elles sont risquées, consommées et répliquées le plus rapidement possible. Après cela, ils se dispersent et la plupart meurent. Les réplicateurs détruits / défectueux dérivent dans l'espace. Lorsque beaucoup d'entre eux se rapprochent, ils seront absorbés par d'autres. Ainsi, un équilibre plus complexe apparaît lorsque les ondes matérielles entrent périodiquement en collision et sont rapidement absorbées par plusieurs réplicateurs existants. Le nombre de réplicateurs augmente très rapidement en peu de temps. Puis la plupart meurent et forment une nouvelle vague matérielle. Ce phénomène peut être vu dans la vidéo.
Le réplicateur résultant de l'évolution après 70 millions de pas de temps est montré ci-dessous. La vidéo montre comment vous allez vous diffuser dans un univers « convivial ». Un comportement intéressant qui peut être observé dans les simulations est que beaucoup de ces réplicateurs ne se répliquent pas réellement, alors que seuls quelques-uns d'entre eux produisent de nombreux descendants. Cela peut être bénéfique si beaucoup d'entre eux se disputent des ressources limitées.

petit réplicateur évolué
2.2.2. Grands réplicateurs
L'évolution de ce plus grand type de réplicateur suit un schéma légèrement différent. D'une part, sa structure plus large offre plus de possibilités d'optimisation et donc d'adaptation aux nouvelles conditions. D'autre part, le processus de réplication prend plus de temps et d'énergie. En conséquence, le développement d'ondes matérielles périodiques s'est produit sous une forme beaucoup plus faible, car le réplicateur n'était pas assez rapide pour capturer le matériau.
Ci-dessous, vous pouvez trouver le produit d'évolution après 82 millions de pas de temps et une vidéo montrant sa création. Le réplicateur se déplace très brusquement et parfois suicidaire. Un tel comportement agressif semble être bénéfique dans les univers aux ressources rares. Sa structure a évolué mais est encore relativement proche de sa configuration d'origine. Vous pouvez également remarquer que sa structure et sa fonction n'ont pas beaucoup changé par la suite. Par rapport au début, beaucoup plus de jetons tournent sur ses cellules, ce qui entraîne une activité plus rapide.

grand réplicateur évolué
2.2.3. Réplicateurs complexes
La plus grande variante du réplicateur d'origine crée des structures plus petites dans des périodes de temps assez courtes. En ce qui concerne la grande variation ci-dessus, il y a plus de liberté pour optimiser et des modèles de comportement plus complexes peuvent être observés par rapport au petit réplicateur initial. Ce fait affecte également les structures générales de l'Univers. Il existe une plus grande variété de grappes de différentes tailles. De plus, il n'y a pas d'ondes matérielles périodiques. Au lieu de cela, il y a un mouvement plus chaotique et une congestion locale des machines de réplication. Vous pouvez voir ce phénomène dans la vidéo ci-dessous.
De telles conditions peuvent être plus adaptées à une évolution vers une complexité plus élevée. Dans la simulation, après 26 millions de pas de temps, une toute nouvelle structure a émergé. Il attire l'attention par sa finition intérieure massive. C'est comme une structure cristalline en croissance sans mouvement actif ni consommation d'énergie. L'accouchement se produit par la destruction de la structure due à des influences physiques. Les morceaux peuvent repousser. Une image agrandie de cet étonnant produit évolutif est affichée en bas à droite.
structure cristalline
Cette créature exotique coexiste avec d'autres réplicateurs avancés. Un exemple d'un tel réplicateur est présenté ci-dessous, accompagné d'une vidéo montrant sa distribution.

réplicateur complexe évolué
4. Conclusions
Les trois types de réplicateurs subissent les changements les plus importants au cours du premier million de pas de temps en raison de la mutation et de la sélection naturelle. La complexité plus élevée de la configuration initiale offre plus de possibilités d'optimisation. Cependant, une fois les conditions environnementales (paramètres de modélisation et de mesure de l'univers) fixées, l'adaptation évolutive ralentit. Même les mutations silencieuses ne peuvent pas survivre dans une population.
Tous les types de réplicateurs originaux évoluent vers des variantes qui se reproduisent et consomment des ressources beaucoup plus rapidement. Les start-up structurelles les plus complexes développent également des comportements plus complexes.
Un produit inattendu a été l'émergence de structures cristallines qui peuvent croître, mais n'ont pas les fonctions de mouvement actif, de consommation d'énergie et de réplication. Ils se reproduisent, se dégradant sous l'influence de facteurs externes. Les pièces sont pour la plupart encore fonctionnelles.
Deuxième cas : réplication basée sur les informations
1. Réplicateur initial
Le sujet principal de cette étude est une machine auto-répliquante utilisant un analogue numérique de l'ADN. Par rapport aux réplicateurs à vérification automatique, les commandes de construction enfant sont stockées dans le conteneur de données en tant qu'informations pures. Grâce à cette approche, nous gagnons en flexibilité dans la création de nouvelles machines, puisqu'elles sont issues de la manipulation d'informations.
Commençons notre expérience avec une structure de boucle qui effectue toutes les opérations nécessaires dans une boucle principale. Les instructions de construction sont codées dans la mémoire d'un jeton qui tourne dans une structure circulaire. De plus, pour obtenir l'énergie nécessaire, des mouvements aléatoires et des attaques sur des cellules voisines sont effectués.
Dans les images ci-dessous, nous pouvons voir des instantanés en cours de réplication. Tant que le réplicateur a suffisamment de puissance, il produit de nouvelles cellules, dont les instructions de construction sont décrites dans la section des données de jeton. A chaque passage d'un jeton dans une cellule informatique, les instructions d'assemblage sont copiées octet par octet dans son champ cible. Cela peut prendre jusqu'à 45 tours autour de la structure. Une fois le processus de copie à partir de la mémoire terminé, la création d'une cellule fille commence, qui se répète s'il n'y a pas assez d'énergie disponible. Le constructeur reçoit des instructions du jeton et construit progressivement les 6 cellules. Après avoir construit la dernière cellule, le jeton sera dupliqué et la copie sera propagée à la progéniture. Au cours de ce processus, une mutation est appliquée à la mémoire du jeton. De plus, le chantier est divisé en deux individus.
Après de nombreux cycles de réplication, le nombre de descendants augmente de façon exponentielle, à condition que suffisamment de nutriments soient disponibles sous la forme de cellules environnantes ou de particules énergétiques. A droite, des structures en réplication sont visibles après plusieurs cycles de reproduction. En raison de la mutation appliquée, certains d'entre eux peuvent avoir des propriétés différentes, ce qui entraîne dans la plupart des cas des dysfonctionnements.

réplicateur basé sur l'information
2. Expérience évolutive
2.1. Paramétrage
Pour notre expérience évolutive, nous avons créé une simulation avec les paramètres suivants :
- taille initiale de l'univers : 1000 x 1000 unités
- 5000 grappes rectangulaires distribuées au hasard de 8x4 cellules toutes les 100 unités d'énergie
- 20 réplicateurs
La configuration initiale complète peut être téléchargée ici .
2.2. Simulation
Pendant la simulation, nous augmentons progressivement la taille de l'univers à 6000 x 1000 unités. L'univers est ensuite mis à l'échelle à 60 000 x 1 000 unités, ce qui entraîne une augmentation de 10 fois de l'énergie. Le nombre de réplicateurs croît de façon exponentielle et se stabilise au niveau de 80 à 90 mille exemplaires. À ce stade, le nombre peut être lu sur les clusters actifs sur le moniteur. Les résultats ci-dessous ne peuvent pas être reproduits directement car toutes les simulations sont différentes. Cependant, certains effets généraux peuvent être observés.
Au fil du temps, vous pouvez voir que des colonies denses de réplicateurs peuvent fusionner avec le temps. Car dans les conditions actuelles, il est bénéfique pour les réplicateurs de développer des comportements paresseux qui ne font aucun mouvement et attaquent massivement leur environnement. Pour éviter qu'un modèle de survie aussi commode ne se produise, nous pouvons modifier les conditions environnementales. Pour cela, on punit l'attaque cellulaire en augmentant les paramètres de la fonction de simulation -> arme -> coût énergétique. Nous n'augmentons pas sa valeur à 3 immédiatement, mais progressivement après 100 000 pas de temps, afin que les réplicateurs puissent s'adapter aux nouvelles conditions.
Lorsque l'univers est rempli de réplicateurs, la densité du matériau peut varier considérablement d'une région à l'autre. Parce que les réplicateurs en mouvement créent des forces qui repoussent le matériau restant. Ce phénomène peut être vu dans la capture d'écran suivante prise à 2 millions de pas de temps.

Des points lumineux sont visibles au centre de la zone. Ce sont des milliers de réplicateurs. Au fil du temps, ils ont muté et certains d'entre eux ont pris une couleur différente. À gauche et à droite, vous pouvez voir principalement des restes de matériel bleu - dispersés de manière clairsemée. Cette capture d'écran ne montre qu'une infime fraction de l'univers entier. Dans notre système de test, la simulation s'exécute à environ 20 pas par seconde.
Ci-dessous, vous pouvez voir un extrait de la même simulation sur 7 millions de pas de temps. Les réplicateurs ont muté et peuvent se multiplier plus rapidement dans leur environnement.

Après 59 millions de pas de temps et un changement du taux de mutations de faible à élevé et vice versa, la dynamique de l'univers simulé a changé avec l'émergence de nouveaux types de structures. Leur comportement est très différent de celui des réplicateurs originaux. À première vue, ils semblent être des mutants défectueux. Mais ce qui est le plus intéressant, c'est qu'ils grandissent et se désintègrent en morceaux qui peuvent grandir d'eux-mêmes.
Il semble qu'un nouveau type de mode de vie artificiel ait émergé qui n'aurait pas pu être imaginé dans les conditions d'origine. Dans les captures d'écran suivantes, nous représentons des sections de l'univers après 61 millions de pas de temps. Le fichier de simulation de ce pas de temps est téléchargeable ici .

La structure cristalline blanche au centre semble assez perceptible. Sa couleur est le résultat de nombreux jetons en circulation. Dans l'éditeur, nous pouvons observer des informations plus détaillées sur cette structure.

Lors d'un agrandissement ultérieur, nous constatons que cette structure se compose essentiellement de deux types de cellules qui se répètent dans des motifs spatiaux : une cellule informatique et une cellule de conception. Presque chaque cellule a trois jetons contenant des données pour le processus de génération. Dès que suffisamment d'énergie est disponible dans une partie de la structure, elle se développe dans une direction orthogonale.

La structure peut être téléchargée ici .
4. Conclusions
Grâce à cette expérience, nous avons pu observer l'émergence de structures cristallines en croissance. Le même phénomène a été observé pour les réplicateurs d'auto-inspection. De plus, ils étaient stables, se sont répandus dans tout l'univers et sont devenus l'espèce dominante. De cela, nous pouvons conclure que de telles formes d'auto-reproduction ne sont pas si rares et peuvent se produire dans diverses situations.
Il n'y avait pas de différences significatives dans le développement des machines de copie d'informations par rapport aux machines d'autocontrôle dans cette expérience. L'hypothèse selon laquelle de telles machines peuvent mieux s'adapter à leur environnement et sont plus adaptées à une évolution illimitée doit être explorée dans des expériences plus approfondies.
De plus, il s'avère que les extensions suivantes devraient être envisagées pour une expérimentation ultérieure :
- changement automatique des paramètres de modélisation afin que la population ne s'éteigne pas,
- récompenser les structures de réplication plus grandes.
Extras : Oeuvres
Tous les screencasts qui suivent montrent des simulations en temps réel enregistrées sur un système GeForce 2080 TI. Il est recommandé de regarder des vidéos en qualité 1080p (HD). D'autres vidéos sont disponibles sur la chaîne YouTube .