Sorting Can Exponentially Speed Up Pure Dynamic Programming
Stasys Jukna, Hannes Seiwert

TL;DR
This paper demonstrates that incorporating sorting via min and max operations in pure dynamic programming algorithms can exponentially reduce the complexity of solving certain problems like the minimum spanning tree.
Contribution
It introduces a novel pure (min,max,+) DP algorithm that solves the minimum spanning tree problem in polynomial time, significantly improving over the exponential lower bound.
Findings
Pure (min,+) DP algorithms require exponential operations for MST.
The new (min,max,+) algorithm solves MST in polynomial time.
Sorting enabled by min and max operations is key to the speedup.
Abstract
Many discrete minimization problems, including various versions of the shortest path problem, can be efficiently solved by dynamic programming (DP) algorithms that are "pure" in that they only perform basic operations, as min, max, +, but no conditional branchings via if-then-else in their recursion equations. It is known that any pure (min,+) DP algorithm solving the minimum weight spanning tree problem on undirected n-vertex graphs must perform at least operations. We show that this problem can be solved by a pure (min,max,+) DP algorithm performing only operations. The algorithm is essentially a (min,max) algorithm: addition operations are only used to output the final values. The presence of both min and max operations means that now DP algorithms can sort: this explains the title of the paper.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
