特定のクラスの無制限の文法のメンバーシップ問題


9

任意の文脈自由文法検討アルファベット上{ 0 1 ¯ 0¯ 1 }。この文法のプロダクションに、2つの固定非文脈自由制作を追加P¯ 0 0 ε¯ 1つの 1 εを。結果の文法をG Pと呼び、「Gプロダクションで増強されたP」を表す。G{0,1,0¯,1¯}P0¯0ϵ1¯1ϵGPGP

文法かかるアルゴリズム与えることが可能であるとストリングS{ 0 1 ¯ 0¯ 1 }とするかどうかを決定するのは、LG PGPs{0,1,0¯,1¯}sL(GP)


興味深いことに、答えは「いいえ」のようですが、が正則であれば、L G Pも正則だと思います。本質的に、のためにNFA L Gはのための1つに変換することができるL G P繰り返し添加することにより、εの -transitions S ε T あなたはパスを持つたびにS ˉ 0P 0 TをLGLGPLGLGPεsεtまたはS ϵ p ϵ t 、そして最後にs0¯p0ts0¯pεq0ts1¯p1ts1¯pεq1tsεpεt脱離。ε
Klaus Draeger、2014年

はい、そうです。実際、問題はプログラム分析(生存率ベースのガベージコレクション)の問題から生じました。CFGを非常に規則的な文法(Mohri-Nederhoff変換)に近似し、結果のNFAに対して簡略化をKlaus Draegerの記述とまったく同じ方法で実行して、問題を回避しました。P
アミット。

回答:


5

このクラスの文法は決定できません。これを使用してチューリングマシンをエミュレートする方法の概要を次に示します。

各ポイントで、現在部分的に拡張された単語は次のようになります

[左にテープ][][右にテープ]

ここに:

  • 、適用後に Pを、文字のみを含ん ¯ 0 ¯ 1[左にテープ]P0¯1¯
  • Pを適用した後、文字 0 1のみが含まれています。[右にテープ]P01
  • は単一の非終端記号であり、ヘッドの状態とヘッド位置の文字の両方をエンコードします。[]

ヘッド状態にあると仮定する、及びヘッドの下の文字であるI { 0 1 }。次に、頭は非終端S iで表されます。状態Tに遷移し、現在の文字をjに置き換えて左に移動する必要がある場合、2つの遷移S i0 T 0 jおよびS i1 T 1 jがあります。それは右の代わりに、2つの遷移があるに移動する必要がある場合S I¯ jはS{01}STjS0T0jS1T1j S I¯ jの T 1 ¯ 1。ある意味では、頭は、一致する文字を生成することによって、移動する方向に文字を「推測」する必要があります。推測が間違っている場合、上の不変 [ 左にテープ ]または [ 右にテープ ]違反する、それが回復することはありませんでしょう。Sj¯T00¯Sj¯T11¯[左にテープ][右にテープ]

マシンが停止すると、ヘッドは「推測」して一致する文字を生成することにより、両面でテープを「消費」します。その後、空の単語が生成されます。その結果、対応するチューリングマシンが停止した場合にのみ、空の単語がそのような文法のメンバーになります。


NN

@ Amit.SIは、遷移の遷移についてさらにいくつかの説明を回答に提供しました。
abacabadabacaba 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.