常规语言相交作为无上下文语法的复杂性


20

给定正则表达式R1,,Rn,的最小上下文无关语法的大小是否有任何平凡的界限?R1Rn


??? 试图形象化。有什么把戏吗?的交Rn是规则的。可以通过也是CFG的标准方法找到最小的DFA(wrt状态计数)。
vzn 2014年

@vzn:你是对的。问题在于该DFA以及CFG可能非常大。我想知道是否可以使用CFG的额外功能来获得对路口的更简洁描述。
2014年

猜不出来。怀疑识别(即等同于)RL的每个CFL都不会使用其堆栈,或者可以将其转换为没有状态增加的RL,并且此类PDA的最小值(wrt状态计数)与最小值相同DFA。从来没有听说过这一证明。它可能不难吗?一个简单的问题,是否有任何 PDA能够识别出比DFA小的RL?不要想。
vzn 2014年

@vzn:有用的猜想,但错误的是:令Lk为两种类型的括号中Dyck语言的子集,其中最大嵌套深度为k。对于大小为O k )的有一个CFG ,但是最小DFA(我认为甚至最小NFA)的大小也为O 2 kLkO(k)O(2k)
2014年

戴克语言是CFL,而不是RL ...?但是看到您正在限制最大嵌套深度...那么您可以通过RL交集建立相同的语言吗?最小DFA这么大的证据在什么地方?是状态吗?您没有定义最低标准或其他标准,也没有将状态视为自然情况,但它并不是唯一的标准。O(2k)
vzn

Answers:


6

这是一个很大的问题,确实符合我的兴趣。很高兴您问到Max。

状态最多为O n )的 DFA 。如果存在一个PDA的指数级数众多的州可以接受DFA语言的交集,那就太好了。但是,我建议这种PDA可能并不总是存在。nO(n)

考虑复制语言。现在,将其限制为复制长度为n的字符串。

正式考虑 -copy = { x xn:= {xx|x{0,1}n}

我们可以将 copy 表示为n个 DFA大小最大为O n 的交集。然而,接受最小的DFA Ñ -copy具有2 Ω Ñ 的状态。nnO(n)n2Ω(n)

同样,如果我们将自己限制为二进制堆栈字母,那么我怀疑接受 -copy 的最小PDA的指数状态很多。n

PS如果您想进一步讨论,请随时给我发送电子邮件。:)


5

我认为不可能有任何不重要的下限或上限。
对于下限,对于固定k,考虑语言。最小的上下文无关文法的大小在L 1的正则表达式中是对数的,而L 1的最小自动机的大小在L 1的正则表达式中是线性的。如果我们将L 1与其他此类语言相交,则该指数差异保持不变。 对于上限,请考虑一种语言L 2,该语言正好由一个L1={a2k}kL1L1L1L1
L2长度为 deBruijn序列。已知L 2的最小语法的大小是最坏情况,即O nnL2,因此与L2的“最小”自动机的差只是对数因子,即O(nlogn)L2

阿非平凡一般下限或上限结合将违背这些结果,由于什么是真正的用于的交点语言必须是相交真实1种语言。n1


关于单个deBruijn-Sequence的最小语法大小的说明非常有趣。请提供参考。谢谢。
Michael Wehar 2014年

另外,我可能会弄错,但是看来您只针对单个正则表达式解决了问题(而不是正则表达式的乘积)?
Michael Wehar 2014年

@MichaelWehar是的,我只考虑了一个正则表达式。因为如果对于种语言的交集应该为真,那么对于平凡的交集当然必须为真。我不知道如何重新表述问题以排除这些情况。我添加了参考资料,对不起,应该立即执行此操作。n
john_leo 2014年

1
谢谢!您能够描述一个具体的例子。这是导致存在此类示例的简单说明。设n。有2 ^ n个长度为n的字符串。同样,最多有n / log(n)个状态的图灵机不超过2 ^ n个。因此,某个长度为n的字符串x使得没有图林机具有少于n / log(n)个状态的图灵机接受语言{x}。因此,{x}被具有n个状态的DFA接受,而未被具有少于n / log(n)个状态的PDA接受。
Michael Wehar 2014年

5

让我支持迈克尔的判断,这确实是一个有趣的问题。迈克尔的主要思想可以与文献结果相结合,从而提供了一个严格的证明。

我将用正则表达式中字母符号的总数来表示CFG大小的界限。将该数字表示为k。(正如john_leo所指出的,就参与交集的正则表达式的数量而言,我们将找不到任何有用的界限。)nk

无论是OP也不迈克尔确实发现有必要提到这一点,但上限为的正则表达式的交点转换为NFA可以很容易地证明(上状态的数量)。作为记录,这里是:将正则表达式转换为Glushkov自动机,它们都是不可返回的。然后应用产品构造以获得这些语言的交集的NFA。(I假设一个可以提高结合到2 ķ + 1左右。)一种小号 -state NFA可被转换成右线性文法(它是一个CFG的一种特殊情况)大小的Ô 小号22k+12k+1sO(s2)(如果我们将文法大小作为产品左侧和右侧的符号总数来衡量),则得出大小。如果您想到了实际的应用程序,那么这听起来当然是可怕的。尝试使用不确定的转换复杂度而不是不确定的状态复杂度来证明更好的界限来估计NFA的大小可能是值得的。O(4k)

另一部分是找到一种见证人语言,该语言可以简洁地表示为正则表达式的交集,但是使用CFG进行描述必然很麻烦。(在这里,我们需要建立一个下界所有CFGS生成语言,其中可以存在无限多的尺寸。)下面的参数给出一个下限。2Ω(k/logk)

考虑有限语言Ln={wwRw{a,b}|w|=n}, where wR denotes the reversal of w. Then Ln can be expressed as the intersection of the following 2n+1 regular expressions:

  • ri=(a+b)ia(a+b)2(ni1)a(a+b)+(a+b)ib(a+b)2(ni1)b(a+b), for 1in;
  • si=(a+b)a(a+b)2(ni1)a(a+b)i+(a+b)b(a+b)2(ni1)b(a+b)i, for 1in;
  • =(a+b)3n

The total number k of alphabetic symbols in this intersection of expressions is in O(n2).

Using an argument given in the proof of Theorem 13 in (1), one can prove that every acyclic CFG that generates Ln must have at least 2n/(2n)=2Ω(k/logk) distinct variables, if the right-hand side of each rule has length at most 2. The latter condition is necessary for arguing about the number of variables, since we can generate a finite language with a single variable. But from the perspective of grammar size, this condition is not really a restriction, since we can transform a CFG into this form with only a linear blowup in size, see (2). Notice that the language used by Arvind et al. is over an alphabet of size n, and this yields a bound of nn/(2n); but the argument carries over with obvious modifications.

Still, a large gap remains between O(4n) and the abovementioned lower bound.

References:

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.