非常规的常规语言的联盟


12

我遇到了一个问题: “给出两种常规语言的示例,它们的并集不会输出常规语言。”

这让我感到非常震惊,因为我相信常规语言是在联盟下关闭的。对我来说,这意味着如果我使用两种常规语言并将它们结合起来,那么我必须获得一种常规语言。

而且我想我理解这一点的证明:用我的话来说,如果语言是规则的,则存在可以识别它们的自动机。如果采用所有状态(联合),并为入口点添加新状态,并使用epsilon修改新状态的转换函数,我们可以。我们还表明存在从每个状态等出发的路径。

您能告诉我哪里错了,或者可以用另一种方式解决这个问题。

问题的来源,练习4,法文。

同样,对交叉点也问相同的问题。


另一种查看方式。假设这样的无限联合产生一种普通语言。考虑任何非正规语言。您可以将其元素划分为无数个子语言L i,其中每个L i是有限的(因此是规则的)。现在做的所有工会大号。通过假设这是一种常规语言,但是我们假设L是一种非常规语言,因此是矛盾的。允许在无限联盟下关闭将使所有语言成为常规语言。LLiLiLiL
Bakuriu 2014年

对于无限联盟:以任何非正规语言,并考虑各大号 = { w ^ }。显然,L i是有规律的。L={w1,w2,w3,}Li={wi}Li
2014年

Answers:


26

您提出的问题与练习中提出的问题之间存在显着差异。问题询问一组正则语言的一个例子,使得他们的结合 大号= = 1大号 是不规律的。注意联合的范围:1。常规语言在有限联合下是封闭的,证明沿您在问题中所画的线行进,但是在无限联合下却分开了。我们可以通过取L i =L1,L2,

L=i=1Li
1用于每个(与 Σ = { 0 1 })。当然这些语言的无限联合给出了典型的非正则(上下文)语言大号= { 0 1 | Ñ }Li={0i1i}iΣ={0,1}L={0i1iiN}

顺便说一句,我们可以很容易地看到正常证明失败的地方。想象一下相同的构造,我们在其中添加了新的起始状态,并向旧的起始状态添加了过渡。如果我们使用无限的自动机集合来执行此操作,则我们将建立具有无限数量的状态的自动机,这显然与有限自动机的定义相矛盾。ε

最后,我猜想这个混乱可能源于最初问题的措辞,该问题以“ Donner deux exemples des suites de langages ...”开头,即(大致来说,我的法语有点生锈,但已通过外部验证!) “给出两个语言序列示例...”,而不是“给出两个语言序列示例...”。谨慎的阅读可能会使第二个错误误认为第一个错误。


1
MiLi

您对法语翻译部分是正确的。我虽然顺序部分并不重要。哈哈。感谢您的回答,区别对我来说现在很明显。
戴夫

3

Mn={ak21kn}{ajj(n+1)2}
n1Mnanaa 正规语言也是如此,并且(3)如您所知,正规语言在有限的并集下是封闭的。

n1Mn+1MnMnMn+1=Mn+1

i=0nMi=Mn

Mnan2+1,an2+2,,a(n+1)21

i=0Mi={an2n1}
众所周知这不是常规语言。(如果您不知道这个事实,那么在许多理论文献中都可以找到,并且值得一读的证据。)

1

为什么选择复杂的常规语言来显示常规集合在无限并集下不是封闭的?单例语言足以表明任何RE语言都是规则集的无限联合。

LwLi=index(w)Li={wi=index(w)}LiL=i=1Li 是RE。

Mi=ΣLiMii=1Mi=ΣLL

因此,任何递归语言都是规则集的无限联合,也是规则集的无限交集(不是相同的集合,而是它们的补语:)。

无限充满了惊喜,对于任意大的值,在无限处可能并不正确。


1

{ϵ}{a}{b}{aa}{bb}{aaa}{aba}{bab}{bbb} ...

Σ{pi}pii

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.