非決定性とランダム性の違いは何ですか?


38

最近、私はこれを聞いた-
「非決定論的マシンは確率論的マシンと同じではありません。大雑把に言えば、非決定論的マシンは遷移の確率が不明な確率論的マシンです」。

私はポイントを得るかのように感じますが、私は本当にそうではありません。誰かが私にこれを説明できますか(マシンの文脈で、または一般的に)?

編集1:
明確にするために、引用は有限オートマトンのコンテキストで行われましたが、他の人が答えたように、この質問はチューリングマシンにとっても意味があります。

また、「...その後、セットからオブジェクトxを非決定的に選択します」という人々の声が聞こえます。以前は「ランダムに」という意味だと思っていました。したがって、混乱。


5
コンピュータサイエンスでは、アルゴリズムがランダム化されていないことを強調するために、「決定論的」という用語を使用することがあります。したがって、混乱:決定論的は非ランダム化を意味しますが、非決定論的ランダム化を意味しません
ユッカスオメラ


この質問は... SEのこのコーナーに私をリード
トロイ・ウーに

回答:


27

コンピュータ科学者が「非決定論的」という用語を、他の科学で通常使用される方法とは異なる方法で使用することを理解することが重要です。非決定論的TMは実際には物理的な意味で決定論的です。つまり、NTMは与えられた入力に対して常に同じ答えを生成します。つまり、常に受け入れるか、常に拒否します。確率的TMは特定の確率で入力を受け入れるか拒否するので、ある実行では受け入れ、別の実行では拒否する可能性があります。

詳細:NTMによって実行される計算の各ステップでは、単一の遷移ルール​​を使用する代わりに、呼び出すことができる複数のルールがあります。NTMが受け入れるか拒否するかを判断するには、計算のすべての可能な分岐を調べます。(つまり、各ステップで選択する遷移が正確に2つあり、各計算ブランチに合計Nステップがある場合、合計検討項目があります。)標準NTMの場合、入力が受け入れられます。もし何らかの計算枝のが受け入れます。2N

定義のこの最後の部分を変更して、他の関連するタイプのチューリングマシンを取得できます。独自の解決策がある問題に関心がある場合は、1つのブランチのみが受け入れられる場合、TMを受け入れることができます。多数派の振る舞いに興味がある場合は、ブランチの半分以上が受け入れた場合に受け入れるようにTMを定義できます。そして、ランダムに(確率分布に従って)可能性のある分岐の1つを選択し、その分岐の動作に基づいて受け入れまたは拒否すると、確率的TMになります。


クルト、2 ^ Nの数字がどのように到達したか説明してください。すべてのブランチに2つの可能性があり、そのようなN段階がソリューションに到達する場合、2 ^(N + 1)-1にはなりません。私はそれをグラフのように考えようとしていますが、間違っているかもしれません。2 ^ Nの数字に到達した経緯を説明してください。ありがとうございました。
ガンガダー

計算をツリーとして表現し、ルートがステップ0として初期構成を表す場合、Nステップ後に2 ^ Nの葉があり、ブランチと呼んでいるのはルートから葉。計算のある時点で可能なすべての構成を表す合計2 ^(N + 1)-1個のノードがあることは事実です。私の用語が大丈夫だと思います!
カート

すべての科学は、無制限エントロピーの概念で統一された非決定論の同じ定義を使用します。すべての科学における予測不可能な結果は、アルゴリズム(またはシステム)のすべての可能な出力をアプリオリに列挙できないことによるものです。特定の入力を指定してそれが停止するかどうかを観察し、結果がべき等であることに注意することは、他の科学では同じ状態変化を繰り返しながら宇宙のエントロピーの残りを一定に保つことと同等です。計算ではこのエントロピーの分離が可能ですが、自然科学ではできません。
シェルビームーアIII

1
@ShelbyMooreIIIいいえ。コンピュータサイエンスに見られる非決定論の概念を誤解しています。
デビッドリチャービー

@DavidRicherbyごめんなさいDavid 他のスレッドに移動して、私があなたに反論したことを確認してください。そこで提示したロジックに反論することができます。証拠や説明なしで主張するだけでは、真実は得られません。
シェルビームーアIII

