言語がコンテキストフリーではないことを証明するにはどうすればよいですか?


88

コンテキストフリー言語のクラスについて学びました。コンテキストフリーの文法プッシュダウンオートマトンの両方が特徴であるため、特定の言語がコンテキストフリーであることを簡単に示すことができます。CFL

しかし、どのように反対を見せますか?私のTAは、そうするためには、すべての文法(またはオートマトン)に対して、手元の言語を記述できないことを示さなければならないことを固く主張しています。これは大きなタスクのようです!

ポンピング補題について読んだことがありますが、本当に複雑に見えます。


Ntpick:言語がコンテキストフリーであるかどうかを示すことは決定できません
reinierpost

1
@reinierpostあなたのコメントが質問にどのように関係しているかわかりません。それはについてです証明していない、物事を決める(アルゴリズム)。
ラファエル

一般に、言語がコンテキストに依存していないことを示すの簡単ではないということを指摘するだけです。fraflが簡単な場合は、言語を説明するプッシュダウンオートマトンが与えられるなど、一般的な言語には当てはまらない特定の特別な条件が原因である必要があります。
reinierpost

@reinierpostその推論の行は、決定できないことを証明するのが難しい(等しい?)ことを前提としているようです。それは本当かしら。
ラファエル

回答:


69

私の知る限りでは、ポンピング補題があり、これまでで最も簡単で、使用される技術。難しい場合は、最初に通常バージョンを試してください。それほど悪くはありません。文脈自由とはほど遠い言語のためのいくつかの他の手段があります。たとえば、決定不能な言語は、文脈に依存しないことは自明ではありません。

そうは言っても、もしあれば、ポンピング補題以外のテクニックにも興味があります。

編集:これはポンピング補題の例です:言語が文脈自由であると仮定します(は素数の集合です)。ポンピング補題には多くの量指定子があるので、これを少しゲームのようにします:P / L={akkP}P/

  1. ポンピング補題はあなたにを与えますp
  2. 少なくともの長さの言語の単語を与えるpsp
  3. :ポンプの補題はこのようにそれを書き換え(いくつかの条件付きと)| v x y | P | v y | 1s=uvxyz|vxy|p|vy|1
  4. 整数n0
  5. 場合はされていない、あなたが勝つ、文脈自由ではありません。L LuvnxynzLL

この特定の言語では、任意の(およびは素数)がトリックを行います。次に、ポンピング補題はを与えます 。コンテキストの自由度を反証しますようなを見つける必要があります 素数ではありません。k個の k個の≥のPのk個のU のV のx のy zは| v y | 1 のn | u v n x y n z |sakkpkuvxyz|vy|1n|uvnxynz|

|uvnxynz|=|s|+(n1)|vy|=k+(n1)|vy|

そして、は次のことを行いますは素数ではないので、です。ポンピング補題は適用できないため、はコンテキストに依存しません。k + k | v y | = K 1 + | VのY |のU 、V 、N、XのY N Z L Ln=k+1k+k|vy|=k(1+|vy|)uvnxynzLL

2番目の例は、言語です。(もちろん)文字列を選択し、これらの5つの部分に分割し、導出されたすべての文字列を言語に残すことができる方法がないことを示す必要があります。{www{a,b}}

文字列は、この証明に適した選択肢です。ここで、とがどこにあるかを調べる必要があります。重要な部分は、または何か(おそらく両方)が含まれていること、およびと(および)の両方が長さ部分文字列に含まれていることです。 v y v y v y x ps=apbpapbpvyvyvyxp

