Table of Contents
Fetching ...

On the I/O Complexity of the CYK Algorithm and of a Family of Related DP Algorithms

Lorenzo De Stefani, Vedant Gupta

TL;DR

The general method is refined to obtain a lower bound for the I/O complexity of the Cocke-Younger-Kasami algorithm, where the size of the grammar impacts the I/O complexity.

Abstract

Asymptotically tight lower bounds are derived for the Input/Output (I/O) complexity of a class of dynamic programming algorithms including matrix chain multiplication, optimal polygon triangulation, and the construction of optimal binary search trees. Assuming no recomputation of intermediate values, we establish an $Ω\left(\frac{n^3}{\sqrt{M}B}\right)$ I/O lower bound, where $n$ denotes the size of the input and $M$ denotes the size of the available fast memory (cache). When recomputation is allowed, we show the same bound holds for $M < cn$, where $c$ is a positive constant. In the case where $M \ge 2n$, we show an $Ω\left(n/B\right)$ I/O lower bound. We also discuss algorithms for which the number of executed I/O operations matches asymptotically each of the presented lower bounds, which are thus asymptotically tight. Additionally, we refine our general method to obtain a lower bound for the I/O complexity of the Cocke-Younger-Kasami algorithm, where the size of the grammar impacts the I/O complexity. An upper bound with asymptotically matching performance in many cases is also provided.

On the I/O Complexity of the CYK Algorithm and of a Family of Related DP Algorithms

TL;DR

The general method is refined to obtain a lower bound for the I/O complexity of the Cocke-Younger-Kasami algorithm, where the size of the grammar impacts the I/O complexity.

Abstract

Asymptotically tight lower bounds are derived for the Input/Output (I/O) complexity of a class of dynamic programming algorithms including matrix chain multiplication, optimal polygon triangulation, and the construction of optimal binary search trees. Assuming no recomputation of intermediate values, we establish an I/O lower bound, where denotes the size of the input and denotes the size of the available fast memory (cache). When recomputation is allowed, we show the same bound holds for , where is a positive constant. In the case where , we show an I/O lower bound. We also discuss algorithms for which the number of executed I/O operations matches asymptotically each of the presented lower bounds, which are thus asymptotically tight. Additionally, we refine our general method to obtain a lower bound for the I/O complexity of the Cocke-Younger-Kasami algorithm, where the size of the grammar impacts the I/O complexity. An upper bound with asymptotically matching performance in many cases is also provided.

Paper Structure

This paper contains 26 sections, 17 theorems, 8 equations, 3 figures, 8 algorithms.

Key Result

Lemma 1

Given a CDAG $G\in \mathcal{G}\left(n\right)$, let $W_1,W_2,\ldots,W_{n-1}$ denote the $W$-cover of its $R$-vertices. For any set $X\subseteq W_i$ there are at most $\frac{|X|2}{4}\leq i\left(n-i\right)\leq \frac{n^2}{4}$ pairs of vertices $(u,v)$, where $u\in r_{i+1}$ and $v\in c_i$, that interact

Figures (3)

  • Figure 1: Construction of CDAG in $\mathcal{G}\left(n\right)$
  • Figure 2: Representation of rows, columns, and the $W$-cover for input size $n = 4$.
  • Figure 3: Each subproblem $S(i, j)$ is represented by multiple variable roots (in black), which is the result of the composition multiple grammar roots (in purple), which in turn are the composition of multiple leaves (in green).

Theorems & Definitions (19)

  • Lemma 1
  • Lemma 1
  • Theorem 2
  • Definition 3: jia1981complexity
  • Lemma 4
  • Theorem 5
  • Theorem 6: Proof in Appendix \ref{['app:big-mem-recomp']}
  • Definition 7: sipser1996introduction
  • Lemma 7: Proof in Appendix \ref{['app:cyk-proofs']}
  • Lemma 8
  • ...and 9 more