セルオートマトンのルール110のウィキペディアのページを読みましたが、それらがどのように機能するかは多かれ少なかれ知っています(ルールのセットが次の1または0を描画する場所を決定します)。
私はちょうどチューリングが完了していると読みましたが、「ルール110」で「プログラム」する方法を推測することさえできませんか?
セルオートマトンのルール110のウィキペディアのページを読みましたが、それらがどのように機能するかは多かれ少なかれ知っています(ルールのセットが次の1または0を描画する場所を決定します)。
私はちょうどチューリングが完了していると読みましたが、「ルール110」で「プログラム」する方法を推測することさえできませんか?
回答:
普遍性はやや非公式の概念です。大まかに言うと、計算可能な関数ごとに、モデルに「プログラム」Pが存在するため、入力xで「実行」Pは常に正しい答えを「停止」し、「出力」します。(Turingマシンはここでは登場しません。これらは普遍的な計算モデルの一例にすぎません。)
引用符で囲まれた単語は、定義する必要がある単語です。チューリングマシンの場合:
ルール110は、計算モデルとして、同じ方法で正式に定義する必要があります。一つは、以下の意味では、計算モデルをシミュレートcomputablyできれば定義は妥当である:計算関数が存在するように、すべてのプログラムのためのPと、入力X(両方の自然数として符号化)、S (P 、X ) IFF停止P上の停止X、および場合S (P 、X )停止は、その出力の出力と同一であるPにX。
コンピューティングシステムとしてのルール110の特定の設定について興味がある場合は、ルール110(またはルール110を中心に構築されたコンピューティングシステム)の普遍性を証明するマシュークックの論文をご覧になることをお勧めします。
ルール30やルール90などの他のルールについては、それらが普遍的でないことを知りません。それらを中心に構築された説得力のあるコンピューティングシステムがあるかもしれませんが、それは普遍的ですが、私たちは何も知りません。
マシューの証明から:
ここで取られるアプローチは、新しいセルオートマトンを設計することではなく、自然に複雑な振る舞いを示す非常に単純なオートマトンを取り、その複雑な振る舞いの中に私たちが望むことをさせる方法を見つけることができるかどうかを確認することです。上記のルックアップテーブルに直接関与することはありませんが、代わりに、オートマトンのアクションが時間とともに自然に示す動作を見ていきます。
著者はまず、2段階のチューリングマシンプログラムをコンパイルすることにより、各ステップで2つのシンボルを削除する「タグシステム」が普遍的であることを証明することから始めます。その後、グライダーシステムが実際にタグシステムを実装できることを証明します。これは段階的なプロセスです。次に、CA-110の時空を調べてグライダーを見つけ、グライダーシステムに正しく関連付けます。
さて、あなたの質問:「ルール110」でどのように「プログラム」しますか?
最も単純な2ステートチューリングマシンを探し、基本操作OR、AND、XOR、NOTのテープを見つけます。
それらをタグシステムにコンパイルします。
タグシステムの実装をグライダー実装にコンパイルします。
CA-110グライダーに正しく適合させると、セルオートマトンの基本操作ができます。
脇にメモ。グライダーは非常に特殊な構造です。操作は、粒子が動いたり衝突したりすること(グライダー)として表示され、このグライダーの開始または衝突の方法に応じて異なる出力を生成します。