Polymorphic dynamic programming by algebraic shortcut fusion

07/05/2021
by   Max A. Little, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/26/2022

Domain-Independent Dynamic Programming: Generic State Space Search for Combinatorial Optimization

For combinatorial optimization problems, model-based approaches such as ...
research
02/11/2018

Differentiable Dynamic Programming for Structured Prediction and Attention

Dynamic programming (DP) solves a variety of structured combinatorial pr...
research
12/23/2020

Approximation Limitations of Pure Dynamic Programming

We prove the first, even super-polynomial, lower bounds on the size of t...
research
03/21/2020

DP-Net: Dynamic Programming Guided Deep Neural Network Compression

In this work, we propose an effective scheme (called DP-Net) for compres...
research
06/05/2018

Dynamic Programming Optimization in Line of Sight Networks

Line of Sight (LoS) networks were designed to model wireless communicati...
research
01/07/2019

Dynamic Programming for Discrete Memoryless Channel Quantization

In this paper, we present a general framework for applying dynamic progr...
research
12/02/2018

End-to-end Learning of Convolutional Neural Net and Dynamic Programming for Left Ventricle Segmentation

Differentiable programming is able to combine different functions or pro...

Please sign up or login with your details

Forgot password? Click here to reset