On dit souvent que tous les programmeurs devraient être capables d'écrire un programme "hello world" dans n'importe quel langage de programmation après quelques regards sur ce langage (Et quicksort après quelques autres regards).
Comme le jeu de la vie de Conway est Turing complet (il peut donc être qualifié de langage de programmation à usage général) , le problème s'explique de lui-même:
Créez un "Bonjour tout le monde!" application utilisant uniquement Game of Life de Conway! La seule entrée valide est un état initial pour le jeu de la vie de Conway, qui:
- ne contient aucune forme reconnaissable ressemblant au texte "Hello World!"
- contiendra une forme reconnaissable ressemblant au texte "Hello World!" dans un nombre raisonnable de cycles (il ne devrait pas fonctionner plus de quelques minutes sur un bon PC - cela permet des milliards de cycles et devrait être suffisant)
- la zone où le "Hello World!" le texte apparaîtra doit être vide dans l'état initial! (Sinon, le problème serait beaucoup trop facile) Si personne ne réussit à le faire, nous pourrions réduire cette exigence à "la plupart du temps vide"
Notation:
Le gagnant sera basé sur le nombre de votes positifs dans environ une semaine après la première soumission valide.
Lignes directrices pour voter:
- une sortie plus élaborée et plus belle devrait valoir plus
- une sortie stable sur plusieurs cycles devrait en valoir plus d'une qui s'estompe pour être méconnaissable dans le cycle suivant.
- une solution enfermée dans un cycle perpétuel, ou à partir d'un modèle intéressant vaut le plus, car elle prouve la conception intelligente de l'état, et pas seulement les essais et erreurs aléatoires avec une simulation inverse.
L'entrée doit être dans un format lisible par au moins l'un des simulateurs notables ou un simulateur en ligne auquel le répondeur se connecte. Les liens (vers une animation ou un simulateur mis à l'état initial) sont également acceptés, voire encouragés. Si la sortie n'est pas visible dans quelques cycles, l'entrée doit spécifier après quel cycle le résultat sera visible.
Modifier:
Il peut y avoir une légère tolérance dans la phrase à générer. Cela peut être " Hello, World!
", " hello, world
" " HELLO WORLD!
" etc.
Hello, world!
Réponses:
Ma première tentative, une solution relativement simple. Il tire quelques barils de planeur. Chaque paire de planeurs se transforme en bloc, qui forme ensuite le texte. Ce processus prend environ 16 000 générations (vous pouvez définir un saut de trame ou utiliser le bouton superstep dans mon simulateur).
Lien direct . Déplacez-vous avec la souris droite, zoomez avec la molette de la souris.
Lien vers le fichier .rle (fonctionne également avec Golly)
Image du motif 32: 1:
la source