非決定性チューリングマシンは一般的な関数問題をどのように計算しますか?


7

(これは以前に尋ねられたことがないといいのですが、何も見つかりませんでした。)

私の理解では、受け入れ可能パスの存在が必要であるため、非決定性は決定問題にのみ適用されます。ウィキペディアでは、クラス -easyは、NPの決定問題のオラクルにアクセスして、決定論的ポルタイムで解けるように定義されています。だからこれは私の仮定を裏付けているようです。NP

私の質問は次のとおりです。一般的な関数の問題を計算するために非決定性のチューリングマシンを定義するための認められた方法はありますか?(そして、それは常に決定問題のための神託を迂回することによってですか?)


より詳細な回答をいただければ幸いです。(あなたは確かに非決定論について運用上の見解を持つことができます!)しかし、あなたは私のポイントを得ています-1つのブランチだけが停止する(またはゼロ)場合、問題はありませんが、他の場合には、いくつかの出力があります。
lukas.coenig

「あなたは確かに非決定論について運用上の見解を持つことができます!」-試すことはできますが、この方法では誤解と狂気しかありません。
ラファエル

回答:


6

受け入れられる定義の1つは次のとおりです。関数(その出力は最大で入力が多項式である)は、指定されている場合、クラスます。多項式時間でかどうかを決定できます。これをクラスと比較してください。これには、が与えられた場合、値は多項式時間で計算できるような関数が含まれます。fFNPx,yf(x)=yFPfxf(x)


ああ、これは理にかなっています!ありがとう!!
lukas.coenig 2016年

この定義の引用はありますか?
adrianN 2016年

1
いいえ、おそらくウィキペディアにはあります。
Yuval Filmus

3

まず、非決定論について話すときはいつでも、結果を得るために実行するアルゴリズムを持っているという考えを取り除く必要があります。非決定論的モデルは説明のみを目的としており、運用可能ではありません。非決定論的アルゴリズムを「実行」する方法はありません。時々、教師は「マシンは常に正しい推測をする」または「すべてのブランチを並行して実行する」などのことを言いますが、これらの直観ステートメントは何らかの方法で不十分です。

したがって、非決定性マシンが何らかの正式なオブジェクトを記述していることを受け入れます。限目。


非決定的オートマトンについて直観的に理解するには2つの方法があります。下端から、有限状態トランスデューサを検討してください。それらは本質的に出力を伴う有限オートマトンです。明らかに、FAは彼らに還元します。非決定的なケースでは、各入力は複数の出力をもたらす可能性があります(ただし、そうする必要はありません!)したがって、FTの「結果」を定義する意味になり上にすべての出力のセットとしてに生成することができる。これで、いくつかの入力単語を結合したり、プリイメージを検討したりできます。AwAw

スペクトルの反対側から、NTMを検討してください。同じアイデアが機能します。すべての入力について、マシンが(受け入れ状態で)停止したときに取得できるすべてのテープ内容のセットを出力として定義します。ww

たとえば、複雑度クラスを定義するときなど、オートマトンに入力ごとに1つの出力のみを要求することを妨げるものは何もないことに注意してください。

リソース制限についても同様です。意思決定問題のクラスを定義するために使用されるアイデアは、ほとんど引き継がれるはずです。


おかげで、これは私が探していた答え(の少なくとも一部)でした(ただし、ずっと知っていたと思いますが...)。「推測」または「平行」のメタファーは、特に初心者にとって、注意して使用する場合、重要であると私はまだ信じています。しかし、当然のことながら、非決定性のすべての機微を捉えているわけではありません。
lukas.coenig
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.