Quant Memo
Advanced

Interval DP and Matrix Chain Multiplication

A dynamic programming pattern for problems about combining a sequence of items, where the cost depends on how you group them — solved by building up answers for every contiguous sub-interval before tackling the whole sequence.

Multiplying matrices AA, BB, and CC gives the same result whichever order you group the multiplications in — (AB)C(AB)C equals A(BC)A(BC) — but the number of arithmetic operations needed can differ enormously depending on the grouping, because each individual matrix multiply's cost depends on the dimensions involved. The matrix chain problem asks: given a sequence of matrices with known dimensions, which parenthesization minimizes total work?

Interval DP solves this by computing the best cost for every contiguous sub-chain, smallest first. Define cost[i][j]\text{cost}[i][j] as the cheapest way to multiply matrices ii through jj. For a chain of length 1 there's no multiplication needed, so cost is zero; for longer chains, try every possible split point kk between ii and jj, add the cost of the left part, the right part, and the cost of combining those two results, and keep the cheapest split. Because cost[i][j]\text{cost}[i][j] only depends on sub-intervals strictly shorter than [i,j][i,j], filling the table by increasing interval length guarantees every value needed is already computed.

The same "try every split point over increasing interval lengths" pattern recurs throughout interview-style DP problems — optimal binary search trees, palindrome partitioning, and burst-balloon-style problems all reduce to the identical loop structure over intervals rather than matrices specifically.

Interval DP fills a table indexed by sub-interval start and end, computing shorter intervals first and combining them via a search over every split point — the matrix chain problem is the canonical example, but the same interval-by-length loop pattern solves a wide family of "how do you group/split this sequence optimally" problems.

Practice in interviews

Further reading

  • Cormen et al., Introduction to Algorithms, ch. 15
ShareTwitterLinkedIn