この文字列には、とがどこにあるかについて多くの可能性がありますが、実際にはいくつかのケースが非常によく似ていることがわかります。yvy

  1. VのY B * B | v y | = k個の≤のPvyaまたは。そのため、これらは両方とも、連続し sまたは s のセクションの1つに含まれています。これは、彼らがどちらにいるかは関係ないので、議論するのは比較的簡単なケースです。。 vybab|vy|=kp
    • それらがsの最初のセクションに場合、ポンプするとき、新しい文字列の前半はで、2番目は。明らかにこれはの形式ではありません。a p + k b p k / 2 b k / 2 a p b p w waap+kbpk/2bk/2apbpww
    • 他の3つのセクションのいずれの引数もほぼ同じように実行され、とがインデックスで終わる場所になります。k / 2kk/2
  2. vxy 2つのセクションにまたがっています。この場合、ポンプダウンはあなたの友達です。繰り返しますが、これが発生する可能性のある場所(正確には3つ)がありますが、説明のために1つだけを行い、残りはそこから簡単に理解できるはずです。
    • が最初のセクションと最初のセクションの境界にまたがると仮定します。してみましょう(正確にどこ関係ないsおよび sがであるおよびが、我々は、彼らがためにいることを知っています)。次に、ポンプダウンすると(つまり場合)、新しい文字列ですが、をに分割できる場合、中間点は2番目セクションのどこかにある必要があるため、前半はa b v y = a k 1 b k 2 a b v y i = 0 s = a p k 1 b p k 2 a p b p s w w a a p k 1 b p k 2 a k 1 + k 2vxyabvy=ak1bk2abvyi=0s=apk1bpk2apbpswwa a p k 1 + k 2/ 2 b p vyapk1bpk2a(k1+k2)/2、後半はです。明らかにこれらは同じ文字列ではないため、とそこに置くことはできません。ap(k1+k2)/2bpvy

残りのケースはそこからかなり透過的でなければなりません-それらは同じアイデアで、最初のインスタンスの他の3つのスポットにとを置き、2番目のインスタンスに2つのスポットを置きます。ただし、すべての場合において、文字列を半分に分割すると順序が明らかに混乱するような方法でそれをポンピングできます。yvy


確かに、kozenのゲームはこれを実行する方法です。
ソクラテス

45

オグデンの補題

補題(オグデン)。してみましょう文脈自由言語であること。定ある毎のためにそのようなとの任意の方法マーキングの以上の位置(シンボル)「区別位置」と、次にのように書くことができる、そのようなNのZ L N 、Z 、Z 、Z = U 、V 、W 、X 、YLNzL Nzzz=uvwxy

  1. vxには少なくとも1つの位置があります。
  2. Nvwxには最大で位置があります。N
  3. すべてのために、。UがV のI wは、X 、I Y Li0uviwxiyL

例。ましょう。想定文脈自由である、と聞かせてオグデンの補題によって与えられた一定です。ましょ(に属する)、と我々は仮定マークシンボルとして識別全ての位置を(すなわち、第1の位置) 。ましょう分解することオグデンの補題から条件を満たしました。L N z = a N b N + N c N + 2 N L a N z z = u v w x y zL={aibjck:ij,jk,ik}LNz=aNbN+N!cN+2N!LaNzz=uvwxyz

  • またはに異なるシンボルが含まれる場合、シンボルの順序が間違っているためです。X Uは、V 2 wのX 2 Y Lをvxuv2wx2yL
  • と少なくとも一方には、のみが区別されているため、シンボルのみを含める必要があります。したがって、または場合、です。してみましょう。次に、つまりが除算することを意味し。してみましょう。次に、は属します。ただし、です。以来正確に持ってシンボルを、そして、X 、A 、A 、X L bは*のx L C *V L A +、P = | v | 1個のP ≤のNのp個のN q = N / p z = u v 2 q + 1 w x 2 q + 1 y LvxaaxL(b)xL(c)vL(A+)p=|v|1pNpN!q=N!/pz=uv2q+1wx2q+1yL u w y N p a z 2 N + N a v x c z 2 N + N個のC Z 'LのX L A +のx L Cv2q+1=a2pq+p=a2N!+puwyNpaz持っているシンボル。しかし、と両方にがないため、にはシンボル、これはを意味し、これはオグデンの補題と矛盾します。または場合、同様の矛盾が発生します。は文脈自由ではないと結論付けます。2N!+Navxcz2N!+NczLxL(A+)LxL(c)L

運動。Ogdenの補題を使用して、がコンテキストフリーではないことを示します。L={aibjckd:i=0 or j=k=}

ポンピング補題

これは、すべての位置が区別されるオグデンの補題の特殊なケースです。

