コンウェイのハローワールド


24

多くの場合、全てのプログラマが(そして、「Hello World」のその言語には、いくつかの視線後の任意のプログラミング言語でプログラムを書くことができなければならないこと、言われているクイックソートを少数のより多くの視線の後)。

ライフゲームがチューリング完全さ(それは汎用プログラミング言語としての資格ので)、問題は自明です。

「Hello World!」を作成します ConwayのGame of Lifeのみを使用したアプリケーション!唯一の有効なエントリは、ConwayのGame of Lifeの初期状態です。

  • 「Hello World!」というテキストに類似した認識可能な形状は含まれていません
  • 「Hello World!」というテキストに似た認識可能な形状が含まれます。妥当なサイクル数内(良好なPCで数分以上実行しないでください-これにより数十億サイクルが可能になり、十分なはずです)
  • 「Hello World!」のあるエリア 初期状態では空のテキストが表示されます!(それ以外の場合、問題はあまりにも簡単です)誰もそれをなんとかしていない場合、この要件を「ほとんど空」に減らすことができます

得点:

受賞者は、最初の有効な提出から約1週間後の投票数に基づきます。

投票のガイドライン:

  • より精巧で美しい出力はもっと価値があるはずです
  • 多くのサイクルにわたって安定している出力は、次のサイクルで認識できないようにフェードアウトする1つ以上の価値があるはずです。
  • 永続的なサイクルにロックされたソリューション、または興味深いパターンから開始するソリューションは、リバースシミュレーションによるランダムな試行錯誤ではなく、状態のインテリジェントな設計を証明するため、最も価値があります。

エントリは、少なくとも1つの注目すべきシミュレーターまたは回答者がリンクするオンラインシミュレーターが読み取り可能な形式である必要があります。(初期状態に設定されたアニメーションまたはシミュレータへの)リンクも受け入れられ、推奨されます。出力が数サイクル以内に表示されない場合、エントリは結果が表示されるサイクルを指定する必要があります。


編集:

生成されるフレーズには多少の許容差があります。「Hello, World!」、「hello, world」、「HELLO WORLD!」などです。


そのフレーズのどこかにコンマが入っていてはいけませんか?
ardnew

@ardnew:どのフレーズですか?
-vsz

生成されるフレーズ:Hello, world!
ardnew

@ardnew:ありがとう、補遺を編集しました。最終的に投票者が決定するので、私は意図的に若干のあいまいさを残しました。あなたが主要なルールの1つに直接違反しなかったと思うなら、そして投票者があなたのマイナーな詳細の解釈を好むと思うならば、あなたが望むどんな方法でもそれをすることを遠慮しなくしてください!
-vsz

1
私のシミュレーターを使用できます(RLEとプレーンテキストをインポートします)。開発には向いていませんが、少なくとも任意の大きなパターンをまともな速度で実行します。また、パターンをアップロードし、要求に応じてリンク可能にすることもできます
コピー

回答:


50

これに対する私の最初の試みは、比較的単純な解決策です。いくつかのグライダーバレルを発射します。グライダーの各ペアはブロックになり、テキストを形成します。このプロセスには約16000世代かかります(フレームスキップを設定するか、シミュレータでスーパーステップボタンを使用できます)。

ダイレクトリンク。右マウスで移動し、マウスホイールでズームします。

.rleファイルへのリンク(Gollyでも機能します)

パターン32:1の画像:

パターン32:1の画像


4
キャンバスをサポートするブラウザーを使用していて、開始パターンが表示されない場合は、スクロールホイールでズームアウトします。それを解決するためにしばらく時間がかかりました。
ピーターテイラー

優れた!codegolf.stackexchange.com/a/5946/3527とあなたのウェブサイトを見た後、この課題に対する解決策を投稿することを期待していました。
クリスチャンルパスク

1
パターンを作成する@ w0lfは、シミュレーションとは非常に異なる種類の課題です。しかし、ええ、私はこれで楽しんだ
コピー

2
おめでとうございます!奇妙なことに、誰も勇気を出して別の解決策を提出しなかった。実際には、解決策が投稿されていなかった場合、非常に類似したもの(グライダーが収束してブロックを形成する)を実行していましたが、はるかに小さく詳細ではありませんでした。どうやってそれを聞いてもいいですか?プログラムで生成された、または手動で位置を計算しましたか?
-vsz

1
@vszパターンは、小さなpythonスクリプトから生成されます。一部の人にとっては1週間が短い締め切りだったかもしれないと思う(だからだれも試しなかった)
コピー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.