18

チューリングマシンのコンテキストでは、「非決定的」とは「並列」を意味します。ランダム化されたアルゴリズムは、非決定性チューリングマシンの計算ツリーのブランチをランダムに探索できますが、非決定性チューリングマシンはそれらをすべて同時に探索することができます。

他のコンテキスト(チューリングマシンについて話しているかどうかは引用からわかりません)、ランダム化されたアルゴリズムは意図的にランダム性を使用している可能性がありますが、決定論的になりたいアルゴリズムはバグのために非決定性を示す可能性があります...

あなたの編集に応じて、人々が「セットから要素を非決定的に選択する」と言うとき、それは単に「ランダム」を意味する可能性があります。ただし、「セットから-right-要素を魔法のように選択する」ことを意味することもあります。非決定論的なチューリングマシンを表示する一般的な方法は、最初に魔法のようにソリューションを「推測」し、次にその正確性をチェックすることです。もちろん、すべての可能性を並行してチェックした結果として、この魔法の推測を見ることができます。


適切な要素を魔法のように選択する」に関連して:この意味で「非決定論」という言葉が使用されると、人々は時々「天使」でそれを修飾します。「悪魔のような」非決定論もあります。(それでも、あなたが言うように、本質は物事が並行して起こるということです。)
ラドゥグリゴール

13

「決定論的」、「ランダム」および「非決定論的」が3つの異なることを意味するいくつかの異なるコンテキストがあります。セキュリティや同時実行性など、複数の参加者がいる状況では、直観は次のようになります。

  • 決定論的意味は「私が選ぶ」ことを意味します

  • 非決定的とは、「他の誰かが選択する」ことを意味します

  • ランダムは「誰も選択できない」ことを意味します

いくつかの例:

  1. [同時実行、ランダム] 複数のノードがいつでもメッセージを送信できるEthernetなどのネットワークプロトコルを検討してください。2つのノードが非常に近い間隔でメッセージを送信すると、衝突が発生します。メッセージは重複し、読み取り不能です。衝突が発生した場合、両方のノードは後でメッセージを再度送信する必要があります。イーサネットの仕様を書いていると想像してください。再試行間の遅延をどのように指定しますか?(遅延は異なる方が良いか、再び衝突するでしょう!)

    • 決定論:両方のノードが使用する必要があるアルゴリズムを定義します。これはイーサネットでは行われません。なぜなら、異なる結果を得るために、アルゴリズムは、特定のメッセージコンテンツに対して、あるノードを他のノードよりも優先する必要があり、イーサネットはそれを避けるためです。

    • 非決定的:各実装者が決定できるようにします。両方のノードの実装者が同じアルゴリズムを選択する可能性があるため、これは良くありません。

    • ランダム:各ノードは、(指定された分布で)ランダムに遅延値を選択する必要があります。それが動作する方法です。2つのノードが同じ遅延を選択して別の衝突が発生する可能性はわずかですが、成功の確率は再試行の回数が増えるにつれて1に向かって漸近的に増加します。

  2. [並行性、非決定性]並行アルゴリズムを記述します。特定の状況では、デッドロックが発生する可能性があります。デッドロックの発生を防ぐにはどうすればよいですか?それは、同時実行環境のスケジューリングの種類によって異なります。

    • 決定論的:スケジューラーは、コードが明示的に明け渡された場合など、明確に定義された特定のポイントで常にスレッドを切り替えます。次に、悪いタイミングでスレッドが譲らないように調整します。

    • random:スケジューラーはスレッドをランダムに切り替えることが保証されています。次に、実行可能な戦略として、デッドロックが発生した場合にそれを検出し、アルゴリズムを最初から再開することができます。

    • 非決定的(ほとんどのスケジューラーはこのようなものです):スケジューラーがスレッドを切り替える時期はわかりません。したがって、デッドロックを回避する必要があります。ランダムな場合のように検出して再起動しようとすると、スケジューラがまったく同じ方法でスレッドを何度も何度もスケジュールするリスクがあります。

  3. [セキュリティ、ランダム]パスワードプロンプトを使用してアプリケーションを作成します。攻撃者をどのようにモデル化しますか?

    • 決定論的:攻撃者は常に同じパスワードを試行します。これは、攻撃者の有用なモデルではありません。定義上、攻撃者は予測できません。

    • 非決定的:攻撃者は何らかの方法でパスワードを知って入力します。これは、パスワードの制限を示しています。パスワードは秘密にしておく必要があります。パスワードが秘密であれば、この攻撃者は非現実的です。

    • ランダム:攻撃者はランダムにパスワードを試行します。この場合、これは攻撃者の現実的なモデルです。使用しているランダム分布に応じて、攻撃者がパスワードを推測するのにかかる時間を調べることができます。適切なパスワードは、現実的な配布に時間がかかるものです。

  4. [security、nondeterministic]アプリケーションを作成しますが、セキュリティホールがあるかもしれないと心配しています。攻撃者をどのようにモデル化しますか?

    • 決定論的:攻撃者はあなたが知っているすべてを知っています。繰り返しますが、それは攻撃者の有用なモデルではありません。

    • ランダム:攻撃者はランダムなゴミを投げ、プログラムをクラッシュさせようとします。それは時々役に立つかもしれませんが(ファジング)、攻撃者はそれより賢いかもしれません。

    • 非決定的:穴がある場合、攻撃者は最終的にそれを見つけます。そのため、アプリケーションを強化する(攻撃者のインテリジェンス要件を引き上げる、計算要件ではなくインテリジェンス要件であるため、AIが登場するまで非決定的であると見なされることに注意してください)セキュリティホール、したがってそのような攻撃者は存在しません。


