オートマトンを「推測」する-どういう意味ですか?


14

非決定的プッシュダウンオートマトンは、複数の状態間で「選択」でき、決定論的プッシュダウンでは受け入れられないコンテキストフリー言語がいくつかあるため、決定論的プッシュダウンオートマトンは改良型であると認識しています。

それでも、私は彼らがどのように「選択する」かを正確に理解していません。たとえば、パリンドロームについては、私が見つけたすべての情報源は、オートマトンが単語の真ん中を「推測する」とだけ言っています。どういう意味ですか?

考えられるいくつかの意味を考えることができます。

  1. ランダムに1つの状態になるため、実際には言語にある単語を受け入れない可能性があります

  2. それはどういうわけか「あらゆる可能性」になりますので、最初のものが間違っている場合、他のどれかが正しいかどうかをテストします

  3. 私が知らないメカニズムがあり、それは単語の中間を選択し、したがってランダムではありませんが、オートマトンは常に正しい中間を見つけます。

これは単なる例です。私が知りたいのは、それ以前のまったく同じ状態に対していくつかの次の状態を持つオートマトンの仕組みです。


関連:ランダム化アルゴリズムと非決定的アルゴリズムの違いについての参考質問です。
ラファエル

回答:


8

簡単に言うと、メカニズムは魔法です。非決定論の考え方は、単語を受け入れるためにどの方法を取るべきかを単に知っていることであり、それはそのように進みます。複数の方法がある場合は、そのうちの1つに進みます。

非決定論は、実際のハードウェアでは実装できません。バックトラッキングなどの手法を使用してシミュレートします。しかし、これは主に理論的なデバイスであり、特定の概念の表示を簡素化するために使用できます。

回文については、2つの方法で考えることができます。マシンに「これは言葉の真ん中、プッシュからポップに切り替える時間です」と言う魔法の力があるか、各文字を読んだ後、「この文字を新しいプロセスをフォークします単語の真ん中にあり、それが回文だとわかるかどうかを確認します。その後、この別のスレッドで、これが単語の真ん中ではないと仮定して、続けます。

それを考える別の方法は、無限の並列性としてです。したがって、同等のモデルは、新しいパスを選択する代わりに、両方のパスを同時に試行し、新しい「プロセス」を分岐させて、単語全体を読み取った後に最終状態にある場合は成功します。繰り返しますが、これは実際のハードウェアを使用して構築することはできませんが、非決定論でモデル化することができます。

非決定性の興味深い点は、有限オートマトンおよびチューリングマシンの場合、計算能力はまったく向上せず、効率だけが向上することです。


5

決定的オートマトンと非決定的オートマトンの主な違い(私の意見では)は、決定的オートマトンの場合、特定の入力語にはマシンを通るパスが1つしかありません。非決定的オートマトンでは、特定の入力ワードにマシンを通る複数のパスが存在する場合があります(いくつかのポイントで選択肢がある場合があるため)。

これに照らして、単語がマシンを通るいくつかの経路を誘導する可能性があるという事実に対応するために、入力単語を受け入れるための条件も変更する必要があります。非決定的オートマトンの受け入れの通常の定義は次のとおりです。オートマトンが受け入れる単語には、その単語によって誘導される少なくとも1つの受け入れパスが必要です。

これにより、オートマトンの「推測」というアイデアが生まれます。単語が非決定的オートマトンに受け入れられると、オートマトンは自動的に正しい選択を行い、受け入れパス(のいずれか)その単語が入力として提示された場合に続きます。

これがパリンドロームにとって意味することは、pdaが本質的に2つのモードを持っているということです:スタック上の現在の文字をプッシュするプッシュモードと、それらの文字をポップして入力と照合するポップモードです。このマシンには、プッシュ状態からポップ状態への空の遷移があり、単語の任意の時点でこれを追跡できます。ただし、マシンは、パリンドロームを読み取り、パリンドロームの中央で空の遷移をたどった場合にのみ、スタックを空にして受け入れ状態に移行します。アクセプトパスの存在のみが必要なので、オートマトンは単語の真ん中に「推測」していると言えます。


5

非決定性の考え方は非常に単純です。オートマトンは、特定の状況でいくつかの次のステップを実行できます。ある場合オートマトンは受け付けいくつかの受諾1、それが存在しない場合にのみ拒否に初期設定から導くステップの(いくつかあるかもしれません!)シーケンスなシーケンスが。

これは、これらのあいまいな状況で次に行うステップを「決定」することを意味します。これについて説明する1つの方法は、常に「正しい」次のステップ(または「正しい」ステップが複数ある場合は1つ)を魔法のように選択するということです。別の見方をすると、このような状況では、オートマトンの計算は複数のコピーに分割され、それぞれが1つのパスを追跡します。

