{xy ∣ | x | = | y |、x≠y}はコンテキストフリーです


43

コンテキストフリーと思われる言語に関する次の質問に出くわしたことを覚えていますが、事実の証拠を見つけることができませんでした。おそらく質問を思い出したでしょうか?

とにかく、ここに質問があります:

言語はコンテキストに依存しませんL={バツy|バツ|=|y|バツy}


5
ああ、それは良いものです!<3
ラファエル

回答:


35

要求はコンテキストに依存しません。L

証明のアイデア:前半と後半の間に少なくとも1つの違いがなければなりません。必ず生成し、残りは任意のままにする文法を与えます。

証明:簡単にするために、バイナリアルファベット仮定します。証明は、他のサイズに簡単に拡張できます。文法Gを考えてみましょう。Σ={ab}G

SABBAAaaAaaAbbAabAbBbaBaaBbbBabBb

それが生成することは非常に明確です

L(G={w1kバツw2v1k+lyv2l|w1|=|w2|=k|v1|=|v2|=lバツy}Σ;

疑わしい者はペアx y で大文字小文字を区別してlで入れ子になった帰納を行うかもしれません。現在、w 2v 1の通勤(直感的に言えば、w 2v 1は両方とも単語の残りから独立して選択されたシンボルを含むため、シンボルを交換できます)。したがって、xyは(それぞれの半分で)同じ位置にあります。これは、GのためLG = Lを意味しますklバツyw2v1w2v1バツyLG=LG 言語に他の制限を課しません。


興味のある読者には、2つのフォローアップの問題が発生する場合があります。

演習1 PDAを考えてください!L

演習2{xyz|x|=|y|=|z|,xyyzxz}


この文法を使用すると、A a B b B a t h e n B bのような文字列を生成できます。その後、Sをabbaとして取得しました。これは生の言語Lとは異なりますが、ここに間違いはありますか?SAB Aa BbBathenBb
George.Zhao

@ George.Zhao私は従わない。クリアリー、B 、B LX = BおよびY = BabbaLバツ=aby=ba
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.