立方时间内识别双边上下文
在自然语言处理和形式语言理论中,语法识别算法的效率至关重要。本文将介绍一种在立方时间内识别双边上下文语法的算法,该算法在时间复杂度上有显著提升。
1. 引言
Barash和Okhotin在2012年引入了单边上下文语法,扩展了上下文无关语法和连接语法,允许产生式依赖于其左侧上下文。随后在2013年,他们将其扩展到双边上下文语法。
双边上下文语法中的上下文概念纯粹是句法上的,与基于重写系统的上下文概念(如上下文敏感语法)有很大不同。在双边上下文语法中,确定一个子串是否与一个非终结符匹配,只需要检查该字符串本身;而在经典的上下文敏感语法中,不仅要考虑字符串本身,还要考虑特定推导的适当步骤。
Barash和Okhotin在第一篇论文中给出了一个类似于上下文无关语言的Cocke - Kasami - Younger(CKY)算法的立方时间算法,用于识别这些语法生成的语言。在第二篇论文中,他们给出了一个类似Valiant(1975)风格的识别算法,该算法使用$O(|G| · n^2)$的空间和$O(|G|^2 · n^{ω + 1})$的时间,其中$O(n^ω)$是$n × n$布尔矩阵乘法的复杂度,已知的最佳界限是$2 ≤ ω < 2.3727$。他们的算法要求语法处于类似于Chomsky范式的二进制范式,但不清楚是否可以在亚指数级膨胀的情况下实现这种范式。
本文提出的算法仅需$O(|G| · n^3)$的时间。该算法基于双边上下文的定义,使用演绎系统,并采用一种新的范式(分离范式),使得相应的演绎可以使用标准技术高效计算。同时,为了保持空间使用为二次方,需要进行一些特殊处理。
超级会员免费看
订阅专栏 解锁全文
4140

被折叠的 条评论
为什么被折叠?



