Dynamic programming by polymorphic semiring algebraic shortcut fusion
Max A. Little, Xi He, Ugur Kayas

TL;DR
This paper introduces an algebraic formalism based on semiring polymorphism for systematically deriving, optimizing, and reusing dynamic programming algorithms across various combinatorial problems, ensuring correctness and efficiency.
Contribution
It presents a rigorous algebraic framework for deriving and optimizing DP algorithms using semiring polymorphism, enabling systematic correctness and reusability.
Findings
Formalism applies to diverse problems like Viterbi decoding and probabilistic inference.
Efficient, correct algorithms derived through shortcut fusion.
Demonstrated effectiveness in signal processing, bioinformatics, and reliability engineering.
Abstract
Dynamic programming (DP) is an algorithmic design paradigm for the efficient, exact solution of otherwise intractable, combinatorial problems. However, DP algorithm design is often presented in an ad-hoc manner. It is sometimes difficult to justify algorithm correctness. To address this issue, this paper presents a rigorous algebraic formalism for systematically deriving DP algorithms, based on semiring polymorphism. We start with a specification, construct an algorithm to compute the required solution which is self-evidently correct because it exhaustively generates and evaluates all possible solutions meeting the specification. We then derive, through the use of shortcut fusion, an implementation of this algorithm which is both efficient and correct. We also demonstrate how, with the use of semiring lifting, the specification can be augmented with combinatorial constraints, showing…
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.
Taxonomy
TopicsAlgorithms and Data Compression · AI-based Problem Solving and Planning · Constraint Satisfaction and Optimization
