Es wird oft gesagt, dass alle Programmierer der Lage sein sollte , eine „Hallo Welt“ Programm in einer beliebigen Programmiersprache nach ein paar Blicke auf diese Sprache (Und schreiben quicksort nach ein paar mehr Blicke).
Da das Conway-Spiel des Lebens vollständig ist (es ist also eine universelle Programmiersprache) , ist das Problem selbsterklärend:
Erstelle eine "Hallo Welt!" Anwendung nur mit Conway's Game of Life! Der einzige gültige Eintrag ist ein Anfangszustand für das Conway-Spiel des Lebens, das:
- enthält keine erkennbare Form, die dem Text "Hello World!"
- wird eine erkennbare Form enthalten , die dem Text "Hello World!" innerhalb einer angemessenen Anzahl von Zyklen (es sollte auf einem guten PC nicht länger als ein paar Minuten laufen - dies ermöglicht Milliarden von Zyklen und sollte ausreichen)
- der Bereich, in dem die "Hallo Welt!" Text erscheint sollte im Ausgangszustand leer sein ! (Andernfalls wäre das Problem viel zu einfach.) Wenn es niemand schafft, können wir diese Anforderung auf "meistens leer" reduzieren.
Wertung:
Der Gewinner basiert auf der Anzahl der Upvotes in ungefähr einer Woche nach der ersten gültigen Einreichung.
Richtlinien für die Abstimmung:
- Eine aufwändigere und schönere Ausgabe sollte mehr wert sein
- über viele zyklen stabile ausgabe sollte mehr wert sein als eine, die im nächsten zyklus nicht mehr erkennbar ist.
- Eine Lösung, die in einem ewigen Kreislauf verankert ist oder von einem interessanten Muster ausgeht, ist am wertvollsten, da sie eine intelligente Gestaltung des Zustands beweist und nicht nur zufällige Versuche und Irrtümer mit einer umgekehrten Simulation.
Der Eintrag sollte in einem Format vorliegen, das von mindestens einem der namhaften Simulatoren oder einem Onlinesimulator gelesen werden kann, auf den der Antwortende verweist. Verknüpfungen (zu einer Animation oder einem Simulator, der in den Ausgangszustand versetzt wurde) werden ebenfalls akzeptiert, sogar empfohlen. Wenn die Ausgabe innerhalb weniger Zyklen nicht sichtbar ist, sollte der Eintrag angeben, nach welchem Zyklus das Ergebnis sichtbar sein soll.
Bearbeiten:
Die zu erzeugende Phrase kann eine gewisse Toleranz aufweisen. Es kann " Hello, World!
", " hello, world
" " HELLO WORLD!
" usw. sein.
Hello, world!