修正は、あなたの声明で証明されていない単語を中心に展開します:決定論は、「選択していることを証明できます(つまり、P複雑度クラスで入力で終了する結果を完全に指定できます)」、非決定論は、「選択していること証明できません」(すなわち、NP複雑度クラスでは終了の証明は決定できません)」、およびランダムは「1/2の時間(つまりZPP複雑度クラス)を選択できることを証明できます」。
シェルビームーアIII

@ShelbyMooreIIIあなたがどこに着いているのかわかりません。決定論は、一般に、何かが実際に決定論的であることを証明すること、または特定の複雑さのクラスにある問題に関することではありません。さらに、複雑性クラスは、システム自体がその決定論について何かを証明できるということではありません(ほとんどの問題は、システム内で証明するという概念さえありません!)
ジル「SO-悪であるのをやめる」

非決定論は常に無制限のエントロピーの結果です。したがって、別の言い方をすれば、結果を選択していることを証明できないということです(選択が終了することを証明できないため)。できるのは試してみることだけです。つまり、終了するかどうかを判断する前に、選択するすべての選択肢を列挙する必要があります。一方、決定論では、終了する必要がある結果bczを選択することを証明できます。ランダム化は、エントロピーの一部が私の制御下にないため、ランダムな時間しか選択できないことを証明できる場所です。自分の管理下にない金額を知っていれば、正確な統計を証明できます。
シェルビームーアIII

