ポンプレンマの長さ制限はどこから来るのですか?


8

言語について L ポンピング長さ p、および文字列 sL、ポンピング補題は次のとおりです。

通常版|s|p、その後 s 次のように書くことができます xyz、以下の条件を満たす:

  1. |y|1
  2. |xy|p
  3. i0:xyizL

コンテキストフリーバージョン|s|p、その後 s 次のように書くことができます uvxyz、以下の条件を満たす:

  1. |vy|1
  2. |vxy|p
  3. i0:uvixyizL

私の質問はこれです。誰かが規則性(文脈自由性)が上記の1番目と2番目の条件をどのように暗示するかについて簡潔で明確な説明を与えることができますか?ポンピングの長さは、(有限の)プロパティ(それぞれ、有限数の状態または有限のプロダクションルールのプロパティ)によって決定されます。3番目のプロパティは、状態(プロダクションルール)が任意に何度もスキップまたは繰り返されることを保証しますが、最初のそして2番目の条件は発生しますか?彼らはどのように正当化されますか?


私はあなたの質問を取得しない場合がありますので、私はコメントしていますが、それは私には思える明らかにあなたは、少なくとも長さの単語を持っている場合は、そのp1、単語を3つの部分に分割できます。 xyz そのような |y|1 そして |xy|p。単純にx 空っぽになる y 最初の文字であり、 z残り。私はあなたの質問を完全に誤解しましたか?
PAL GD

@PålGD、補題の他の条件(ポンプ可能な部分文字列の長さが0でないこと、および任意のポンプ能力)のコンテキストではわかりません。私が同意する、少なくとも長さの文字列がx 最初の文字列が長さになるように部分文字列に分割できます xが、他の条件を維持している場合、自明性(私にとって)は引き継がれません。多分私は元の投稿を明確にする必要がありますか?
BlueBomber 2013年

いいえ、3番目の状態を踏まえると、もう少し注意する必要があります。お気づきのように、最初の2つの条件は何の役にも立ちません。あなたも気づくようにy空ではないこと(実際、最初の条件がそうであるように)は、実際に "ポンプ"する立場になります。
–PålGD 2013

あなたの質問にはコンテキストフリーのPLが必要ですか?これらの条件のいくつかを個別に検討することはあまり意味がありません。
ラファエル

@BlueBomber、どちらの場合も条件なし(1)ポンピングは無意味です(常に空のサブストリングを選択できます)。通常の言語の場合、(2)はn 言語のDFAが含まれているシンボル n+1 州、およびDFAが n 状態、1つは繰り返されている必要があります(そしてあなたはサイクルを通過することができます k回、文字列をポンピングします)。
フォンブランド2013年

回答:


8

最初の条件、すなわち |y|1、何か面白いことを言いたい場合は明らかに必要です: y=εxyizL 取るに足らない、そして常に成り立つ。

2番目の条件、つまり |xy|p、は「任意」です。補題を落とすと、補題はまだ興味深いことを言いますが、ステートメントが弱くなるため、それでも真実です。

しかし、ポンピングレンマを何に使用するかを覚えておいてください。すべての有効な分解が次のようになるような(十分に長い)単語を見つけたいx,y,zポンプに失敗します。したがって、このような分解をできるだけ少なくすることは有用です。我々がそうであるようにラッキーは、ポンプの補題の証明は容易にそこにいること、すなわち、強い制限をもたらしているとポンプ輸送可能な分解をします|xy|p定数 p

今、私たちは有限数の接頭辞だけを反駁する必要があります xy(もちろん、無限に多くの異なる継続があります)。あなたが見ればサンプルアプリケーション、あなたは彼らがこの制限を多用することがわかります。


1
条件2は、他の点では「任意」です。たとえば、(2)を次のように置き換えると、同等の補題が与えられます。|yz|<p。ポンピング補題のさらに強力なバージョンがあり、yパーツはどこにでも配置できます(最初または最後である必要はありません)。一般的なバリアント(|xy|<p、 あれは、 y冒頭の隣にあります)は、便利です。
Ran G.

@RanG。バージョンの位置はy任意は強いですか?私はそれがどのように弱くなるかを説明したと思います。それともそのバージョンは他のものを述べていますか?
ラファエル

柔軟性が高まるため、より強力です。つまり、ポンプで送りたい部分が単語の最初にない可能性があります。確かに、それはまだ同等のものを持っています|xy|<pあなたが言うように「弱い」わけではないが、それを最初に正確に見つける必要がないため。考えるオグデンの補題最も一般形として...
蘭G.