補題。してみましょう文脈自由言語であること。定ある毎のためにそのような、のように書くことができる。、そのようなNのZ L 、Z 、Z = U 、V 、W 、X 、YLNzLzz=uvwxy

  1. |vx|>0
  2. |vwx|N
  3. すべてのために、。UがV のI wは、X 、I Y Li0uviwxiyL

パリフの定理

これは、オグデンの補題よりもさらに技術的です。

定義。ましょう。を定義しますここで、は中。Ψ ΣΣ *N N Ψ ΣW = M 1... MのNM I I WΣ={a1,,an}ΨΣ:ΣNn

ΨΣ(w)=(m1,,mn),
miaiw

定義。部分集合のと呼ばれる線形それを書き込むことができる場合: N N S = { U 0 + Σ 1 iはkを I U 、Iを いくつかのセットに対して  U iはN、N  と  IN }SNn

S={u0+1ikaiui: for some set of uiNn and aiN}

定義。のサブセットは、線形集合の有限コレクションの和集合である場合、半線形と呼ばれます。N nSNn

定理(パリフ)。してみましょう超える言語とすることが。場合文脈自由であり、その後準線形です。Σ L Ψ Σ [ L ] = { Ψ ΣW W L }LΣL

ΨΣ[L]={ΨΣ(w):wL}

運動。Parikhの定理を使用して、はコンテキストに依存しないことを示します。L={0m1n:m>n or (m is prime and mn)}

運動。パリクの定理を使用して、単項アルファベット上の文脈自由言語も規則的であることを示します。


1
質問がポンピング補題に明示的に言及しているため、jmadの答えを受け入れました。しかし、私はあなたの答えにとても感謝しています。ここですべての主要なメソッドを収集することは素晴らしいことです。
ラファエル

1
それは結構ですが、ポンピング補題はオグデンの補題の特定のケースであることに注意してください
;

もちろん。それでも、ほとんどの人は最初にPLを試します。多くはOLさえも知らない。
ラファエル

1
パリクの定理に基づいたギンズバーグとスパニエの定理は、有界の場合に文脈自由のために必要かつ十分な条件を与えます。math.stackexchange.com/a/122472
sdcvvc

他の操作に関して「区別されたポジション」を定義してください。または少なくとも非公式に?OLの定義は、多くの異なる場所で逐語的にコピーされていますが、これまでのところ、その意味を説明することを気にかけていませんでした。
-wvxvw

34

クロージャープロパティ

コンテキストに依存しない言語の小さなコレクションを作成したら、次のようにクロージャープロパティを使用できます。CFL

と仮定します。次に、クロージャープロパティX(Yと共に)により、ます。これは、我々が保持することがわかっていると矛盾するため、です。L 'C F L L 'C F L L C F LLCFLLCFLLCFLLCFL

これは、多くの場合、事前知識の少ない他の結果のいずれかを使用するよりも短くなります(エラーが少なくなります)。また、あらゆる種類のクラスのオブジェクトに適用できる一般的な概念です。

例1: 通常言語との交差

正規表現指定された正規言語に注意してください。eL(e)e

してみましょう。なのでL={ww{a,b,c},|w|a=|w|b=|w|c}

LL(abc)={anbncnnN}CFL

そしては通常の言語との交差の下で閉じられます。 L C F LCFLLCFL

例2:( 逆)準同型

ましょう。準同型L={(ab)2ncmd2nm(aba)nm,nN}

