如何证明这种语言不是上下文无关的?


11

我有以下语言

{0i1j2k0ijk}

我正在尝试确定它适合哪种Chomsky语言课。我可以看到如何使用上下文相关的语法实现它,因此我知道它至少是上下文相关的。似乎没有上下文无关的语法是不可能的,但是我在证明这一点上遇到了问题。

这似乎是通过了分叉抽取的引理,因为如果将全部放在任何单词的第三部分(包含所有uvwxy2 s的部分)中。它可以根据需要将x泵抽多次,并且将保留该语言。如果我错了,你能告诉我为什么吗,如果我是对的,我仍然认为这种语言不是上下文无关的,那么我怎么证明呢?vx


我不确定如何使其成为正式证明,但确保i <= j <= k需要上下文(前一个变量的值)。
凯文(Kevin)


@Raphael,我读过这篇文章之前的那篇文章,由于它的抽象性,不知道如何将其应用于我的示例。由于每个字符之间的关系> =先前字符的数量,所以我看不到如何将uxyzv分解为单词以使用Ogden引理。BlueMagister和jmad在另一篇文章中进行了扩展,以使我的示例更清楚。
justausr

@Raphael我不同意这是一般情况的琐碎应用。选择使用哪种方法以及将其应用到哪个示例并不容易。
吉尔(Gilles)“所以

Answers:


7

您可以使用奥格登引理(例如将所有0标记为零)强制将泵送在某些地方。

假设它是上下文无关的,那么奥格登的引理给您一个,给它w = 0 p 1 p 2 p,这是该语言的语言,并且您将所有0都“标记”了出来。然后任何因式分解瓦特= û X ý ž v必须是这样的,有一个0Xž。您还可以假设x = a kz = b m,因为x xz zp>0w=0p1p2pw=uxyzv0xzx=akz=bmxxzz 必须是您语言的子字符串。

  1. 如果w = u x 2 y z 2 v的 0大于1z=0...0w=ux2yz2v

  2. 如果z = 1..1,w = u x 2 y z 2 v的 1大于2。x=0..0z=1..1w=ux2yz2v

  3. 如果z = 2..2,w = u x 2 y z 2 v的 0大于1。x=0..0z=2..2w=ux2yz2v

因此,不是您的语言。因此,它不是上下文无关的。ux2yz2v

有关其他技术,请参见以下讨论:如何证明语言不是上下文无关的?


这是我使用的相同语言吗?似乎是对于类似的语言,其中所有0的1和2的长度都相等。该语言的2的数量> = 1的数量> = 0的数量
justausr 2012年

1
是的,但是使用所有抽水引理中的任何一个,您都可以选择单词(我选择了):奥格登的引理应该适用于所有引理。0p1p2p
jmad 2012年

Gotcha,我从未听说过ogden的引理,因此我将不得不对其进行研究。我说对了,它没有通过抽水式引理吗?
justausr

@justausr直到最近都没有我(并且感谢我提到的讨论)。是的,您是对的:泵送引理几乎可以做同样的事情,但是没有选择泵送的位置,在这里就没用了。
jmad 2012年

5

抽词问题应该解决您有关单词第三部分的问题;请注意,当拆分u v n w x n y的任何组合也都使用该语言,包括n = 0时。试试看z=uvwxyuvnwxnyn=0

编辑:正如jmad所说,抽水引诱就像一个游戏:

  1. 抽水引理给你一个p
  2. 您给字词的长度至少为psp
  3. 泵送引理重写它是这样的:一些条件下(| v X ý |p| v ÿ |1s=uvxyz|vxy|p|vy|1
  4. 你给一个整数n0
  5. 如果不在L中,则您赢了,L不是上下文无关的。uvnxynzLL

因此,您要做的是陈述一个单词,将3分解为大小写,并证明每种情况下您都可以找到,从而使所得单词不在语言中。n

当分解,请考虑v x y可能属于的所有情况。您会注意到,如果v x y不属于2,那么很容易将0和1抽出,直到它们超过2,然后您将得到一个非该语言的单词。我的建议是,如果v x y落入2个区域,则还可以通过设置n = 0使vy消失,因此u v n x y n z = us=uvxyzvxyvxyvxyvyn=0。然后,通过消除2可以得出不属于该语言的单词。uvnxynz=uxz


您是说将所有uvwxy放在带有2的部分中吗?
justausr

如果给出正确的词。我会详细说明。
Blue Magister 2012年

在这里,立即尝试。我不确定我的抽奖lem与您的抽奖是否相同,因此我呼吁Wikipedia
Blue Magister 2012年
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.