两个(不规则)上下文无关语言的联合会产生常规语言吗?

时间:2014-01-19 08:33:13

标签: regular-language formal-languages context-free-language

给定L1和L2(不规则)上下文无关语言 - L1 U L2是否可能是常规的?

我知道这是可能的,但我无法找到一个显示的例子。很想得到一些帮助。

1 个答案:

答案 0 :(得分:7)

两个CFL联盟可以定期吗?

  

鉴于L1L2无上下文(但不是常规)语言,两个L1 ∪ L2的联合是否可能是常规的?

是的可能!

假设,第一语言L 1 是:

  

L 1 :{anbm |其中n = m}

语言L 1 是CFL但不是常规。编写L 1 语言的另一种方法是anbn。我认为这是CFL最常见的例子之一,可以在任何正式语言教科书中找到。

第二语言L 2 是:

  

L 2 :{anbm |其中n ≠ m}

L 2 再次是CFL但不是常规。 基本上L 2 是L 1 的补语。

现在,L 1 和L 2 的联合是:

  

L:{anbm |对nm值}

没有限制

语言L = L1 ∪ L2是常规语言,L的正则表达式为a*b*

所以暗示是补充CFL的联合是常规的。

注意:Context-free languages are closed under union operation,因此两个CFL的并集始终是CFL(可以是常规语言类是CFL类的子集),但它不能是非CFL,例如CSL。

根据评论添加:

两个CFL的交叉点可以是常规的吗?

  

鉴于L1L2无上下文(但不是常规)语言,两个L1 ∩ L2的交集是否可能是常规的?

是的可能!

假设,第一语言L 1 是:

  

L 1 :{anbm |其中n = m}

第二语言L 2 是:

  

L 2 :{anbm |其中n <= 3 or n ≠ m}

语言L = L1 ∩ L2 = {ab, aabb, aaabbb}a finite set and hence also a regular set