设计一种语言L,使得L及其补语都没有无限的常规子集?

时间:2011-01-22 03:56:41

标签: regular-language computation-theory pumping-lemma

我正在上一门关于自动机理论的课程,现在我们正在学习泵浦引理。有一个练习题要求我们“设计一种语言L,使得L及其补语都没有无限的常规子集?”但我不明白这个问题。什么是无限的常规子集?我该如何找到符合此要求的语言?

任何人都可以对这个问题有所了解吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

更确切地说,您需要找到一种语言L,这样就没有L的子集是无限的常规语言,并且L的补集没有子集是一种无限的常规语言。

以下是一个不正确的示例:L = a^na^n b^n的联合。由于a^n是常规语言且它是L的子集,因此这不适用于答案。

为了找到符合要求的L,我发现这些问题更像是谜题。你尝试了一些事情,检查它们是否有效,并试着思考它们为什么不能解决问题。最终,您会了解情况并提出解决方案。

答案 1 :(得分:1)

嗯,语言的无限规则子集是无限且有规律的子集。好的,这可能不是很有用。

所以“子集”非常清楚。

“常规子集”是确定性有限状态机所接受的那个(在语言理论中实际上有一个惊人的定理,即这个条件相当于少数其他条件)。

“无限集”是一个非有限的集合,或者等价地,是一个具有无限多个元素的集合。

因此,如果语言L具有无限的常规子集,那么它就是特殊的。

找到一种语言L是你的工作,LL的补充都不是特殊的。

要想解决这个问题,首先需要围绕这个定义。从笔记和文本中学习一些语言示例。弄清楚它们是否是常规的。如果你找到一个不是常规的,那么看看你是否设计了一种具有所有无限子集都不规则的属性的语言。然后看看当你看它的补充时会发生什么。

你必须建立自己的直觉,唯一的办法就是弄清楚你的手。