如何证明这种语言是否正常?

时间:2012-03-10 04:34:39

标签: dfa computation-theory formal-languages nfa

如何证明这种语言是否正常?

  

L = {a n b n :n≥1} union {a n b n + 2 :n≥1}

2 个答案:

答案 0 :(得分:1)

我会给出一个方法和一个证明的草图,它可能有一些洞,我相信你可以填补自己。

想法是使用nerode's theorem - 表明R L 存在无穷多的等价组 - 并且根据该定理,您可以推导出语言不正常

定义两种类型的集合:

  1. G_j = {a n b k |对于每个j in,n-k = j,k≥1} [-2,-1,0,1,...]
  2. 每个j in的
  3. H_j = {a j } [0,1,...]
  4. G_illegal = {0,1} * /(G_j U H_j)[对于指定范围内的每个j]
  5. 对于x中的每个G_illegal以及{a,b} * 中的每个z,很容易看到xz }不在L

    因此,对于x,y中的每个G_illegal以及zxz中的L yz L z }< - > x中的y

    此外,对于{a,b} * 中的每个G_j - 以及j中的每个za [相同]两个xz

    • 如果yz包含L,则zk+j = n都不在xz
    • 如果L = b j ,那么xz = a n b k b j ,以及y - yz位于L。同样适用于z,因此k+j+2 = n+2位于xz
    • 如果L = b j + 2 ,那么xz = a n b k b j + 2 ,因为y - yz位于L。同样适用于x,因此xz位于yz
    • 否则,L是b i ,使得i≠j且i≠j + 2,并且您得到x,yG_j都不是在z

    因此,对于xz中的每个j和每个L以及{a,b} * 中的每个yzLH_j< - >中x中的y

    使用相同的方法为每个z证明相同。

    此外,很容易证明每个x G_j U H_j以及G_illegal中的每个y - xz = b j , xz在L中,而yz不在L.
    对于G_j中的L和H_i中的yz,对于z = ab j + 1 - 很容易看出L不是xy中的x位于y
    很容易看出,对于zxz分别位于G_j和G_i或Lyz位于H_j,H_i - H_j = b j G_j位于j,而L则不是。{/ p>

    我们刚刚证明我们创建的集合实际上是来自nerode's theorem的R L 的等价关系,并且因为我们有无限数量的这些集合,每个集合都是R的等价关系 L [我们{{1}}和{{1}}每{{1}}} - 我们可以从nerode的定理推导出{{1}是不规则的。

答案 1 :(得分:0)

您可以将pumping lemma用于常规语言。它基本上说如果你能找到任何给定整数n的字符串和这个字符串的任何分区到xyz,那么| xy | < = n,和| y | > 0,那么你可以抽出字符串的y部分,它必须保持语言,这意味着,如果xy ^ iz它不是某种语言的语言,那么语言就不常规了。

证据就是这样,一种对手的证明。假设有人告诉你这种语言是正常的。然后问他一个数字n>你建立一个长度大于n的方便的字符串,然后你给对手。他以任何他想要的方式对x,y z中的字符串进行分区,只要| xy |即可< = n。然后你必须抽y(重复i次),直到找到一个不是同一种语言的字符串。

在这种情况下,我告诉你:给我一个。你修好了。我告诉你:取字符串“a ^ n b ^ {n + 2}”,并告诉你拆分它。无论如何,您可以拆分此字符串,您将始终必须使y = a ^ k,其中k> 0,因为你强迫制作| xy | < = n,我的字符串以^ n开头。这是诀窍,你给对手一个字符串,这样他就可以分开它,他给你一个你可以抽的部分。所以现在我们抽y,比方说,0次,你得到“a ^ m b ^ {n + 2}”,m< n,不是您的语言。完成。我们也可以抽1次,n次,n!阶乘时间,你需要做的任何事情都要离开语言。

这个定理的证据就是说,如果你有一个常规语言,那么你有一个自动机,n个状态用于某些固定的n。如果一个字符串有超过n个字符,那么它必须在你的自动机中经历一些循环。如果我们在进入循环之前将x命名为字符串的一部分,并且在循环中将该部分命名为y,那么很明显我们可以根据需要多次抽取y,因为我们可以在循环中继续运行我们想要的次数,结果字符串必须是语言,因为它将被该自动机识别。要使用该定理来证明非规则性,因为我们不知道所谓的自动机将如何,我们必须留给对手选择n和自动机内循环的位置(不会有自动机,但你对对手说的话:敢给我一个自动机,我会告诉你它不可能存在。)