質問

CFG生成 $ \ sigma ^ * $ と通常の文法生成 $ \ sigma ^ * $ ..私はここにSipserからの例を得ました。 $ all_ {cfg} $ $ \ sigma ^ * $ を生成する言語を参照してください。 $ all_ {rex} $ を参照してください。指定された正規表現が $ \ sigma ^ * $ <を生成する言語を参照してください。 / SPAN>(そして、正規表現ごとに通常の文法があるので、同等の通常の文法が $ \ sigma ^ * $ を生成すると言うこともできます。

私が得たものから、私たちは持っています:

  • $ all_ {cfg} $ は決して決定できません。また、認識可能ではありません。 $ \ overline {a_ {tm}} $ $ $ m $ を参照してください。入力word $ w $ を受け入れないでください。 $ \ overline {a_ {tm}} $ への $ all_ {cfg} $ $ 計算履歴を使用した時間。削減はすべての可能な単語を生成するCFGを構築します.1)最初の文字は $ w $ 、2)と一致しません.2)最後の文字は設定を受け入れる構成と一致しません。 3)文字は、 $ m $ の設定の有効な遷移と一致しません。したがって、 $ a_ {tm} $ $ w $ を受け入れません.cfgが $ \ Sigma ^ * $ (すなわち、承認履歴はありません)。縮小マップ $ \ overline {a_ {tm}} $ $ all_ {cfg} $ $ \ overline {a_ {tm}} $ は、 $ all_ {cfg} $ 認識可能ではありません。

  • $ all_ {rex} $ は、finite automatonが $ \ sigmaを受け入れる場合に決まるため、デカウント可能です。 ^ * $ 。ただし、通常の言語 $ r $ の受付問題は、言語 $ all_ {rex} - fに多項式縮小することができます。 (R_M)$ $ r_m $ は、 $ r $ を決定するTMです。 $ f(r_m)$ は、上で概説されているような計算履歴の同様の低減です。より詳細には、 $ f(r_m)$ は、1)最初の文字が $ w $ 、2)最後の文字は設定の拒否と一致しない、3)文字は $ r_m $ の有効な遷移と一致しません。設定 $ all_ {rex} - f(r_m)$ の場合は、 $ fが含まれているかどうかを確認します。 R_M)$ $ \ sigma ^ * $ に等しいです。空の場合、拒否の計算履歴と $ がありません。 (Sipserでは、彼は $ all_ {rex} - f(r_m)$ )のexpspace-replanceを表示するためにこのようなものを使用しました。

私は尋ねたいです:

上記から、通常の文法とCFGの両方がTMの計算履歴を生成する可能性があり、両方とも $ \ sigma ^ * $ を生成できます。しかし、CFGの文法の基本的な力とは何ですか。これは、 $ \ overline {a_ {tm}} $ への $ all_ {cfg} $ ですが、 $ \ overline {a_ {tm}} $ には $ all_ {rex} - f(a_ {tm})$ ? $ \ overline {a_ {tm}} $ への $ all_ {rex} - f(a_) {tm})$ $ all_ {rex} - f(a_ {tm})$ は、 $ \ overline {a_ {tm}} $ は、認識可能ではありません...しかし、私は彼らの規則を介してCFGと通常の文法との間の電力を生成することの違いに関してこれを理解したいと思います。

たとえば、私が読み取ったものから、CFGのルール $ a \ ritarrow bc $ を許可します。ここで、 $ b $ $ c $ は、変数と端末の文字列です。一方、通常の文法は

-container "> $ a \ grialarrow ab $ 。ここで、 $ A $ は端末です。私は尋ねたいです:フォームのルールを組み込む $ A \ Rightarrow BC $ 文法には、 $ \ overlineを減らすことがすでに有効になるように電力を生成してください。{a_ {tm}} $ は文法に(すなわちCFGへ)。

役に立ちましたか?

解決

未審査性の証明の概要は正確ではありません。 $ \ overline {a_ {tm}} $ の指定は正しくありません。

証明の合理的な展示については、 https://liacs.leidenuniv .nl /〜hoogeboomhj / second / codingcomputations.pdf 特にセクション1とセクション3の始まり。

証明が完全に些細なことではないので、直感は伝えるのは容易ではありません。しかし、ここでは中核事実です。 $ v、w $ は、チューリングマシンの2つの構成です。 $ n(v)$ は、configuration $ v $ 。言語を定義します

$$ l={v \#w ^ r \ mid n(v)\ n} $$

その後、 $ l $ はコンテキストフリーです。これはいくらかの証明が必要です。証明は証明の重要なステップです。ただし、それがあなたの質問に対する答えです: $ l $ はコンテキストフリーですが、通常はありません。その結果、停止問題を $ all_ {cfg} $ $ all_ {rex} $への停止はできません。

私はあなたに主なアイデアの概要を与えるために多くのステップをスキップしました。詳細を記入するために完全な証明を読む必要があります。私はあなたが次に証明を読んで理解し、この視点を念頭に置いて、そして私がここに書いたことを再考することを提案します。うまくいけば、それはあなたがその証拠が文脈を含まない言語のために保持されているが定期的な言語で失敗するのかを理解するのを助けるでしょう。

他のヒント

モデルの違いは、直感的に、CFGの能力からカウントへの範囲から切り取られます。より正確には、CFGは、 $ a ^ nb ^ n $ の文字列を生成することができます。ここで、 $ aの数$ のsと $ b $ は同じです。

この能力は、CFGが2つの連続した構成間のテープの内容を比較することができるので、文字列を比較するための電力を比較することができます。

2カウンタマシンの停止問題(Minsky Machines)が未定であることを思い出すと、これは少し明らかになります。そこでは、2つのカウンタの値によって構成が与えられます。これについては、一意の単項アルファベットがあるTMとして(正確にはないが)。 2つのカウンタマシンでは、2つの連続した構成を比較して、CFGSの路地の右側にある連続した手順でカウンタの値を比較します。

これとは対照的に、正規の言語は有限のメモリを持ち、固定数までのみ数えることができる有限状態オートマトンによってキャプチャされます。したがって、これらのオートマトンは、構成の長さが予め制限されている限り、TMをシミュレートすることができる。 なぜこれは私たちにPSPACEの硬さを与えるのですか?まあ、をシミュレートすることはできます。これは、有界空間で機能する任意の tm、入力に多項式である必要はありません。ただし、削減自体が多項式であるためには、多項式であることがバインドする必要があります。したがって、あなたは正確にPSPACE硬さを得ます。

ルールの「タイプ」に関しては、問題のある $ A \ $ $ ルールの規則ではありません。 $ a \ a ab $ $ (より一般的には、 cyclic ルールを持つことができます)。その理由は、 $ a \ to bc $ x に "Tree"構造があり、 $ b $ $ c $ は後で関連していないので、これは効果的に共用操作で、通常の言語がシミュレートできます。

しかし、 $ a \ to ab $ のルールの規則は、 "context" $ a $ は、通常の言語ではできません。

要約する:

意味的には、CFGの力はそれらのカウント能力にあります。

構文的には、CFGの電力は巡回規則にあります。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top