実際には、これはバックトラッキング、実装された場所に何らかの形式のタグを配置し、現在のパスがうまくいかない場合に戻って次の代替手段を試すことで実装できます。これは通常、再帰によって処理されます。または、オートマトンが「合法的に」持っている情報に追加情報を追加します(これは、非決定的オートマトンが黒板でどのように機能するかを示し、先を見て、どのステップが成功につながるかを把握するときに行います)。


バックトラックは良い考えだとは思いません。あなたのツリーは有限ではないかもしれません。Prologなどの非決定性の実装で使用されていることは承知しており、Robert Floydの初期の作品でも使用されていたと思います。しかし、それはプログラマーの監督下にあることを意図したものであり、オートマトン理論とは考えません。実際、Prologにも問題を説明するための他の実装があります。
-babou

@babou、これは実際に行う方法の1つです。私はそれが解決策だと言っているわけではありません
-vonbrand

2

「推測」は、非決定論の実存的解釈に直接関係しています

簡単に 言うと、非決定的オートマトンが推測できる(またはオラクルに助けられる)この考えは、非決定性の実存的解釈に直接関係しています。「推測」が意味をなさない別の解釈が可能です(他の場合もあります)。

非決定論は奇妙です。オートマトン理論で解釈する方法は1つありますが、それをどのように行うべきかはアプリオリに明らかではありません。

驚くかもしれませんが、非決定論は非常に一般的な状況です。いくつかの数学理論の公理を考えると、定理を証明しなければならないとき、プロセスは当然非決定論的なプロセスです。そのため、たとえば3次方程式の解を見つけたり、定理を証明するなど、問題を解決するために何をすべきかわからないことがよくあります。

既知の情報と推論ルールを組み合わせて新しい結果を得るには、多くの方法があります。そして、結果から逆方向に証明を再構築しようとすると、状況は通常同じです。

そのような問題を解決しようとするとき、私たちはいくつかの移行システムでパスを「推測」しようとします。

実際、私たちは推測しませんが、可能性の迷路を整理および/または単純化する構造を心に構築し、その中の道を見ることができるようにします。場合によっては、質問は、解決策を見つけるための標準的な方法(時には?通常?常に?)がある特定のパターンに従い、それをアルゴリズムと呼びます。

使用できる(通常は高価な)テクニックの1つは、単純に迷路を完全に探索することです。つまり、すべてのパスをたどり、無限のサブグラフに巻き込まれないように最初に幅を広げます。これは、非決定的オートマトンのすべての可能な計算をダブテイルすることによって行われていることです。この導出されたダブテール計算は、それ自体が決定論的なものです。

DCAAA

実際には、非決定的な計算を解釈するさまざまな方法があります。Afaik彼らはすべて一貫していますが、お互いにそうではありません。

Rw

認識エンジンの推測のアイデアは、その証明ツリーを見つける方法を「推測」する独自の方法から取った画像にすぎません。しかし、大きな違いは、私たちの脳はPDAではないということです。それらは、より複雑なデバイスであり、ほぼ遷移構造を探索およびマッピングする機能を備えているので、それらを通過する方法を見つけることができます。

非決定的計算のこの解釈は、単一の受け入れ計算の存在のみを必要とするという事実に関して、私は実存的受け入れと呼んでいます。別の答えで紹介した実存的停止に対応しています

ただし、非決定性を普遍的な方法で解釈することもできます。認識機能は、すべての可能な計算が停止して入力を受け入れる場合に、入力「w」を(普遍的に)受け入れると言われます。この普遍的な受け入れは、同じ答えで導入された普遍的な停止の概念に対応しています。

普遍的な受け入れと普遍的な停止は、非決定論の一貫した理解につながるようです。したがって、その定義を使用して理論的な作業を行うことができます。しかし、定理証明などの多くの非決定的状況や日常生活の状況での私たちの通常の実践とは一致しません。問題に直面したとき、私たちはそれを解決する1つの方法のみを望み、他の方法が成功するかどうかは気にしません(これは少し単純化されすぎています)。

回文を認識しなければならない場合は、長さを測定して中央を探すことで推測できます。PDAはできません。しかし、1つのソリューションの存在にのみ関心があるので、いつでも解決できるふりをすることができます。または、それを支援するために、よりインテリジェントなマシン(私たち?)によって提供されるオラクルがあると考えることができます。または、あなたはそれを魔法と呼ぶことさえでき、それがそうであると考えるかもしれません(結局、実存的量指定子は一種の魔法の杖です)。それが役立つ場合は、それが役立ちます。受け入れ可能な計算がない場合、何の助けにもなりません。

この推測の考え方は、普遍的な受け入れ解釈では意味がないことに注意してください。

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