Algorithmics: theory & practice
Algorithmics: theory & practice
Introduction to algorithms
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Dynamic programming: a different perspective
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
Data Structures and Algorithms
Data Structures and Algorithms
Code Selection Techniques: Pattern Matching, Tree Parsing, and Inversion of Derivors
ESOP '88 Proceedings of the 2nd European Symposium on Programming
From Dynamic Programming to Greedy Algorithms
Proceedings of the IFIP TC2/WG 2.1 State-of-the-Art Report on Formal Program Development
Explaining and Controlling Ambiguity in Dynamic Programming
COM '00 Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching
Implementing Algebraic Dynamic Programming in the Functional and the Imperative Programming Paradigm
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Dynamic Programming
Implementing Algebraic Dynamic Programming in the Functional and the Imperative Programming Paradigm
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Local Similarity in RNA Secondary Structures
CSB '03 Proceedings of the IEEE Computer Society Conference on Bioinformatics
A discipline of dynamic programming over sequence data
Science of Computer Programming - Methods of software design: Techniques and applications
Automating branch-and-bound for dynamic programs
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Bellman's GAP: a declarative language for dynamic programming
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Synthesising graphics card programs from DSLs
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Sneaking around concatMap: efficient combinators for dynamic programming
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Dynamic programming is a classic programming technique, applicable in a wide variety of domains, like stochastic systems analysis, operations research, combinatorics of discrete structures, flow problems, parsing with ambiguous grammars, or biosequence analysis. Yet, no methodology is available for designing such algorithms. The matrix recurrences that typically describe a dynamic programming algorithm are difficult to construct, error-prone to implement, and almost impossible to debug.This article introduces an algebraic style of dynamic programming over sequence data. We define the formal framework including a formalization of Bellman's principle, specify an executable specification language, and show how algorithm design decisions and tuning for efficiency can be described on a convenient level of abstraction.