時間内に実行されるチューリングマシンの数


7

この質問に答えるための戦いの半分は、それを正確に定式化することだと思います!検索エンジンはあまり出てこないので、これがよく知られているのかよく研究されているのか疑問に思っていました。

私の考え:この質問を定式化する最も簡単な方法は私のタイトルのとおりであると思います:定数与えられると、すべての入力でステップ以下で実行されるTMの数がそこにありますサイズ、そしてどのように多くのTMが使用することをしているテープ正方形またはサイズのすべての入力に少ない?これは質問をする最も直接的で簡単な方法のようですが、たとえば、関数を指定すると、時間内に実行されるTMの数はすべてのサイズ入力について(またはこれらのTMはどのくらい「密」か)?これは私には難しいようです。tskNtkskpkpkkk

おそらく、テープのアルファベット(またはGodelの番号付け?)を修正する必要があります。どちらの方法でも、異なるが同型の状態図を持つ2つのTMは同じまたは異なると見なすことができます。

当面の問題は、無限の数があることです。基準を満たすTMをすべて取り、「デッドステート」を追加します。これに対処する方法は2つ考えられます。1つ目(私は好きではありません)は、追加のパラメーターを追加することです。説明の長さが TMが基準をいくつ満たしますか?2番目の方法(私が好む)は、サイズ入力で同等の 2つのTMを考慮することです。そのような入力すべてについて、TMがまったく同じ動作をする場合(同じ状態に入り、テープに同じように書き込み/移動する)。次に、各等価クラスの最小TMに制限するか、基準を満たす等価クラスの数を尋ねます。Lk

編集:コメントでVorが指摘したように、2番目のアプローチの問題は、その時点での回路と基本的に同じであることです。では、最初のものはどうですか?または、この質問を形式化するより良い方法はありますか?

参考文献/文学、考え、または回答は非常に興味深く、高く評価されます!


2
あなたが選ぶなら Σ={01}、 あなたが持っている 22k 個別のブール関数 {01}k{01}。したがって、k <= tの場合、少なくとも22k別個のTM ...そしておそらくそれらは他のバリエーション/パラメーター化のカウントを停止するのに十分です:-)。
Vor

@Vor、ブール関数がたくさんある理由はわかりますが、それらすべてが時間内に実行されるのはなぜですか Ok...うーん、それぞれに異なるDFAを作成し、それをTMの状態図にしただけなのでしょうか。質問を面白くするために、新しい制約の再定義または追加について検討する必要があります。
usul 2013年

TMではなく言語について質問する方が簡単かもしれません。その場合、この質問は実際には複雑なクラス分離の未解決の質問に関係します。つまり、おそらくこれを定式化してP =?NPなどを求めるのと同等の方法があります。TM の速度、つまり、t(n)/s(n...また、このトピックは「小さな」言語については経験的にいくらか検討できます...
vzn

回答:


3

与えられた k、のセットを検討 Mk={M|N}M によって定義されます

if |x| = k
  accept
else
  simulate TM i on x

セット Mk すべてを数えたいチューリングマシンのサブセットです st。無限なので、数えたいセットも無限です。

私の知る限り、この結果は、すべての実行可能なチューリングマシンのセットを有限に制限しない限り、課すすべての制限に対して安定しています。


次の同等性を追加するとどうなりますか。2つのマシンは、サイズkの入力(おそらくモジュロ双シミュレーション)で同じように動作する場合、同等の「mod k」です。-equivalent classes- mod kのサイズを尋ねることは理にかなっています。
cody

@codyこれらのクラスもすべて無限です。elseブランチの構造を変更するcount to i on the tape; rejectと、無限のアクセプターセットがΣk; 同じ構造が基本的にすべての(決定可能な)言語で機能します。
ラファエル

| x |の場合の動作を指定しているため、 'else'ブランチのすべてが無関係の "mod k"であるように見えます。は-kではありません。
cody 2013年

@cody:はい、そうです。説明されているすべてのマシンは同じサブセットを受け入れますΣkなので、これらモジュロと同等ですk(私があなたが何を望んでいるかを正しく理解しているなら)。ただし、そのようなelse分岐は無限にあるため、等価クラスには無限に多くの要素が含まれます。そして、これまでの私の主張は、同様の構成が常に機能するため、すべての等価クラスに当てはまります。(本質的に、ステートメントは次のとおりです。すべての言語が無限に多くのTMによって受け入れられます。あるいは:すべてのTMについて、無限に多くの出力に相当する他のものがあります。)
Raphael

したがって、私の提案は、外部で異なる動作をするすべてのTMを識別することです。 Σk。その場合、同じ言語を受け入れるマシンのクラスが無限にあることは明らかです Σk。しかし、限られた空間と時間で機能するものが無数にあることは明らかではありません。
cody 2013年

1

あなたの質問は忙しいビーバー問題に密接に関連しています。シンボルの最大数と-stateチューリングマシン。2つの出力シンボルを持ち、常に停止する前に書き込みを停止します。の機能 この方法で定義したものは計算できません。


確かに、いくつかのつながりがありますが、私は主にいくつかの計算可能な関数の質問に興味があります tk...その場合、BBの使い方がわかりません。
usul 2013年

1

あなたはいくつかの質問をし、一般的に複雑なクラス分離に関する未解決の質問にほぼ関連するいくつかの興味深いアイデアを策定します。たとえば、P =?NPは、「何回」NP(-hard)言語をP時間で実行できるかを尋ねるように再定式化できます。ただし、この領域には理論的(またはその他の)結果はあまり多くないでしょう。あなたの質問に触れるであろうSATの時間/空間の複雑さの両方に限界を与えるいくつかの理論的な論文があります。しかし、おそらくこれに最も近い研究は、TMの経験的分析であり、これは、多忙なビーバーの研究など、フォンブランドによる他の回答で示唆されています。

経験的に生成されたTMを「クロック」で調べる類似の、しかし比較的まれな研究があります。たとえば、Pタイムなどです。ここに2013年からのそのような参照の1つがあります。PタイムクロックでTMを列挙し、結果のフラクタルパターンを調べます/生成された「時空間図」(「計算タブロー」とも呼ばれます)。別のアプローチは、「小さな有限」サンプルを調べることです。tsk (さらに、列挙されたTM状態のような他のパラメーター)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.