非決定性を引き起こすのは複雑度クラスNPではなく、NPが依存関係であることに同意しました。チューリング完全は非決定性の例です。Plzは、Kurtの回答の下に私のコメントと、関連するスレッドに関する私の回答を参照しています。あなたへの私のポイントは、決定論的、非決定論的、およびランダムな用語について正確に証明され、予測できないものについてです。それはすべてエントロピーについてです(ベースについてではなく
シェルビームーアIII

9

物事を明確にする例:

10000個のドアを開くには、ドアを選択する必要があるとします(ドアの1つに賞品があるとしましょう)。ランダムに選択すると、10000個のドアから1つを選択して入力することになります。ドアが1つしかない場合、賞品はほとんど見つかりません。非決定論的なマシンは、すべての10000ドアに同時に入ります。賞品がどこかにある場合、非決定的マシンはそれを見つけます。


8
あるいは、非決定論的なマシンはドアを1つしか開けませんが、常に正しいドアを開けます。
ジェフ

3
はい、正確に。それは、非決定的マシンの「最も幸運な推測者」の特徴です。
ロビンコタリ

@RobinKothari:「あるいは、非決定的マシンはドアを1つしか開けませんが、それは常に正しいドアです。」そして「非決定的マシンはすべての10000ドアを同時に入力します」?-正しいのはどれですか?
タンモイ14年

3
@tan:両方とも正しい解釈です。物理的に実現可能な決定論的およびランダム化されたマシンとは異なり、非決定的マシンは架空のオブジェクトです。好きなように想像できますが、ポイントは常に正しいドアを見つけることです。多分それは多分密か賞だったマシンに語った誰かが、多分それはちょうどなど、魔法のようにすべてのドアをチェックし、最高の推測だ
ロビンコタリ

5

非決定論的チューリングマシンの定義:現在のセルの内容と現在の状態のいくつかの組み合わせに対して複数の次の状態を持つチューリングマシン。移動シーケンスが受け入れにつながる場合、入力は受け入れられます。

確率的チューリングマシンの定義非決定性チューリングマシン(TM)は、確率分布に従って各ポイントで利用可能な遷移をランダムに選択します。

確率的チューリングマシンは、ミスを犯す可能性がある非決定的チューリングマシンです。

PPT私は役に立ちました。


5

私は次の定義を好む:

確率的チューリングマシンのようなものはありません!確定的マシン(すべてのステップで単一の可能なフォローアップ状態)と非確定的マシン(すべてのステップで一定数の可能なフォローアップ状態)のみがあります。

非決定論は次のように機能します:各入力で停止する(問題が決定可能な場合に可能)、各計算で同じステップ数を使用し、各ステップに正確に2つのフォローアップ状態がある場合の非決定論的なマシンを考えます(両方とも実際には制限ではありません)。NPの定義のように、非決定的なマシンは、受け入れ可能な計算が少なくとも1つ存在する場合に入力を受け入れ、すべての計算が拒否される場合に入力を拒否します。

ランダムネスは次のように作用します。上記のような非決定的マシンから、単一の計算パスをランダムに一様に選択できます。このランダムに選択された計算パスが受け入れられる場合にのみ受け入れます。このランダム化されたアプローチは、圧倒的な確率でこの答えが正しければ、問題を「解決」します。

したがって、非決定性とランダム性の違いは、正しいYes-answer(および信頼できるNo-answers)の単なる存在を探しているか、問題を「ほとんどの時間」解決することに関心があるかどうかです。


-1最初の段落のエラー。確率的チューリングマシンが存在し、外部エントロピーからコイントスをサンプリングします(ZPP複雑度クラスを参照)。非決定論には、有限の数の代替状態があり、NP複雑度クラスを参照してください。決定論はP複雑度クラスであり、あなたはそれを正しく理解しました。
シェルビームーアIII

あなたは私の答えを誤解していると思います。確率的複雑度クラスを定義するために、「通常の」非決定的TMとは異なるマシン(コイン投げまたは他の機能を備えた)は必要ないと主張します。同様に、NTMを使用して、受け入れの別の定義、つまり「入力に対して少なくとも1つの受け入れパスが存在する」とは対照的に、「ほとんどの計算パスが入力を受け入れる」という定義を使用することもできます。
MRA

3

シンプルに保つために、非決定的マシンは各コインフリップの結果を最適に選択できます(確率的マシンとのアナロジーが好きな場合)。また、コインフリップの各結果の計算を並行して実行することも想像できます。


1

非決定性の動機としてのデバッグ中の後退

非決定的マシンの概念は、デバッグ中にプログラムを(時間内に)後退させたいときに示唆されます。典型的なコンピューターでは、各ステップで変更されるメモリーの量は限られています。前の10000ステップでこの情報を常に保存しておけば、プログラムを前後にうまく進めることができ、この可能性はおもちゃのプログラムに限定されません。前方ステップと後方ステップの間の非対称性を取り除こうとすると、非決定的なマシンの概念になります。

非決定性とランダム性の類似点と相違点

確率的マシンは非決定的マシンといくつかの特性を共有しますが、前進ステップと後退ステップの間のこの対称性は共有されません。これを見るために、(全体または部分的な)関数による決定論的機械のステップまたは遷移、(有限)関係による非決定論的機械の遷移、および(サブ)確率行列による確率論的機械の遷移をモデル化しましょう。たとえば、有限オートマトンに対応する定義は次のとおりです

  • 状態有限集合Q
  • Σ
  • δ:Q×ΣQ
  • Δ:Q×ΣP(Q)
  • ΔQ×Σ×Q
  • Δ:ΣP(Q×Q)
  • δ:ΣssM(Q)

P(Q)QssM(Q)Q

多くの異なる合理的な受け入れ条件があります

遷移はマシンの一部に過ぎず、初期状態と最終状態、可能な出力と許容条件も重要です。ただし、決定論的マシンの非等価な許容条件は非常に少なく、非決定論的マシンの合理的な許容条件の数(NP、coNP、#P、...)、および確率論的マシンの多くの可能な許容条件があります。したがって、この回答は主に遷移に焦点を当てています。

可逆性は確率的機械にとって重要です

PPTPPPBAkABk

可逆性は、非決定論的なマシンでもトリッキーです

PPTPPRRopRRRRRRopR=RRopRRop=RopPQPQ

これらの考慮事項は、プッシュダウンオートマトンにも意味があります。

この投稿は、非決定論の動機の1つは、前進ステップと後退ステップの間の非対称性を取り除くことであることを示唆しています。この非決定性の対称性は有限オートマトンに限定されていますか?プッシュダウンオートマトンに対応する対称の定義は次のとおりです。

  • 状態有限集合Q
  • Σ
  • スタックシンボル有限セットΓ
  • δ:Q×Γ×(Σ{ϵ})Q×Γ{0,2}δ(q,γ,ϵ)ϵδ(q,γ,σ)=ϵσΣ
  • Δ:Q×Γ{0,1}×(Σ{ϵ})P(Q×Γ{0,1})
  • ΔQ×Γ{0,1}×(Σ{ϵ})×Q×Γ{0,1}
  • Δ:Σ{ϵ}P(Q×Γ{0,1} × Q×Γ{0,1})
  • δ:Σ{ϵ}ssM(Q×Γ{0,1})δ(ϵ)+δ(σ)ssM(Q×Γ{0,1})σΣ

ϵΓ{0,2}={ϵ}Γ(Γ×Γ)Γ{0,1}={ϵ}ΓΓ

(非)進行中の入力およびスタック操作の反転の図式検証

bΣΣ{ϵ}

a|bca|bcab|c
a|bcab|cab|c
c|bac|bacb|a

ϵΣ{ϵ}

a|bca|bca|bc
a|bca|bca|bc
cb|acb|acb|a

これは、反転が悪いように見える入力操作を進める図です

a|bca|bcab|ca|bcab|cab|cc|bac|bacb|a

(s,t)Γ{0,1}×Γ{0,1}(s,t)=(a,ϵ)(s,t)=(ϵ,a)(s,t)=(a,b)(a,ϵ)(ϵ,a)

abab|b
ab|bb
b|bab

(a,b)(b,a)

acacbc
acbcbc
bcbcac

(ab,cde)Γ×Γ(cde,ab)

abfabfcdef
abfcdefcdef
cdefcdefabf

チューリング機械の可逆性

複数のスタックを持つマシンはチューリングマシンと同等であり、スタック操作は簡単に元に戻すことができます。最初の動機は、(チューリングマシンの)反転は難しくないことを示唆しています。典型的な命令セットを備えたチューリングマシンは、反転にはあまり適していません。これは、ヘッドの下にあるシンボルがテープが左右に移動するかどうかに影響するためです。ただし、命令セットが適切に(マシンの計算能力を低下させることなく)変更された場合、逆転は再び些細なことです。

反転は、命令セットを変更せずに構築することもできますが、標準的ではなく、少しいです。反転の存在は、チューリングマシンに関連する他の多くの質問と同じように決定するのが難しいように思えるかもしれませんが、反転はローカルな構造であり、難しい質問はしばしばグローバルな風味を持っているため、悲観論はおそらくここでは不当です。

同等の命令セットに切り替えたい(逆にしたほうが簡単)ことは、これらの質問が最初に現れるよりも明白でないことを示しています。この投稿では、以前は総関数と確率行列が部分関数と準確率行列で置き換えられたときに、より微妙な切り替えが行われました。この切り替えは厳密には必要ありませんが、それ以外の場合は反転は見苦しくなります。準確率行列への切り替えは、実際には可逆性がそれほどささいなことではないことが明らかになった点であり、単に高レベルの視点をとるのではなく(上記のように)詳細を書き留める必要があります(始まり)。ニール・ド・ボードラップによって提起された質問も、高レベルの視点がわずかに不安定であるという認識に貢献しました。

結論

非決定論的なマシンでは、各ステップで有限数の決定論的な遷移が可能です。確率的なマシンの場合、これらの遷移にはさらに確率があります。この投稿は、非決定性とランダム性に関する異なる視点を伝えています。グローバルな受け入れ条件を無視して、代わりにローカルな可逆性に(ローカルな対称性として)焦点を合わせます。ランダム性は決定論では保存されないいくつかの局所対称性を保存するため、このパースペクティブでは、非決定論的マシンと確率論的マシンの重要な違いが明らかになります。


非決定的遷移は1対多の関係であると仮定していますか?特に2つの異なる構成が共通の構成に移行できる場合はどうなりますか?—ランダム性と非決定性の違いは可逆性ではなく(どちらもさらなる制約なし)、むしろ結果に応じて枝に重要性を帰属させる方法:ランダム性に対して完全に民主的、または「はい」に優先的に敏感非決定論に対する「いいえ」の回答。
ニール・ド・ボードラップ

@NieldeBeaudrap非決定的遷移は「任意の」関係(入力アルファベットの各シンボルに1つ)であると想定しています。それらを逆にして、開始状態と終了状態を入れ替え、非決定性の有限状態マシンを再び取得し、逆の入力文字列を受け入れます。これは私が「時間内にマシンを逆方向に実行する」と呼ぶものです。(マシンは、非決定的なケースで開始状態から終了状態まで少なくとも1つのパスがあれば受け入れます。この条件は、時間を反転しても変化しません。)これが少なくとも有限状態マシンで機能することを確信してください。
トーマスクリンペル

だから、あなたはマシンのデュアルを指します。NFAにとって、これは可逆性の意味のある概念のようです。また、NTMのデュアル(単一の受け入れ状態)が別のNTMであることも明らかですが、同じマシンが逆に実行されていると言うのをためらいます。あなたの答えは、「非決定論により、双対のもとで閉包を得ることができますが、ランダムな(そして決定論的な)マシンはそうではありません」?
ニールドボードラップ

@NieldeBeaudrap私のアイデアは確かに時間をさかのぼって実行することですが、これは完全に満たされていません(逆セミグループの一般化されたインバースの条件が満たされていないため)。しかし、私が伝えようとしたことは、ランダム(および決定論的)なマシンがこの種の反転を常に許可するとは限らないということです。
トーマスクリンペル

この答えは、二項関係、準確率行列、および部分関数の可逆性に関するブログ投稿で書きました。
トーマスクリンペル

0

n2n 状態、指数関数)状態の等価クラスを考慮することにより、マシンに実装されたアルゴリズムがランダム化または確率を含むかどうかに関係なく(以下を参照)。

しかし、マシンに実装されたアルゴリズムがランダム化または確率(アルゴリズムに固有)を含む場合、それはランダム化(または確率的)マシンです。

一般に、マシンから非決定性を削除し、決定論的な同等物を構築することは常に可能です(上記のアルゴリズムを参照)。実装されたアルゴリズムに固有

上記の観点から、この方法でアルゴリズム(関与)がランダム化(または確率)を使用する場合、決定論的マシンと非決定論的マシンの両方が確率論的であることに注意してください。

まとめると、オートマトンの非決定性は(この文脈では)同様のオートマトンのクラスを指し、ランダム化または確率的マシンは、これらのオートマトンによって実装される実際のアルゴリズム(ランダム化の固有のアプリケーション)を指します。

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