ポンピングレンマ証明の何が問題になっていますか?


8

言語は明らかに規則的です。たとえば、正規表現と一致します。しかし、次のポンプ補題の議論は、それが規則的でないことを示しているようです。何が問題になっていますか?L={02n | n0}(00)

入力をポンピングレンマの要件を満たすとして分割する方法を見つけましたが、すべてのに対しては限り  ません。それは言語が規則的ではないことを意味しませんか?sxyzxyizLi

より詳細には、定期的な言語のためのポンピング補題は、言語の場合には、言う 規則的である、長さ、ポンプが存在する任意の文字列を指定するようなしてのように書くことができなどをそれ:Lp1sL|s|>ps=xyz

  1. |y|1
  2. |xy|p
  3. xyizLのすべてのための。i0

それで、を取り、それを(つまり、、、)。これは1と2を満たしますが、場合、が得られますが、これは含まれていません。 は長さが奇妙なので。結局のところ、その言語は規則的ではないようです。s=02ps=ϵ002p1x=ϵy=0z=02p1i=0xyiz=ϵ0002p1=02p1L


これは、通常の言語でポンピングレンマを使用する際の一般的な間違いを示す参考質問として意図されています。質問の元のバージョンで問題を見つけてくれたArielに感謝します。


4
ポンピング補題は、ある長さより大きい単語の場合、そのような分解が存在すると述べています。機能しない特定の分解を示しましたが、長さが2より大きく単語を使用してい ます。(神は応答のために私の魂を憐れんでください)py=02
アリエル

以前の投稿にはかなり良いガイドがあります。たとえば、cs.stackexchange.com / questions / 1031 /…
Ran G.

2
@RanG。この投稿は、言語が規則的でないことを証明する優れたガイドですが、誰かがポンプレンマを適用しようとして、この間違いを犯したという質問が頻繁に寄せられるようです。このような証拠の誤りを指摘すること(たとえば、この質問の重複としてマークすることによって)を指摘することは、「これは適切に行う方法です。アプローチと正しいものです。」
David Richerby、

2
@DavidRicherbyあなたは正しい、この質問はポンプを使用して非規則性を示すことについてではありません。補題の最も一般的な誤用は、数量詞の誤解であり、私が言及した質問のガイドは、その問題に対処しようとします(たとえば、太字で書いて、それを分割するためのすべての方法など)
Ran G.

補題は、言語が規則的である場合に機能する分割があることを保証します。規則的でないことを証明するには分割が機能しないことを証明する必要があります。
フォンブランド、2015

回答:


6

問題は量指定子にあります。ポンピングレンマによれば、文字列は、として記述できるため、3つのプロパティが保持されます。最初の2つのプロパティを保持するとして記述するすべての方法が、3番目のプロパティも保持するというわけではありません。s|s|p xyzxyz

言語場合、次のように進めます。最初に、が必要であることに注意してください場合、、、をとらざるを得ないので、あなたはすでに質問で示しましたこれは機能しません。したがって、を使用すると、を(、、)。私たちは持っている、およびすべての{02nn0}p2p=1x=ϵy=0z=02p1p2s=02ps=ϵ0002(p1)x=ϵy=00z=02(p1)|ϵ00|p|00|>1(00)i02(p1)Li0。したがって、最初に考えた分解が機能しなかったとしても、すべてのプロパティを満たすとして文字列を分解する方法がいくつか存在します。xyz

言語が規則的でないことを示すには、最初の2つのプロパティを満たすへのすべての分解が3番目のプロパティを満たすことができないことを示す必要があります。1つの分解が機能しないことを示すだけでは十分ではありません。xyz

ポンピングレンマが現状のままである理由を理解するには、証明について考えることが役立ちます。言語が正規の場合、一部のDFAで受け入れられます。そのDFAにはいくつかの状態があります。それをと呼びます。DFAより長い文字列を読み込むことたび鳩の巣原理により、、それは二回、いくつかの状態を訪問しなければならない:言う状態 。ここで、  はへの最初の訪問まで(およびそれを含む)読み取られた入力の部分であり  、  は最初の訪問の後、2番目(少なくとも1文字でなければなりません)を含みそれまでを読み取られた部分であり、  は残りの部分です。しかし、これで受け入れる必要があることがわかりますは、開始状態から ppqxqyzxzxqおよびは、から受け入れ状態に移動します。同様に、すべての正のに対して受け入れる必要があります。これは  、を繰り返すたび  にから戻るため  です。入力の、、 への分解は、オートマトンによって完全に決定され、オートマトンは言語によって(一意ではないが)決定されます。したがって、分解を選択することはできません。言語が規則的である場合、いくつかの分解が存在します。言語が規則的でないことを示すには、すべての分解が失敗することを示す必要があります。zqxyiziyqqxyz


これは良い説明ですが、cs.stackexchange.com / a / 1051/10511を読んだ後、私は迷っています。項目4を見てください。彼は、文字列を3つの部分文字列に分割する方法を検討しています。私がそれを読む方法は、私が通常の言語を与えられていると仮定すると、文字列を分割するすべての方法でそれをポンプできるはずだということです。ではエラーはどこにあるのでしょうか?これは本当に私を理解していません。夜は通常の睡眠が取れなくなるほど。
flashburn

1
@flashburn通常ではないはずの場合、分割は機能しません。ここでは見つける1我々はそれがこの補題を使用して非正規だ表示することはできませんので、作品を。
ラファエル

@flashburn補題の要件がどこから来ているのかを示すことにより、ポンプ補題が真である理由についての説明を追加しました。
David Richerby

1
@flashburnまた、あなたの研究があなたにストレスを感じすぎて、適切に眠ることができない場合は、大学のカウンセリングサービスとチャットする必要があります。ポンピングレンマは一種の重要ですが、あなたの健康と幸福ははるかに重要です。
デビッド・リチャービー2015

2
言うまでもなく、適切な睡眠、栄養、運動はあなたの心をより良くするでしょう、@ flashburn。こちらもご覧ください
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.