使用


18

有多种算法可以在时间内解析上下文无关的语法。使用矩阵乘法,甚至可以渐近地进行。Øñ3

但是,我知道的所有解析任意CFG的算法都具有的最坏情况的空间使用量(尽管,诚然,我不知道该矩阵乘法算法的空间使用量是多少)。我想知道是否有任何算法可以改善这种空间使用情况(因此不考虑时间限制)。Ωñ2

在将与我所知道的所有CFG解析算法上绑定的空间联系起来后,这个问题突然在脑海。这可能没有实际意义,而只是我想了解的东西。C小号G=ñd小号P一种CËñd小号P一种CËñ2Ωñ2


5
不了解所有其他解析算法,但是基于矩阵乘法的解析算法确实占用空间;参见:cstheory.stackexchange.com/questions/1313/…–Θñ2
Ryan Williams

Answers:


14

该答案的前半部分仅是用复杂性理论术语对大卫的答案进行了有效的(log 2n )改写。日志4ñ日志2ñ

上下文无关的语言生活在复杂性类此类等效地以对数深度半无界电路为特征。这些是多项式大小的电路,其中“或”门具有无限扇入,而“与”门具有有限扇入(例如2)。通过以对数因子增加深度,我们可以用有界扇入OR替换每个无界扇入OR门。这就把问题放在了N C 2上这是不难看出如何Ñ Ç 2可以由被评估d 小号P Ç ë 日志2大号ØGCF大号ñC2ñC2可以说是进行深度优先搜索,该搜索在迄今为止探索的大门处保持了孩子的左/右顺序。结果可以回溯到Lewis-Hartmanis论文。尽管这可以改善David的空间限制,但可能需要 n log n个时间。我们不知道更好。d小号P一种CË日志2ññ日志ñ

了解时间空间权衡的传统方法是使用卵石游戏。关于CYK的论文有几篇;本演讲的第一部分是最近的尝试。在此表明,(a)可以在指数时间获得线性空间,并且(b)如果时间限制为,则CYK将使用至少n 2个空间。Øñ2ñ2

当然是一个非常有趣的问题,值得一看。


这是一个非常有趣的演示,感谢您的链接。
亚历克斯(Alex)10 Brink


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.