为什么在UNION操作下关闭确定性上下文无关语言(DCFL)并且在联合下关闭无上下文语言?

时间:2016-04-05 07:25:55

标签: context-free-grammar computation-theory context-free-language

这是否意味着只有非确定性的无上下文语言在联合下被关闭?那为什么在几乎所有的教科书和网站中都提到CFL一般在联盟下关闭?直观的解释就足够了。没有必要的详细证明。

1 个答案:

答案 0 :(得分:1)

Deterministic context-free languages(DCFL),定义为确定性下推自动机可识别的那些语言,是CFL的适当子集(更重要的是,DFCL是具有明确语法的CFL的适当子集)。换句话说,每个DCFL都承认一个明确的无上下文语法。

这意味着两个DFCL的并集不必是DFCL;我的直觉是,当面对两个DFCL的并集时,确定性下推自动机变得无法在备选状态转换之间进行选择;也就是说,虽然两个DCFL承认一个明确的语法,但他们的联盟不需要。

CFL在联合下被关闭,这是一个强大的结果,称为替换定理,粗略地说,给定一个无上下文的语言L,我们可以用整个上下文替换L的每个符号。语言,最终得到无语境的语言。 (参见John Hopcroft,Jeff Ullman和已故Rajeev Motwani的语言理论,自动机和计算的第7章。)