通常のポンピング補題を使用した証明


8

2つの質問があります。

  1. 次の言語を検討します 言い換えれば、は長さが均一な回文ではありません。この言語は、その補語が規則的でないことを証明することによって、規則的でないことを証明しました。私の質問は、補数を超えて使用せずに、ポンピングレンマを使用してそれを証明する方法です。w

    L1={w{0,1}u{0,1}:w=uuR}.
    w
  2. してみましょう 等価クラスを使用することで、この言語が規則的でないことを証明しました。ポンプレンマを使用してそれをどのように証明できますか?

    L2={w{0,1}w has same number of 101 substrings and 010 substrings}.

編集ありがとうございます:)


注意。ブラウザのL_1の説明に「存在しない」という記号が表示されませんL1。心配しないでください:それはあるソースであり、および変更のブラウザが助けました。
Hendrik Jan

回答:


7

すべての非正規言語がポンピングレンマのテストに失敗するわけではありません。ウィキペディアには、非正規言語のうっとうしい複雑な例があり、それを汲み上げることができます。したがって、言語が非正規であっても、ポンピングレンマを使用してこの事実を証明できない場合があります。

しかし、ポンピングレンマを使用して、最初の言語が規則的でないことを証明できることがわかりました。2番目についてはわかりません。

主張:はです。L1

証明:ポンピング補題による。してみましょうポンプ長さ。(私はではなくアルファベットを使用します。)場合、にある文字列、それをではないポンプします。で、そう、正規ではないでしょう。{ B } { 0 1 } 、P = 1 B B L 1 B B L 1 L 1p{a,b}{01}p=1abbaaL1aabbaaL1L1

場合、文字列取ります。(を後で何にするかを理解します。)次に、文字列を分割することを検討します。ここで、、、およびです。a p b b a N N x y z x = a p k y = a k z = b b a Np>1apbbaNNバツyzバツ=apky=akz=bbaN

次に、この文字列を回ポンピングします。(私たちは、私たちが望むものを見つけ出すだろう後でする。)我々は、文字列を取得与え、。i x y i z a p k a i k b b a N = a p k + i k b b a NバツyzapkakbbaN=apk+kbbaN

さあ、バックアップしましょう。まず、を選びました。次に、選択が行われました。次に、を選びました。私たちは何を把握したい、任意の選択のために、なるように選択する、我々が選択することができます、この文字列は数にすることにより回文になり、左にsが上の数と同じにします権利。(常に長さが均一になります。)kはI N K [ 1 P ] I ANkNk[1,p]ia

したがって、常に取得する必要があります。数学を試してみると、選択する必要があることがわかりますそしてます。N = p + p i = p / k + 1pk+ik=NN=p+p!i=p!/k+1

要約すると、そして、文字列を選択しました。次に、文字列がであるで構成されるように、いくつか選択しました。次に、を選びました。文字列をポンピングしてを取得しまし。a p b b a N k a p k y b b a N y = a k i = p / k + 1 a p - k y i b b a N = a p - k a i k b b a N = a p - kN=p+p!apbbaNkapkybbaNy=aki=p!/k+1apkyibbaN=apkaikbbaN=apk+ikbbaN

しかし、。そして。数だから、両端には同じであるので、それはではないですので、文字列は、偶数長回文であるので、定期的ではありません。 N=p+pL1L1pk+ik=pk+(p!k+1)k=pk+p!+k=p+p!N=p+p!aL1L1


完璧な答えです!
farseer

助けてくれてありがとう。アイデアは文字列を賢く選択したいです。
farseer

両方の言語に答えたいと思いますが、2番目の言語は苦痛に見えます!最初の答えに私を導いたアプローチ、実際に可能であることを証明しようとすることでした-私が最後のケースに到達し、それを証明できなかったとき、上記の文字列を構築する方法を見ることができました。L1
usul

@usulどうやってこれにたどり着いたのですか:、?N=p+p!i=p!/k+1i=p!/k+1
Dima Knivets 2017年

3

質問1では、文字列が適切な反例です。の長さがどうであれ、それは因数でなければなりません、それで私たちはそれを十分にポンプし、を得ます最初はゼロ。0p12p0p+p!yp!p+p!


1

長い考えの末、私は2と答えたと思います。

文字列(010)^ N(101)^ Nを選択します。Nはポンピング長です。どのyを選択しても、xy ^ 0zには101から010が追加されます。アイデアは、文字列の最初の部分に101のサブ文字列を追加するか、010のサブ文字列をいくつか削除することだけです。


残念ながら、動作しないようです:( String 010010101101(N = 2)には、それぞれ3回(!)のオカレンスがあります。3番目の文字を削除すると、010010101101が返されます。これには、010の3回のオカレンスがあります。 ...
Hendrik Jan

はい!しかし、101の4つの発生があります。したがって、101個のサブ文字列の量!= 010の量
12:29の

おっとっと。ごめんなさい。私はあなたが正確に言ったことを読んだはずです:「101個のサブストリングを追加してください」。+1(ケースはクローズ)
Hendrik Jan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.