1
@Raphael、例えば上記のバージョンはそれを証明するのに十分ではありません {abncn:n0}aa+bc 定期的ではありません( a)、ただし yどこにでも横たわるのは簡単です。
フォンブランド2013年

@vonbrand:Ranの意味がわかりました。ありがとうございます。
ラファエル

3

通常の言語のポンピングレンマについては、いくつかのポインタのみを提供します。推論は他のものと十分に似ています。のことを考えるx の一部として s 最初に最初のループを開始する前にすべてによって生成されます。 y最初のループの特定のループで生成されたすべてのものとして。そしてz 最初にループした後に生成されたすべてのものとして。

  1. 以来 |s|p、および p は、言語を受け入れる最小有限オートマトン(例えば)の状態数です。オートマトンはループしている必要があります(最大で p1それ以外の場合は移行が可能でした)。したがって、y空ではありません。ある長さの文字列があるので、それを受け入れるオートマトンはある時点でループしている必要があるという事実を述べています。|y|>1 正当化されます。

  2. 以来 y あなたが最初のループを通過するのは初めてです xその前のすべてです。オートマトンの状態を2回以上訪れていません。あるので|p| オートマトンの状態、およびそれらのすべてを訪問していない、あなたが持っている |xy|<p

これらはサポートを必要とするそれほど多くの仮説ではありません。これらは、有限オートマトンの観点からポンピングレンマがどのように考え出されたかに基づいた事実の記述です。


2

オートマトンの状態を移動するにつれて、最終的にサイクルにぶつかります。サイクルはy。空の単語をポンプする意味がないので、条件1です。xy最初のサイクルを見つけるために読み取る必要があったシンボルの数です。これは、状態の数を超えることはできないため、条件2になります。ほぼ定義上、サイクルは何度でも繰り返すことができるため、条件3になります。

コンテキストフリーのバリアントは非常に似ています。最初の条件は、有用なサイクルのみを探していることです。2番目の条件は、非端末が不足するためにサイクルが見つかることを示しています。3番目の条件は、サイクルが得られたら、それをポンピングできることです。コンテキストフリーの場合のサイクルを確認するには、解析ツリーを描画する必要があります。


2

ポンピング補題のバリアントがあります。私はあなたのものを使います。

実際には3つの長さの条件があることに注意してください。欠けているのは、単語の最小の長さの合計です。第二条件で扱います。

(大きな)一言で言えば:

サブツリーは、フリンジに最大1つの非終端を持つ構文解析ツリーのサブパートと呼びます。ポンピング補題は 、フリンジの非終端がサブツリーのルートと同じである再帰サブツリーを使用します。解析ツリー全体がサブツリーです。

ここで定義されているサブツリー(および再帰的なサブツリー)が問題の中心です。それらの存在は、文脈自由に直接関係しています

1番目の条件:パースツリーに非生産的な(terminaシンボルのないフリンジ)再帰サブツリーが存在する場合、それが短絡される可能性があるため、フリンジに終端シンボルが含まれていることを常に確認します。

有限性の問題:2回使用されます。再帰的なサブツリーを含まないサブツリーがある場合、サブツリー内のパスには同じラベルが2倍ありません(サブツリーのルートを除く)。サブツリーは有限の深さ(非端末の数以下)で有限に分岐しているため、そのようなサブツリーの有限のセットがあり、フリンジで有限の文字列のセットのみが生成されます。数が有限であるため、フリンジの長さには上限があります。逆に、フリンジが境界を超える場合、それは再帰的なサブツリーを含んでいることを示しています。

「欠落状態」:その「欠落状態」s∣≥p 構文解析ツリー内に少なくとも1つの再帰的サブツリーがポンピングできるように、ストリングが十分に長いことを確認してください。

2番目の条件:解析ツリー内の別の再帰的サブツリーを支配することも含まないことも、常に再帰的サブツリーをポンピングするために取得できます。含まれている場合は、他の再帰サブツリーを取得します。解析ツリーは有限なので、これは終了します。あなたはサブツリーで終わる(のためにvy そしてのために x)再帰的なサブツリーを含まず、上記の有限性分析は上限の存在を保証します。

通常の文法の場合、あまり分岐しないサブツリーがあります。これは、一部の文字列が次のように置き換えられたCFケースと本当に同じです。ϵ

CFの場合、文法がCNFであると仮定することで、補題またはそのバリエーションの証明に便利です(補題の変形にも依存します)。

正式な証明の多くは、数学的な表現であり、理解ではありません。

これは興味深い演習でした。

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