Current browse context:
cs.DS
Change to browse by:
References & Citations
Computer Science > Data Structures and Algorithms
Title: Polymorphic dynamic programming by algebraic shortcut fusion
(Submitted on 5 Jul 2021 (this version), latest version 4 Jan 2024 (v5))
Abstract: Dynamic programming (DP) is a broadly applicable algorithmic design paradigm for the efficient, exact solution of otherwise intractable, combinatorial problems. However, the design of such algorithms is often presented informally in an ad-hoc manner, and as a result is often difficult to apply correctly. In this paper, we present a rigorous algebraic formalism for systematically deriving novel DP algorithms, either from existing DP algorithms or from simple functional recurrences. These derivations lead to algorithms which are provably correct and polymorphic over any semiring, which means that they can be applied to the full scope of combinatorial problems expressible in terms of semirings. This includes, for example: optimization, optimal probability and Viterbi decoding, probabilistic marginalization, logical inference, fuzzy sets, differentiable softmax, and relational and provenance queries. The approach, building on many ideas from the existing literature on constructive algorithmics, exploits generic properties of (semiring) polymorphic functions, tupling and formal sums (lifting), and algebraic simplifications arising from constraint algebras. We demonstrate the effectiveness of this formalism for some example applications arising in signal processing, bioinformatics and reliability engineering.
Submission history
From: Max Little [view email][v1] Mon, 5 Jul 2021 00:51:02 GMT (708kb)
[v2] Thu, 8 Jul 2021 22:37:35 GMT (1081kb)
[v3] Fri, 20 Aug 2021 22:48:38 GMT (1472kb)
[v4] Sun, 7 May 2023 20:13:08 GMT (653kb,D)
[v5] Thu, 4 Jan 2024 11:53:29 GMT (653kb,D)
Link back to: arXiv, form interface, contact.