We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.DS

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Data Structures and Algorithms

Title: Polymorphic dynamic programming by algebraic shortcut fusion

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.
Subjects: Data Structures and Algorithms (cs.DS); Machine Learning (cs.LG); Rings and Algebras (math.RA)
Cite as: arXiv:2107.01752 [cs.DS]
  (or arXiv:2107.01752v1 [cs.DS] for this version)

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.