非決定性チューリングマシンの非決定性は、有限オートマトンのそれとは異なり、オートマトンを押し下げますか?


9

入力文字列をとして与え。次に、NFAが現在状態(そしてアルファベットまでの入力を読み取った)場合、次の入力シンボルを読み取る前に、NFAは2つのNFAに分割され、1つは状態あり、もう1つはにあり、タイプ。タイプサイクルがある場合、はNFAのいくつかの状態です。次に、入力がアルファベットw_iまで読み取られるまで、状態rの別のNFAを覚えていても無駄です。 R W I R S R ε S R ε S ε Q 1ϵ q k ϵ r q i r w iw1w2...wnrwirsrϵsrϵsϵq1....ϵqkϵrqirwi

PDA(非決定論的)が状態r(かつ入力がw_iまで読み込まれるwi)であり、循環rϵ,ϵasϵ,ϵaq1....ϵ,ϵaqkϵ,ϵar(ここで、遷移ϵ,ϵaは、w_ {i}の後に何もないことを意味しますwi入力から読み取られる、何もポップされない、またはスタックから読み取られ、アルファベットaがスタックにプッシュされる)次に、次の入力アルファベットw_ {i + 1}を読み取る前にwi+1、状態r、s、q_1、...に無限PDAがありr,s,q1,...qk NFAとは異なり、状態は有限ですが、スタックの内容は異なる可能性があります(無限の可能性)。

NFAやPDAと同様に、非決定性の力はϵ遷移に由来します。したがって、非決定性のチューリングマシンも、NFAやPDA(よりPDAのような)のようなϵ遷移から非決定性になると思います。決定論的チューリングマシンは非決定論的チューリングマシンをシミュレートできることを知っています(パンファースト検索を使用する証明を知っています)。しかし、今はそれがどのように可能であるのか疑問です。上記のPDAのタイプのサイクルが、非決定性チューリングマシンの状態図に存在する場合、次のシンボルを読み取る前に ϵwi+1非決定性チューリングマシンの一部のブランチで構成をシミュレーションする場合でも(bfsの間)確定的チューリングマシンは、無限チューリングマシンを追跡する必要があります(ここでも状態は有限ですが、テープ上のシンボルには無限の可能性があります)。
では、チューリングマシンの場合、どのように非決定性が定義されるのでしょうか。些細なことを誤解していますか?非決定的チューリングマシンは遷移を使用しますか?ϵ


ささいな疑問をお詫びします。何かが間違っている場合は、質問を更新できます。


