プッシュダウンオートマトンを使用したコンテキストフリー言語のポンピング補題の証明


21

通常の言語ポンピング補題は、学習した言語を認識する有限状態オートマトンを検討し、状態数よりも長い長さの文字列を選択し、鳩の巣の原理を適用することで証明できます。ただし、コンテキストフリー言語ポンピング補題(およびやや一般的なオグデンの補題)は、学習した言語のコンテキストフリー文法を検討し、十分に長い文字列を選択し、解析ツリーを調べることで証明されます。

2つのポンピングレンマの類似性を考えると、文法ではなく言語を認識するプッシュダウンオートマトンを検討することにより、コンテキストのないものも通常の方法と同様の方法で証明できることが期待されます。しかし、私はそのような証拠への参照を見つけることができませんでした。

したがって私の質問:プッシュダウンオートマトンのみを含み、文法を含まないコンテキストフリー言語のポンピング補題の証拠はありますか?

回答:


16

私は再びこの問題について考えました、そして私は完全な証拠を持っていると思います。それは私が予想したものよりも少しトリッキーです。コメントは大歓迎です!更新:これが誰かに役立つ場合に備えて、arXivでこの証明を提出しました:http : //arxiv.org/abs/1207.2819

してみましょうアルファベットオーバー文脈自由言語とすることが。レッツ認識してプッシュダウンオートマトンもスタックアルファベットで、。示す の状態の数。一般性を失うことなく、遷移がスタックの最上位シンボルをポップし、スタックにシンボルをプッシュしないか、前の最上位シンボルと他のシンボルをスタックにプッシュすると仮定できます。LΣALΓ|A|AA

を定義します およびポンピングの長さで、すべてのがフォームの分解を持っているように、及び。p=|A|2|Γ|p=|A|(|Γ|+1)pwL|w|>pw=uvxyz|vxy|p|vy|1n0,uvnxynzL

してみましょうように。してみましょうのための最小限の長さの受諾パスで(の遷移のシーケンスとして表さ)、私たちがすることによって、その長さを示す。に対して定義することができます、受け入れパスの位置にあるスタックのサイズ。すべてのについて、の3つのインデックスセットとして上のレベルを定義します 。wL|w|>pπwA|π|0i<|π|siiN>0Nπi,j,k0i<j<kp

  1. si=sk,sj=si+N
  2. 、などのすべてのninjsisnsj
  3. すべてのためように、。njnksksnsk

(この例については、レベルを示す以下のケース2の図を参照してください。)N

