The CFG recognition problem is as follows: given a context-free grammar $\mathcal{G}$ and a string $w$ of length $n$, decide whether $w$ can be obtained from $\mathcal{G}$. This is the most basic parsing question and is a core computer science problem. Valiant's parser from 1975 solves the problem in $O(n^{\omega})$ time, where $\omega<2.373$ is the matrix multiplication exponent. Dozens of parsing algorithms have been proposed over the years, yet Valiant's upper bound remains unbeaten. The best combinatorial algorithms have mildly subcubic $O(n^3/\log^3{n})$ time complexity. Evidence for the nonexistence of more efficient algorithms was given in a result of Lee (JACM'01), who showed that any algorithm with running time $O(|\mathcal{G}|\cdot n^{3-\varepsilon})$, which can solve a more general parsing problem in the unusual case that $|\mathcal{G}|=\Omega(n^6)$, can be converted into a surprising subcubic time algorithm for Boolean Matrix Multiplication. However, nothing was known for the more relevant case of constant size grammars. In this work, we make the first progress on the constant size grammar case in 40 years, and prove that any improvement on Valiant's algorithm, either in terms of runtime or by avoiding the inefficiencies of the known fast matrix multiplication algorithms, would imply a breakthrough algorithm for the $k$-Clique problem: given a graph of $n$ nodes, decide whether there are $k$ nodes that form a clique. Using similar techniques, we derive similar lower bounds for more modern and well-studied cubic time problems for which faster algorithms are highly desirable in practice: RNA Folding, a central problem in computational biology, and Dyck Language Edit Distance, answering an open question of Saha (FOCS'14).
Read full abstract