ϕ(x)={ax=aεx=bbx=cx=d

我々はϕ(L)={a2nb2na2nnN}.

今、と

ψ(x)={aax=ax=cbbx=bandL1={xnbnynx,y{a,c}nN},

を取得します。L1=ψ1(ϕ(L)))

最後に、と通常の言語をせると、言語。L 2 = L* B * C *L 3 = { n個のB N 、C N | N N }L1L2=L(abc)L3={anbncnnN}

合計で、ます。L3=L2ψ1(ϕ(L))

ここで、がコンテキストフリーであると仮定します。そして、は準同型、逆準同型、および正規集合との交差に対して閉じられているため、もコンテキストフリーです。しかし、はコンテキストフリーではないことを(必要に応じてPumping Lemmaを介して)知っているため、これは矛盾です。ことを示しました。C F L L 3 L 3 L C F LLCFLL3L3LCFL


交換補題

インターチェンジ補題 [1]よりも強い状況フリーネスに必要な条件提案オグデンの補題を。たとえば、次のことを示すために使用できます

{xyyzx,y,z{a,b,c}+}CFL

他の多くの方法に抵抗します。これが補題です。

してみましょう。次に、定数があり、任意の整数、任意のセットおよび任意の整数にがあり、文字列とCのL N 2 Q NL N = L Σのn個の M nは≥のM 2 K ≥を| Q n |LCFLcLn2QnLn=LΣnmnm2、ZiはQNをk|Qn|cLn2ziQn

  1. i = 1 kzi=wixiyi for、i=1,,k
  2. |w1|=|w2|==|wk|
  3. |y1|=|y2|==|yk|
  4. m|x1|=|x2|==|xk|>m2および
  5. I J [ 1 .. K ] 2wixjyiLnすべてのための。(i,j)[1..k]2

それを見つけることを意味適用及びよう1.-4。ただし、5は違反されます。元の論文で示されたアプリケーション例は非常に冗長であるため、ここでは省略します。Q nn,mQn

現時点では、自由に利用できる参考文献はありません。上記の定式化は、1981年の[1]のプレプリントから引用されています。同じプロパティが最近(再)発見されたようです[2]。


その他の必要条件

BoonyavatanaとSlutzki [3]は、Pumping and Interchange Lemmaに似たいくつかの条件を調査します。


  1. W.オグデン、RJロス、K。ウィンクルマンによる、文脈自由言語の「交換補題」(1985)
  2. T.Yamakami(2008)による通常言語と文脈自由言語の補題の交換
  3. R. BoonyavatanaおよびG. Slutzki(1988)による文脈自由言語の交換またはポンプ(DI)補題


19

設定されたnon-context-free-languagesは半決定的ではない(akare)ため、一般的な方法はありません。一般的な方法がある場合は、それを使用してこのセットを半決定できます。

2つのCFLが与えられた場合、それらの交差点もCFLであるかどうかを判断できないため、状況はさらに悪化します。

参照:Hopcroft and Ullman、「Introduction to Automata Theory、Languages、およびComputation」、1979


2
興味深い(ただし、より高度で自由回答の質問)とは、特定のメソッドを使用して非CFLであることが証明できる非CFLのサブクラスを分類することです。
カベ

計算可能な方法を探しているのではなく、ペンと紙での校正技術を探しています。後者は必ずしも前者を意味するものではありません。
ラファエル

13

Ogdenの条件(OC)のより強力なバージョンは

バデル・モウラの状態(BMC)

言語定数が存在する場合BMCを満たすあれば、このようなこと、我々はそれを「区別」位置にラベルを付けるとし、位置を「除外」を場合、次のように書くことができます。 N Z LのD Z E Z D Z > N E Z + 1、Z = U 、V 、W 、X 、YLΣnzLd(z)e(z)d(z)>ne(z)+1z=uvwxy

  1. E V X = 0d(vx)1およびe(vx)=0
  2. d(vwx)ne(vwx)+1および
  3. すべての、はます。Uは、V 、Iを wは、X 、I Y Li0uviwxiyL

がBader-Mouraの条件を満たす場合、言語であると言います。LLBMC(Σ)L

我々は持っている BMCがOCより厳密に強いですので、。CFL(Σ)BMC(Σ)OC(Σ)

参照:Bader、C.、Moura、A.、A Generalization of Ogden's Lemma。JACM 29、いいえ。2、(1982)、404–407


2
理由だけではなく、すべての方法DömösiとKudlekの一般化に行かないdx.doi.org/10.1007/3-540-48321-7_18 ...
アンドラス・サラモン

@AndrásSalamon:知りませんでした!:-) ...たぶん、OC、BMC、PCは特別なケースであると言う新しい回答として投稿することができます(すべて区別されているか、除外されたポジションはありません)。
Vor

あなたはそれを投稿することを歓迎します、今は時間がありません。
アンドラスサラモン

この答えは例から利益を得るでしょう。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.