私たちは、レベルの定義の最大として、よう持っている レベルのを。この定義は、次のプロパティによって動機付けられています。パス上のスタックのサイズがそのレベル超えた場合、レベルを超えるスタックシンボルはポップされません。ここで、2つのケースを区別します:(オートマトン状態とスタックの最上位シンボルの同じ構成が最初のステップで2回検出されることを知っている場合、またはlπNπNπlll<plp+1πlp、および任意の回数繰り返すことができるスタッキングとアンスタッキングの位置が必要です。そこからとを構築します。vy

ケース1. 。私たちは、の構成定義の状態のカップルとしてとのシーケンススタックシンボル(ここで、サイズのスタックが未満にそれらをパディングで表すことで、我々が使用する理由である特別な空白のシンボルと定義するときの)。定義により、があります このような構成は未満です。したがって、の最初のステップでは、同じ構成が2つの異なる位置、たとえばで2回発生します。で示すl<pAAlll|Γ|+1p|A|(|Γ|+1)lpp+1πi<ji^(または )ステップ(または )で読み取られたの最後の文字の位置。我々は持っている。したがって、、、、を因数できます。。(によって、の文字をから排他的までから表します。)構成により、。j^wijπi^j^w=uvxyzyz=ϵu=w0i^v=wi^j^x=wj^|w|wxywxy|vxy|p

また、表示するために持っている、これは私たちの観察上記から:より深いスタックシンボルなので、区別する方法はありませんポップされることはありません我々の定義に従って等しく設定、のために受け入れパスのものから構築されるとの間のステップ繰り返すことにより及び、回。n0,uvnxynz=uvnxLluvnxwijn

最後に、もあります 、もしので我々はステップで同一の構成を有しているので、その後、およびで、最小性と矛盾する受け入れパスになります。|v|>0v=ϵijππ=π0iπj|π|wπ

(注:この場合は、一番上のハードコーディングによって正規言語のためのポンピング補題を適用することになることために適切であるオートマトンの状態、スタックシンボルをそれを確実にするために十分に小さいがこのオートマトンの状態の数よりも多いです。主なトリックは、遷移を調整する必要があること です。)ll|w|ϵ

ケース2 。ましょうなりレベルの。任意のスタックサイズ、に、最後のプッシュ最初のポップ。定義により、および。これがこの構造の例です。図面を単純化するために、後で行う必要があるパス位置と単語位置の区別を省略します。lpi,j,kphsihsj lp(h)=max({yj|sy=h}) fp(h)=min({yj|sy=h})ilp(h)jjfp(h)k

ケース2の構造の図解。図面を簡略化するために、パスの位置と単語の位置の区別は省略されています。

スタックサイズの完全な状態は、次によって形成されるトリプルであると言います。h

  1. 位置のオートマトン状態lp(h)
  2. 位置の一番上のスタックシンボルlp(h)
  3. 位置のオートマトン状態fp(h)

あるの可能なフル状態が、およびとの間のスタックサイズと 、そう、pidgeonhole原理により、そこに存在する2スタックサイズと 例えばフル状態すなわちでとと同じです。ケース1と同様に、、、、およびによって、対応する位置で読み取られるの最後の文字の位置を定義します。因数ここで、pp+1sisjg,hsig<hsjghlp(^g)lp(^h)fp(^h)fp(^g)wπw=uvxyzu=w0lp(^g)、 、 、 、および。v=wlp(^g)lp(^h)x=wlp(^h)fp(^h)y=wfp(^h)fp(^g)z=wfp(^g)|w|

この因数分解により、(レベルの定義によりため)。|vxy|pkp

また、ことも示さなければなりません。これを行うには、を繰り返すたびに、同じ状態と同じスタックトップから開始し、スタック内の現在の位置の下にポップしないことを確認します(そうしないと、現在の位置で再度プッシュする必要があり、違反しますの最大値)ので、同じパスをたどり、同じシンボルシーケンスをスタックにプッシュできます。の最大値と最小値により、を読み取りながら、スタック内の現在の位置よりも下にポップしないため、オートマトンでたどるパスは、を繰り返した回数n0,uvnxynzLvlp(g)Alp(h)fp(h)xv。ここで、を繰り返すのと同じ回数を繰り返すと、同じ状態から開始するため、繰り返しで同じシンボルシーケンスをスタックにプッシュしたため、を超えてポップしないため最小値によってスタックされ、の同じパスをたどり、スタックから同じシンボルシーケンスをポップできます。したがって、からの受け入れパスは、受け入れパスから構築できます。wvvvfp(g)Auvnxynzw

最後に、もあります、ケース1と同様、および場合、および削除することにより、受け入れパスを短くすることができます。。|vy|>1v=ϵy=ϵwπlp(g)lp(h)πfp(h)fp(g)

したがって、両方のケースで適切な因数分解が行われ、結果が証明されます。

(クレジットは、この証明を手伝ってくれたMarc Jeanmouginに送られます。)


7

はい、可能です。表面構成の概念を使用できます。それらは昔クックによって紹介されました。これにより、ポンピング補題のバージョンを簡単に入手できるはずです。

表面構成に関しては、LogCFLに関するほとんどすべての論文にその定義が記載されているはずです。これが最近の論文で、ここが論文です

もっと精力的な人が詳細を説明できるかもしれません!


回答ありがとうございます!はい、オートマトンの状態と一番上のスタックシンボルの組み合わせを見るのはかなり自然です。しかし、私はまだこの問題について考えており、詳細を把握することができません...助けに感謝します。:-)
a3nm

3

完全を期すため、この方向の証明への参照。

A.Ehrenfeucht、HJHoogeboom、G.Rozenberg:協調ペアシステム。I:ダイクの言葉と古典的なポンピングRAIRO、Inf。テオール。適用 20、405-424(1986)

抽象。協調ペアシステムの概念[...]は、プッシュダウンオートマトンの概念に非常に密接に対応しています(別の定式化です)。この論文では、cpシステムでの計算の分析を介して、コンテキストフリー言語のポンピング特性を取得する可能性を調査します。これを行うために、ダイクの単語の組み合わせ構造を分析します。調査するダイク語の特性は、cpシステムでの計算の組み合わせ分析に由来します。古典的なポンピング補題を証明するために、この対応を使用する方法を示します。


1

GéraudSénizerguesとこの問題について議論するとき、彼はこの結果をすでに証明しているSakarovitchによるこの論文を私に指摘しました。この証拠は、オグデンによるこの論文にさかのぼるようです。

参照:

  • サカロビッチ、ジャック。言語固有のアルゴリズムを決定します。(フランス語。英語の要約)。数学。Systems Theory 14(1981)、no。3、247–288。
  • ウィリアム・F・オグデン。1969.スタック言語の挿入定理。コンピューティング理論に関する最初の年次ACMシンポジウムの議事録(STOC '69)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.