これらは、CF以外の補完を持つCF言語の証明に対する有効な反例ですか?


7

誰かが、文脈自由でない言語の例に、文脈自由でない補完物を求めました。

最初の答えは言う:

言語 L1={www{a,b}}は文脈自由ではありません(ポンピングレンマを使用して表示できるため、ここを参照してください)。その補集合はコンテキストフリーです(ここに示すよう)。L2={a,b}L1

たぶん実際にはこれは真実かもしれませんが、上記の情報を考えると、これがそのような言語の有効な例であると私は確信していません。私は以前にがCFではないことを証明したので、それを受け入れることに問題はありません。ただし、CFGと与えられた証明は間違っています。私は本当に単純な反例を示すことができます:文字列。明らかにの形式ではないのでです。ただし、は、説明されているCFGを使用して構築することはできません。LL2s=aaabaasL2wwsL2

証明:文字列長さが偶数であるため、文字列はまたはの形式ではありません。したがって、それはまたはの形式である必要がありますが、ストリングの両方の半分の中央に同じ文字()があるため、これは不可能です。したがって、は矛盾します。sABABBAasL2

2番目の答えは言う:

ウィキペディアで見られる例:put、。PDAを定義することで、とがコンテキストフリーであることが簡単にわかります。あなたはそれらが決定論的文脈自由言語であることに気づくことができます、それは補完の下で閉じられたクラスです。したがって、は、文脈自由ではない補語持つ文脈自由言語です。A={anbncm}B={ambncn}A¯B¯A¯B¯AB={anbncn}

これは反証するのがさらに簡単です。確かに、決定論的な文脈自由言語は補完の下で閉じられていますが、それらは結合の下で閉じられていません。したがって、言語は必ずしも文脈自由ではありません。A¯B¯

私は現在、まだTheory of Computingを受講しているので、何か問題が発生したか、明らかな真実を見落とした可能性があります。誰かが私の主張を否定できますか?そうでない場合は、CF以外の補完機能を備えたCF言語の有効な例を提供できますか?

回答:


8

最初の質問については、 aaabaa 文法によって生成されます:

SBaBを使用して aaaBaを使用して BaBaaaaBaaを使用して BaBaaaabaaを使用して Bb
文字列が次のように分割されるとき、あなたはそれを仮定するので、逆を証明するあなたの試みは正しくありません B、によって生成された部分 によって生成されるパーツと同じ長さでなければなりません B。上記の導出が示すように、これは真実ではありません。

もう1つは、確定的CFLのクラスが和集合の下で閉じられていないことです。ただし、CFLのクラスは労働組合のもとで閉鎖されています。つまり、2つのDCFLの結合は必ずしもDCFLではなく、CFLです。引数「¯ そして B¯ 決定論的なコンテキストフリーであるため、コンテキストフリーであるため、 ¯B¯ is context-free」は、引用する証明に暗黙的です。

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