设L1 = {a ^ nb ^ mc ^(n + m)/ n,m> 0}和L2 = {a ^ nb ^ nc ^ m / n,m> 0}。是L3 =L1∩L2无上下文?

时间:2015-11-20 11:34:49

标签: algorithm computation-theory

令L1 = {a ^ n b ^ m c ^(n + m)/ n,m> 0}和L2 = {a ^ n b ^ n c ^ m / n,m> 0}。是L3 =L1∩L2无上下文?

我的逻辑是,如果n<如果n> 1,则交叉点将产生一种语言(a ^ n b ^ n c ^ n)。在这两种情况下,我们都有一个CFG,交叉将产生一种语言(一个^ n b ^ m c ^ m),所以我的解释是正确的吗?

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你的想法,但如果你尝试对L1和L2使用相同的n和m并根据它计算交点,那你就不对了。

除此之外,语言{ a n b n c < sup> n | n> 0}不是CFG,因为你可以在这里看一个例子https://en.wikipedia.org/wiki/Context-free_language或者用泵引理来表示。

怎么能看到L1∩L2的样子呢? x∈L1∩L2=&lt; =&gt; x∈L1和x∈L2。所以x必须满足两种语言的限制 因此x∈L1∩L2是x = n b m c < sup> o 其中n = m,因为L2和o = n + m = n + n(n + m因为L1和n + n,因为n = m)。
这给了我们L1∩L2= { a n b n c 2n | n> 0},这不是CFG。

原因:

  • 直观地说,CFG不能计算(不止一次, a n b n 很好) 。但是为了实现模式n,n,2n,我们必须计算a和b的amoung,然后加上适量的c。
  • 抽取引理:为了证明{ a n b n c 2n | n> 0}不是CFG。所以我们需要证明,对于每个p> = 0,都有∈{ a n b n c 2n | n> 0}不能分成uvwxy fullfilling | uvw | &lt; = p和u v k w x k y∈{ a n b n c 2n | n> 0}。

    证明:给定ap> = 0.我们选择 t = a p b p c 2p ∈L1∩L2。现在,对于 uvwxy = t 的每一个选择,我们都不能将 uvwxy 抽成εL1∩L2。这是因为我们只抽取 v x 。并且| vwx |是&lt; = p。所以 vwx 不能包含a,b和c,但最多只能包含两个。现在,如果我们抽出 v x ,我们得到的不仅仅是c,反之亦然,结果是u v 2 < / sup> w x 2 y不在L1∩L2。