ルール110チューリングはどのように完了しますか?


19

セルオートマトンのルール110のウィキペディアのページを読みましたが、それらがどのように機能するかは多かれ少なかれ知っています(ルールのセットが次の1または0を描画する場所を決定します)。

私はちょうどチューリングが完了していると読みましたが、「ルール110」で「プログラム」する方法を推測することさえできませんか?


それは実際にはルール101ではなく、ルール110です。証拠はウィキペディアのページで概説されていますが、テキストがどのように証拠に接続するかは完全に明らかです。

@WolfgangBangerthそのおかげで、私はそれを修正しました。プログラムへの証拠/方法がそこにある場合、それを見つけるのに十分な自明ではありません、申し訳ありません。
Pureferret

1
単純なプログラムを何らかの方法でこのオートマトンに変換するスクリプトがあり、それを実行するための「シミュレータ」がある場合、同じ質問が私にも発生しました。

2
素晴らしい質問です。詳細は複雑で、科学論文に含まれています。tcs.SE、スケッチおよびいくつかの参照については、規則110の初期条件を参照してください。基本的に、TMを「タグシステム」(TM完全であることが知られている)に変換またはコンパイルしてから、「タグシステム」をルール110にコンパイルする方法があります。実際の実装が試してみてください(そして、確かに新しい洞察/発見につながります)が、残念ながら、何も存在しないか、著者がコードを公開していません。
vzn

1
密接に関連しているのは2Dセルオートマトンであり、1Dケースのいくつかの直観について研究することができます。「人生のゲーム」がチューリング完全であるというコンウェイの証明により、70年代頃から知られています。例えば、Game of LifeのPaul Rendell TMシミュレーターのモダン/グラフィックバージョンを参照してください。
vzn

回答:


11

普遍性はやや非公式の概念です。大まかに言うと、計算可能な関数ごとに、モデルに「プログラム」Pが存在するため、入力xで「実行」Pは常に正しい答えを「停止」し、「出力」します。(Turingマシンはここでは登場しません。これらは普遍的な計算モデルの一例にすぎません。)fPPx

引用符で囲まれた単語は、定義する必要がある単語です。チューリングマシンの場合:

  • プログラムは、状態、テープアルファベット、初期状態、最終状態、および遷移のリストとして指定されています。
  • 実行チューリングマシンの入力の上、X、我々はのエンコーディングでテープ初期化することを意味し、Xを、機械の実行Tを通常の規則に従って、このテープに。T xxT
  • チューリングマシン、最終状態に達すると停止します。(ここにはいくつかのバリエーションがあります。)
  • チューリングマシンが出力するのは(停止した場合)、テープの内容です。

ルール110は、計算モデルとして、同じ方法で正式に定義する必要があります。一つは、以下の意味では、計算モデルをシミュレートcomputablyできれば定義は妥当である:計算関数が存在するように、すべてのプログラムのためのPと、入力X(両方の自然数として符号化)、S P X IFF停止P上の停止X、および場合S P X 停止は、その出力の出力と同一であるPXSPxS(P,x)PxS(p,x)Px

コンピューティングシステムとしてのルール110の特定の設定について興味がある場合は、ルール110(またはルール110を中心に構築されたコンピューティングシステム)の普遍性を証明するマシュークックの論文をご覧になることをお勧めします。

ルール30やルール90などの他のルールについては、それらが普遍的でないことを知りません。それらを中心に構築された説得力のあるコンピューティングシステムがあるかもしれませんが、それは普遍的ですが、私たちは何も知りません。


3
すべて真実ですが、ルール110には停止する方法がありません。それは物事を計算するだけで、停止することはできません。
パベル

@Pavelチューリング完全になるために停止する必要はありません
MilkyWay90

8

マシューの証明から:

ここで取られるアプローチは、新しいセルオートマトンを設計することではなく、自然に複雑な振る舞いを示す非常に単純なオートマトンを取り、その複雑な振る舞いの中に私たちが望むことをさせる方法を見つけることができるかどうかを確認することです。上記のルックアップテーブルに直接関与することはありませんが、代わりに、オートマトンのアクションが時間とともに自然に示す動作を見ていきます。

著者はまず、2段階のチューリングマシンプログラムをコンパイルすることにより、各ステップで2つのシンボルを削除する「タグシステム」が普遍的であることを証明することから始めます。その後、グライダーシステムが実際にタグシステムを実装できることを証明します。これは段階的なプロセスです。次に、CA-110の時空を調べてグライダーを見つけ、グライダーシステムに正しく関連付けます。

さて、あなたの質問:「ルール110」でどのように「プログラム」しますか?

  1. 最も単純な2ステートチューリングマシンを探し、基本操作OR、AND、XOR、NOTのテープを見つけます。

  2. それらをタグシステムにコンパイルします。

  3. タグシステムの実装をグライダー実装にコンパイルします。

  4. CA-110グライダーに正しく適合させると、セルオートマトンの基本操作ができます。

1+1=2

脇にメモ。グライダーは非常に特殊な構造です。操作は、粒子が動いたり衝突したりすること(グライダー)として表示され、このグライダーの開始または衝突の方法に応じて異なる出力を生成します。


2つのグライダーが+を「エンコード」する可能性があり、衝突すると2が得られますか?
-Pureferret

3
より正確には、グライダーのペアがOR、AND、XORまたはNOTをエンコードできると仮定すると、グライダーの複数のペアは「+」をエンコードします。また、数字はおそらくビットのシーケンスとして表され、合計はビットの各ペアの論理ゲートを使用して実行されることを考慮してください。
labotsirc

3
警告、その他の理由により、CSコミュニティでのルール110 TM完全性証明についてはいくつかの論争があります。1つは、CAの入力条件が無限に周期的な(しかし反復的な)パターンを必要とすることです。
-vzn

1
私は論争についてvznに同意します。個人的には、正式な手段で理論的な解決策を拒否したり、チューリングマシンとして動作するスーパーセットとしてCA-110を受け入れることに関して何を考えるべきかわかりません(CAは動的システムとして動作する計算空間であるという事実並行してその作業のトップは、それらが進行中の合成宇宙を表しているのかと思います
labotsirc

私は実際の空間と時間の制約を無視することを好むわけではありません。 ウィキペディアセルオートマトンルール110のP完全性を引用し、NearyとWoodsは2タグシステムの使用を避けることで指数関数的な時間オーバーヘッドを回避したと説明しています。ただし、NearyとWoodsは、同じ年(2006年)の後半に、2タグシステムでさえ、チューリングマシンをシミュレートするための指数関数的な時間オーバーヘッドがないことを示しました
トーマスクリンペル16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.