对于正则语言 a*b*,是否存在它的非常规超集?
For regular language a*b*, is there a superset of it which is non-regular?
语言A = a*b*
绝对是正规语言。
但是我想知道它是否有一个超集是非常规语言?并且超集必须使用相同的字母表 {a,b}
是的,有。取B=bnabn(其中n>0),即以b
开头包含的回文语中间有一个 a
。这种语言是非常规的,因为 pumping lemma 不适用于它。它也与 A
完全不相交,因为 B
中的每个单词都包含 ba
子串,而 A
中的单词 none 包含
A
和 B
的并集因此是 A
的非常规超集。
也很容易证明并非所有常规语言都可以这样扩展,因为例如给定字母表上的每个可能单词的语言根据定义都是常规的。由于无法在同一字母表上制定该语言的非平凡超集,因此 "Kleene star" 语言在给定字母表上的所有超集也将是规则的。
更一般地,任何补语 (CA=Σ*\A) 是有限的语言 A 都不会有非常规超集,因为 CA 及其所有子集根据定义都是正则的 (有限语言总是正则的),因此任何of them with A is also regular (两种正则语言的并集是正则的).
语言A = a*b*
绝对是正规语言。
但是我想知道它是否有一个超集是非常规语言?并且超集必须使用相同的字母表 {a,b}
是的,有。取B=bnabn(其中n>0),即以b
开头包含的回文语中间有一个 a
。这种语言是非常规的,因为 pumping lemma 不适用于它。它也与 A
完全不相交,因为 B
中的每个单词都包含 ba
子串,而 A
中的单词 none 包含
A
和 B
的并集因此是 A
的非常规超集。
也很容易证明并非所有常规语言都可以这样扩展,因为例如给定字母表上的每个可能单词的语言根据定义都是常规的。由于无法在同一字母表上制定该语言的非平凡超集,因此 "Kleene star" 语言在给定字母表上的所有超集也将是规则的。
更一般地,任何补语 (CA=Σ*\A) 是有限的语言 A 都不会有非常规超集,因为 CA 及其所有子集根据定义都是正则的 (有限语言总是正则的),因此任何of them with A is also regular (两种正则语言的并集是正则的).