無限のルールを許可するCFGはどれほど強力ですか?


9

最近、文脈自由文法に無数のルールを許可するとどうなるのだろうと思っていました。明らかに、我々はルールの任意のそのような無限のセットを許可したい場合は、すべての言語一部アルファベット上Σは CFGによって記述することができたG = ({ S } 、Σ 、R 、S )とR = { S → W | W ∈ L }。しかし、Rを文脈自由文法によって作成できるようなルールのセットに制限するとどうなるでしょうか。LΣG=({S},Σ,R,S)R={S→w∣w∈L}R

その目的のために、非終端記号の集合所与と端子Σ、私たちはの要素としてルールをしない表示できN × (N ∪ Σ )*が、アルファベットの上に文字列としてR (N 、Σ ) = N ∪ Σ ∪ { → }。ここで私の質問は、無限ルールCFGをタプルG = (N 、Σ 、R 、S )として定義する場合、NΣN×(N∪Σ)∗R(N,Σ)=N∪Σ∪{→}G=(N,Σ,R,S)

  • は非終端の有限集合ですN
  • は有限のアルファベットですΣ
  • フォームのルールの集合である A → Wと A ∈ N、 wは∈ (N ∪ Σ )*一部のCFGが存在するように、 Gは'上に R (N 、Σ )と R = L (G ')RA→wA∈Nw∈(N∪Σ)∗G′R(N,Σ)R=L(G′)
  • 最初の非終端ですS∈N

そして、我々は定義それはのCFGのために行われているだけのような無限のルールのCFGのために、(クラスということレッツ・コール無限のルールのCFGによって生成される言語のクラスとの関係何である私は、rはC F)、、コンテキストのクラスは、自由言語C FとクラスR E?L(G)irCFCFRE

もちろん、我々はしているしているが、私は、rはC Fのこれらのクラス(またはいくつかの他のクラス)の1に相当しますか?CF⊆irCF⊆REirCF


回答:


7

メタグラマーを取り、2シンボルのプレフィックスで因数分解するとします。言い換えれば、それぞれについてA ∈ Nの構築 G ' A、左誘導体のG '列にわたってA →。すなわち、(有限)metagrammarsの(有限の)セットを生成する、いくつかのための全ての(おそらく無限の)生産製造各A ∈ Nを。G′A∈NGA′G′A→A∈N

今、文法構築、そのルールですべてのルールの集合であり、G ' Aと一緒に(非端末は衝突を避けるために改名して)文法、A → S G ' Aそれぞれに対するG ' A、SをG " Aは、開始非終端ためであるG " A。以下のための非端子Gは、「含むNそれぞれおよびすべての非端子G ' Aを、非終端の開始はGの非終端の開始ですG″GA′A→SGA′GA′SGA′GA′G″NGA′G、およびの端子は、正確にはGの端子です。私は(証明なしで)G ″が同じ言語の有限文法であることを主張します。これは、派生プロセスがルールの起源に影響されないためです。それは単にアルファベットを文字列に置き換えたものです。G″GG″

上記の証明の概要が有効である場合、とi r C Fは同じです。CFirCF

コメントで触れたように、Van Wijngaarden文法や、追加の力をすべて失うことなくより扱いやすい形式を作成するために行われたさまざまな試みを含む、2レベルの文法のより興味深い例があります。

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