リバーシブルチューリングターピット?
この質問は、既知のリバーシブルチューリングターピットがあるかどうかに関するものです。「リバーシブル」とは、アクセルセンとグリュックの意味であり、「ターピット」は、はるかに非公式な概念です(そして、あまり適切な言葉ではないかもしれません)。しかし、私はそれが何を意味するかを説明するために最善を尽くします。 「ターピット」の意味 一部の計算モデルは、何らかの形で役立つように設計されています。他のものはたまたまチューリング完全であり、実際には特に有用なプロパティはありません。これらは「チューリングターピット」として知られています。例としては、Brainfuck言語、Rule 110セルオートマトン、およびBitwise Cyclic Tag言語(実装が非常に簡単で、バイナリ文字列が有効なプログラムであるため私が好きな言語)などがあります。 「チューリングターピット」の正式な定義はありませんが、この質問では、「少数の「ルール」を持つという点で)かなり単純なシステムを意味し、「起こる」だけでチューリングが完了し、その明白な意味を持つ内部状態。私の目的にとって最も重要な側面は、明確なセマンティクスの欠如ではなく、ルールの単純さです。基本的に私たちは、スティーブンウォルフラムがかつて非常に大きな本を書いたようなものについて話していますが、彼は「ターピット」という言葉を使用していませんでした。 「リバーシブル」の意味 可逆計算に興味があります。特に、AxelsenとGlückの意味でrチューリング完全な言語に興味があります。つまり、計算可能なすべての単射関数を計算でき、単射関数しか計算できません。現在、Axelsenの可逆ユニバーサルチューリングマシンや高水準の可逆言語Janusなど、この意味で可逆な計算のモデルが多数あります。(文献には他にも多くの例があります。それは活発な研究分野です。) AxelsenとGlückによるr-Turingの完全性の定義は、ベネットによる通常のアプローチとは異なる可逆コンピューティングへのアプローチです。ベネットのアプローチでは、システムは計算の最後に捨てられる「ガベージデータ」を生成することができます。このような条件下では、可逆システムはチューリング完全である可能性があります。ただし、AxelsenとGlückのアプローチでは、システムがそのような「ジャンクデータ」を生成することが許可されていないため、計算できる問題のクラスが制限されます。(したがって、「Turing complete」ではなく「r-Turing complete」。) 注:AxelsenとGlückの論文はペイウォールの背後にあります。これは残念なことです-私の知る限りでは、r-Turingの完全性の問題に関して、現時点ではペイウォールされていないリソースはありません。時間があれば約束はありませんが、ウィキペディアのページを始めようと思います。 私が探しているもの 上記のリバーシブルコンピューティングの例は、すべて「意味論的に負荷がかかった」ものです。これは、ほとんどの状況では良いことですが、各タイムステップで状態を更新するために必要なルールがかなり複雑であることを意味します。リバーシブルコンピューティングの「ターピット」を探しています。つまり、完全な言語をr-Turingしているという「たまたま起こる」という非常に単純なルールを持つ多かれ少なかれ任意のシステムです。探しているものの正式な定義はないことを繰り返しますが、見たときにわかります。質問するのは合理的だと思います。 私が知っていることはほぼ法案にほぼ適合しますが、完全ではありません。チューリング完全であることが示されているいくつかの可逆セルオートマトンがあります。 ラングトンのアリ(かなり恣意的で非常に単純な可逆状態遷移関数を備えた一種の2次元チューリングマシン)も、その初期条件に無限の繰り返しパターンを含めることが許可されている限り、チューリング完了です。ただし、これらのシステムでは、ジャンクデータが破棄されないように状態から「出力」へのマッピングを定義することは簡単ではありません。私は特に、入力を受け取り、それに対して(可逆)変換のシーケンスを実行し、(終了する場合)出力を返すと考えられるシステムに特に興味があります。 (この質問が、ラムダ計算と同等のリバーシブルについて、以前の関連する質問よりも簡単に答えられることを願っています。)