2
タイトルの質問については、正式な定義に大きな違いはありません。創発力に関しては、そうです、それは各マシンモデルで大きく異なる意味合いを持っています。残りの質問については、解析が難しいと感じてください。:(
vzn 2015年

1
ウィキペディアをチェックしましたか?en.wikipedia.org/wiki/Non-deterministic_Turing_machine
Yuval Filmus

@YuvalFilmusはい、あります。遷移関数の定義には、私が理解している累乗が含まれています。しかし、についての事チューリングマシンの遷移は、まだ私には不明です。epsilon
sashas

@vznそう思いました。本当にごめん。私は自分の疑問を先に進めるのが苦手です。でも、提案があれば改善できます。
sashas

回答:


8

非決定論は、すべてのコンテキストで同じ概念です。マシンは、任意の時点で続行するいくつかのオプションを許可されています。ただし、DFA / NFAとPDAは常に合計関数を定義するのに対し、チューリングマシン(決定論的または非決定論的)は一般に部分関数を定義するため、セマンティクスは少し異なります。

部分関数は、ドメインの一部でのみ定義されるものです。場合上で定義されていないのx、我々は書くF X = ⊥を。(したがって、fは実際には合計関数ですが、出力が未定義であることを示す範囲に特別な要素があります。)決定論的チューリングマシンMは、次のように部分関数を定義します。Mxで停止すると、M x Mxで停止したときのテープの内容。そうでなければ、M x = fxf(x)=fMMxM(x)MxM(x)=

確定的チューリングマシン決定器には、受け入れと拒否の2種類の停止状態があり、部分関数を次のように定義しますxで受け入れ状態で停止すると、M x = 1 ; 拒否状態で停止した場合、M x = 0 ; 停止しない場合は、M x = です。場合Mは常に停止し、我々はそれがあると言う受け入れる言語L = { X M XをMxM(x)=1M(x)=0M(x)=ML={x:M(x)=1}

非決定的チューリングマシン(これは常にディサイダーです)は「分岐」することができ(任意の時点でいくつかの可能なオプションがあります)、次のセマンティクスがあります。

  • 入力 xの場合、マシン Mはすべてのブランチで停止し、少なくとも1つのブランチの受け入れ状態で停止します。M(x)=1xM
  • 入力 xの場合、マシン Mはすべての分岐で停止し、常に拒否状態で停止します。M(x)=0xM
  • 入力 x Mが停止しないブランチが存在する場合。M(x)=xM

この定義があれば、決定論的なチューリングマシン決定子を使用して非決定論的なチューリングマシンをシミュレートする方法が明確になります。すべてのブランチを試し、いずれかのブランチが受け入れ可能な停止状態につながるかどうかを確認します。すべてのブランチが停止した後、受け入れ状態にするか拒否状態にするかを決定できます。非決定論的チューリングマシンが一部のブランチで停止しない場合、決定論的チューリングマシンも停止します。


何についての -moves?それらは対応するオートマトンが決して停止しないかもしれないという問題を引き起こします。有限オートマトン(NFAおよびPDA)の場合、停止しない計算は暗黙的に無視されます。これを行う理由は、それらを確定的にシミュレーションする(すべての計算パスをシミュレーションする)単純なアルゴリズムがうまく機能しない場合でも、結果の言語は常に計算可能であるためです。これは、DFAに変換できるNFAにとってそれほど難しくありません。ただし、確定的PDAは非確定的PDAよりも厳密に弱いです。それにもかかわらず、すべてのPDAがϵ遷移のないものと同等であることを示すことができます(ただし、証明は文脈自由文法を通過する可能性があります)。ϵϵ

Turingマシンで -moves をシミュレートできますが、計算を停止させないループがないように注意する必要があります。ただし、上記と同じトリックを使用できる場合もあります。たとえば、チューリングマシンがスペースに制約があると仮定します。使用するスペースの上限がわかっています(入力の長さに応じて)。その場合、停止しないすべての計算は必ず循環します(チューリングマシンはテープの内容を含む有限の状態を持っているため)。したがって、上記のように停止しない計算を「無視」しても、結果の計算モデルは依然として計算可能です。より一般的には、これはすべての停止しない計算サイクルが保証されている限り機能します。(これはNFAには当てはまりますが、PDAには当てはまりません。)ϵ


ありがとうございました。最後の疑問が1つありました。転移を有するPDAで PDAが状態である場合、Rそれは場合にのみ分割します BBは入力テープからアルファベット読み出され、cはアルファベットスタックからポップされ、スタックにプッシュされます)であり、εかかわらず何の及びC(あるεまたは通常スタックアルファベット)。私は正しいですか?rb,casrbbcaϵacϵ
sashas 2015年

@sasha実行は、続行するオプションが複数ある場合は常に「分割」されます。
Yuval Filmus、2015年

トランジションのあるPDAを、それらのないPDA に変換できることを証明するにはどうすればよいですか?私は常に、PDAが受け入れる言語が通常のチョムスキー形式のCFGに変換することで決定可能であることを証明できることを知っています。ただし、イプシロン遷移がないと、PDAに変換できません。ヒントをいただければ幸いです。ϵ
sashas

1
@sasha Greibach正規形の文脈自由文法を遷移のないPDAに変換できます(少なくともWikipediaによると)。ϵ
Yuval Filmus

1
@YuvalFilmus、GNFから非決定論的構成は、本質的に再帰下降である:生産のために、場合Aは入力に、スタックの最上位にある交換AをすることによってB 1 ... B Nにスタック。ϵ見えません。まだ非決定的です(いくつかのAプロダクションがで始まる可能性があります)。AaB1B2BnAaAB1BnϵAa
フォンブランド、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.