📜  门| GATE IT 2006 |第82章

📅  最后修改于: 2021-06-30 00:38:31             🧑  作者: Mango

令L为常规语言。考虑以下L的构造:
重复(L)= {ww | w ∊ L}
前缀(L)= {u | ∃v:uv ∊ L}
后缀(L)= {v | ∃uuv ∊ L}
一半(L)= {u | ∃v:| v | = |你和uv ∊ L}
哪种L最适合您的上述回答?
(A) (a + b)*
(B) {ϵ,a,ab,bab}
(C) (ab)*
(D) {a n b n | n≥0}答案: (A)
解释:

一个反例可以一口气证明最后一个问题的所有结论,应具有以下特性:

  • 由于问题的要求,L应该是规则的
  • L应该是一个无限的字符串集,否则half(L)将是规则的
  • L的语法中应该有多个字母,否则repeat(L)将是规则的。

所以,

  1. (a + b)*是支持最后一个问题的结论的完美例子。它是规则的,有多个字母,并且是一个无限的集合。
  2. {ϵ,a,ab,bab}是一个有限集,因此是错误的。
  3. (ab)*等同于c ∗,后者是一种字母语言,因此是错误的。
  4. {a n b n | n≥0}甚至不是常规语言,因此是错误的。

此解决方案由vineet purswani提供
这个问题的测验