タグ付けされた質問 「pushdown-automata」

メモリ用に単一のスタックを備えた状態マシンに関する質問。それらは文脈自由言語のクラスを特徴づけます。

1
2つのスタックを持つプッシュダウンオートマトンは、チューリングマシンと同等ですか?
で、この答えは言及されています 通常の言語は、有限オートマトンによって認識できます。文脈自由言語にはスタックが必要であり、文脈依存言語には2つのスタックが必要です(これは、完全なチューリングマシンが必要であると言うことに相当します)。 上記の大胆な部分の真実に関して知りたいと思いました。実際、それは本当ですか?これに対する答えに到達する良い方法は何ですか?

2
本質的に曖昧で決定論的なコンテキストフリー言語はありますか?
決定論的プッシュダウンオートマトンで受け入れられる場合にのみ、コンテキストフリー言語を決定論的と呼び、そうでない場合は非決定的と呼びます。 言語を生成するすべての文脈自由文法が曖昧であり、それ以外では曖昧でない場合にのみ、本質的に曖昧な文脈自由言語を呼び出しましょう。 決定論的で明確な言語の例は次の言語です。 非決定的で明確な言語の例は次の言語です。 { W ∈ { 、B } * | w = w R }{ anbn∈ { a 、b }∗| N≥0}{anbn∈{a、b}∗|n≥0}\{a^{n}b^{n} \in \{a, b\}^{*} | n \ge 0\}{ W ∈ { 、B }∗| w= wR}{w∈{a、b}∗|w=wR}\{w \in \{a, b\}^{*} | w = w^{R}\} ウィキペディアから、本質的に曖昧なコンテキストフリー言語の例は、コンテキストフリー言語の以下の結合であり、これもコンテキストフリーでなければなりません: L = { anbmcmdn∈ { …

3
ハミング距離が2以上の等しい長さの単語のペアの言語はコンテキストフリーですか?
次の言語コンテキストは無料ですか? L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L = \{ uxvy \mid u,v,x,y \in \{ 0,1 \}^+, |u| = |v|, u \neq v, |x| = |y|, x \neq y\} sdcvvcで指摘されているように、この言語の単語は、ハミング距離が2以上の同じ長さの2つの単語の連結として説明することもできます。 私はそれが文脈自由ではないと思いますが、私はそれを証明するのに苦労しています。この言語を通常の言語(たとえば、など)と交差させてから 、ポンピング補題および\または準同型を使用しようとしましたが、特徴付けて記述するには複雑すぎる言語が常に得られますダウン。 0∗1∗0∗1∗ 0∗1∗0∗1∗ \ 0^*1^*0^*1^*

1
決定論的なプッシュダウンオートマトンでコンテキストのない言語を受け入れることができるかどうかを決定する
文脈自由文法Gが与えられると、Gが受け入れる言語を正確に受け入れる非決定的プッシュダウンオートマトンNが存在します。(およびその逆) Gが受け入れる言語を正確に受け入れる決定的プッシュダウンオートマトンDも存在する場合があります。それは文法に依存します。 Gの生成に関するどのアルゴリズムによって、Dが存在するかどうかを判断できますか?

1
プッシュダウンオートマトンが特定の通常の言語を認識するかどうかは決定可能ですか?
2つのプッシュダウンオートマトンが同じ言語を認識するかどうかの問題は決定できません。プッシュダウンオートマトンが空の言語を認識するかどうかの問題は決定可能です。したがって、特定の有限言語を認識するかどうかも決定可能です。プッシュダウンオートマトンで受け入れられる言語が正規かどうかは決定できません。だが ... ...プッシュダウンオートマトンが指定された通常の言語を認識するかどうかは決定可能ですか? 答えがいいえの場合、与えられた通常の言語の星の高さが 111あれば問題は決定可能になりますか?

1
補数のPDAを構築し
このため、も可能であるかどうかは疑問に思って。したがって、単語を区別することができますPDA のw ∈ { n個のB N C N | N ≥ 0を}の残りの部分から{ * B * C * }としても私には矛盾した鳴り、それを受け入れるかもしれません。{ anbncn| N ≥ 0 } ∉ C F L{anbncn∣n≥0}∉CFL\{a^n b^n c^n \mid n \geq 0\} \not\in \mathrm{CFL}W ∈ { Anbncn| N ≥ 0 }w∈{anbncn∣n≥0}w\in\{a^n b^n c^n \mid n \geq 0\}{ a∗b∗c∗}{a∗b∗c∗}\{a^*b^*c^*\} 私はPDAの非決定論的な性質を利用する必要があると思いますが、私はアイデアを失っています。アドバイスをいただければ幸いです。

4
オートマトンを「推測」する-どういう意味ですか?
非決定的プッシュダウンオートマトンは、複数の状態間で「選択」でき、決定論的プッシュダウンでは受け入れられないコンテキストフリー言語がいくつかあるため、決定論的プッシュダウンオートマトンは改良型であると認識しています。 それでも、私は彼らがどのように「選択する」かを正確に理解していません。たとえば、パリンドロームについては、私が見つけたすべての情報源は、オートマトンが単語の真ん中を「推測する」とだけ言っています。どういう意味ですか? 考えられるいくつかの意味を考えることができます。 ランダムに1つの状態になるため、実際には言語にある単語を受け入れない可能性があります それはどういうわけか「あらゆる可能性」になりますので、最初のものが間違っている場合、他のどれかが正しいかどうかをテストします 私が知らないメカニズムがあり、それは単語の中間を選択し、したがってランダムではありませんが、オートマトンは常に正しい中間を見つけます。 これは単なる例です。私が知りたいのは、それ以前のまったく同じ状態に対していくつかの次の状態を持つオートマトンの仕組みです。

1
2つのNPDAの可能な交差点の計算
2つのNPDAの交差点に関するRaphaelの提案の支持: ましょうと文脈自由言語についてNPDAをとそれぞれ。我々はそれを知っていると仮定すると、文脈自由である、我々は(事実上)NPDA構築することができ用?A1A1A_1A2A2A_2L1L1L_1L2L2L_2L = L1∩ L2L=L1∩L2L = L_1 \cap L_2AAALLL どんなタイプのアルゴリズムでも受け入れられますが、実用的であるほど良いです。

2
正規表現の言語は、それを解析するためにプッシュダウンオートマトンを必要としますか?
ユーザーが入力した正規表現をNFAに変換して、マッチングのために文字列に対してNFAを実行できるようにします。正規表現の解析に使用できる最小マシンは何ですか? 括弧の意味はカウントの必要性を意味し、DFA / NFAは任意のカウントを実行できないため、プッシュダウンオートマトンである必要があると思います。この仮定は正しいですか?たとえば、式a(bc *)dはPDAを必要とするため、括弧内の部分式が正しく処理されます。

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
PDAでεループが不要であることをどのように証明しますか?
ヒープオートマトンの調査に関連して、特定のバリアントが非コンテキスト依存言語を受け入れることができないことを証明したいと思います。同等の文法モデルがないため、オートマトンのみを使用する証明が必要です。したがって、私はヒープオートマトンがLBA(または同等のモデル)によってシミュレートできることを示す必要があります。 私は、プッシュダウンオートマトンがコンテキスト依存言語のサブセットを受け入れることを示すのと同じように機能する証拠を期待しています。しかし、私が知っているすべての証明は、 文法の使用-ここでは事実は定義から明らかです-または 納得できないほどあいまいです(例:ここ)。 私の問題は、PDA(またはHA)に、シンボル(スタック)にシンボルを書き込む可能性がある -transitionsのサイクルが含まれる可能性があることです。LBAは、そのようなループの任意の反復をシミュレートできません。文法で得られたチョムスキー階層から、εε\varepsilon すべての文脈自由言語には、 -cycle-free PDAまたはεε\varepsilon LBAのシミュレーションにより、 -cyclesが頻繁に繰り返されるのを防ぐことができます。εε\varepsilon 直感的には、これは明らかです。そのようなサイクルは入力とは無関係にシンボルを書き込むため、スタック(ヒープ)のコンテンツは、サイクルの長さにおいて線形の情報のみを保持します(現在のところ、重複するサイクルは無視されます)。また、別の -cycle を使用する以外に、(必要に応じて)ものを再び取り除く方法はありません。本質的に、そのようなサイクルは、複数回繰り返された場合、入力の処理に寄与しないため、必要ありません。εε\varepsilon この引数は、特に -cyclesの重複を考慮して、どのように厳密に/正式に記述することができますか?εε\varepsilon

1
非決定性チューリングマシンの非決定性は、有限オートマトンのそれとは異なり、オートマトンを押し下げますか?
入力文字列をとして与え。次に、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...wnw1w2...wnw_1w_2...w_nrrrwiwiw_irrrsssr→ϵsr→ϵsr \xrightarrow{\epsilon} sr→ϵs→ϵq1....→ϵqk→ϵrr→ϵs→ϵq1....→ϵqk→ϵrr \xrightarrow{\epsilon} s \xrightarrow{\epsilon} q_1....\xrightarrow{\epsilon} q_k \xrightarrow{\epsilon} rqiqiq_irrrwiwiw_i。 PDA(非決定論的)が状態rrr(かつ入力がw_iまで読み込まれるwiwiw_i)であり、循環r−→−−ϵ,ϵ→as−→−−ϵ,ϵ→aq1....−→−−ϵ,ϵ→aqk−→−−ϵ,ϵ→arr→ϵ,ϵ→as→ϵ,ϵ→aq1....→ϵ,ϵ→aqk→ϵ,ϵ→arr \xrightarrow{\epsilon,\epsilon \to a} s \xrightarrow{\epsilon,\epsilon \to a} q_1....\xrightarrow{\epsilon,\epsilon \to a} q_k …

1
CFGをPDAに変換
文脈自由文法をプッシュダウンオートマトンに変換するルールまたはメソッドのセットはありますか? すでにオンラインでいくつかのスライドを見つけましたが、それらを理解することができませんでした。 スライド10で彼はいくつかのルールについて話しましたが、誰でもそれを説明できますか?

3
場合は
次の演習を解くのに行き詰まっています。 主張その場合文脈自由であり、、次いで、規則的である(つまり、正しい商)は文脈自由です。R L / R = { W | ∃ X ∈ RLLLRRRL/R={w∣∃x∈Rs.twx∈L}L/R={w∣∃x∈Rs.twx∈L}L / R = \{ w \mid \exists x \in R \;\text{s.t}\; wx \in L\} を受け入れるPDAとを受け入れるDFAが存在する必要があることを知っています。現在、これらのオートマトンを、適切な商を受け入れるPDAに組み合わせようとしています。それを構築できれば、がコンテキストフリーであることを証明しました。しかし、私はこのPDAの構築に行き詰まっています。R L / RLLLRRRL / RL/RL/R これは私がそれをどこまで作ったかです: 結合されたPDAでは、状態は別個のオートマトンの状態のデカルト積です。また、エッジはDFAのエッジですが、将来Lの元のPDAの最終状態に到達できるのはエッジのみです。しかし、それを正式に書き留める方法がわかりません。


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