NDTMの答えを効率的にフリップできないのはなぜですか?


11

NDTMの回答を効率的にフリップすることは不可能であると何度か読みました。しかし、その理由はわかりません。たとえば、O n で実行されるNDTM 場合、このテキスト(セクション3.3 では、別のNDTM TO n 100時間でMの答えを反転する方法をどのように決定できるかが不明確であると述べています。MO(n)TO(n100)M

私の問題は次のとおりです。NDTM は、受け入れ状態につながる一連の非決定的な選択が存在する場合に出力します。さらに、小さな(対数)オーバーヘッドのみですべてのNDTMをシミュレートできるユニバーサルNDTM N Uが存在します。それでは、なぜTを次のように構築できないのでしょうか。最初に、時間O n log n で可能なはずのユニバーサルNDTMでMをシミュレートします。次に、1-Mの答えを出力します。これは、時間O n log n で任意の線形NDTMの答えを反転できることを意味します1NUO(nlogn)O(nlogn)


NDTMは何も「出力」しません。非決定論のメンタルモデルを調整します。
ラファエル

回答:


15

非決定性チューリングマシンは、少なくとも1つのパスが受け入れる場合に受け入れます。すべてのパスが拒否された場合にのみ拒否されます。この非対称性により、「回答を反転」することが難しくなります。

たとえば、入力wに 2つのパス  がある非決定性チューリングマシンがあるとします  。1つは受け入れ、もう1つは拒否します。Mに  はwの受け入れパスが少なくとも1つある  ため、受け入れます。Mが  拒否する入力を正確に受け入れるマシンを作成するとします。明らかな最初の試みは、Mを取り  、その受け入れ状態を拒否させ、その拒否状態を受け入れさせることです。Mに  は、wの 1つの受け入れパス  と1つの拒否パスがあります。この新しいマシン  M 'には、1つの拒否パスと1つの受け入れパスがあります。そのため、拒否することになっていたwを引き続き受け入れます  !MwMwMMMwMw

非決定性マシンは、そのすべてのパスを同時に調べて、それらのすべてのパスの動作に基づいてアクションを実行することはできません。必要に応じて、スレッド同士の通信を禁止する並列処理の一種と考えることができます。すべてのスレッドが終了すると、プログラムは次の質問を自問する必要があります。「少なくとも1つのスレッドは受け入れましたか?」答えが「はい」の場合、法的に受け入れる義務があります。答えが「いいえ」の場合、拒否することが法的に義務付けられています。それ以外には何もできません。

あなたは非決定的機シミュレートすると  別の1、使用してM "、の各パス  Mを"のいずれかのパスをシミュレート  Mをのみ、そのパスを見ています。「他のすべてのパスが拒否された場合、受け入れます」とは言えません。他のパスを見ることができないからです。自分自身しか見えません。つまり、「シミュレートしたパスが受け入れられた場合は拒否する」または「シミュレートしたパスが受け入れられた場合も受け入れる」などとしか言えないかもしれません。次に、計算の最後に、マシンは「パスのいずれかが受け入れられた場合、受け入れます」と言わなければならず、上記で説明した問題が発生します。行動反転するにはM、の各パスMを"MMMMMM「シミュレートしたパスが受け入れられた場合、拒否します。それ以外の場合は受け入れます」、および計算の最後に、マシンは「すべてのパスが受け入れられた場合は受け入れます。それ以外の場合は拒否します。 」これは、シミュレータのすべてのパスが受け入れられた場合、のすべてのパスが拒否されたため、Mが拒否されたため、シミュレータが受け入れる必要があるためです。しかし、シミュレータは法的に義務付けられた受け入れ基準を使用していないため、有効な非決定論的チューリングマシンではありません。それはできません。MM

非決定性マシンがその入力を拒否するかどうかを知る唯一の方法は、考えられるすべてのパスを試し、それらすべてが拒否されることを確認することです。結局のところ、そのうちの1つでも受け入れた場合、マシンは入力を受け入れます。ただし、考えられるすべてのパスを試すことは、1つだけを試すよりも指数関数的に遅くなります。


2

O(n)O(n)

NUO(nlog(n))nlog(n)MM


-3

=?=?


1
実際、彼はco-NP = NPのようなものを求めています。PNPが異なることは完全に可能ですが、NDTMは効率的に無効にできます。
David Richerby 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.