## Algebraic dynamic programming (2002)

Venue: | Algebraic Methodology And Software Technology, 9th International Conference, AMAST 2002 |

Citations: | 9 - 5 self |

### BibTeX

@INPROCEEDINGS{Giegerich02algebraicdynamic,

author = {Robert Giegerich and Carsten Meyer},

title = {Algebraic dynamic programming},

booktitle = {Algebraic Methodology And Software Technology, 9th International Conference, AMAST 2002},

year = {2002},

pages = {349--364},

publisher = {Springer LNCS}

}

### OpenURL

### Abstract

Abstract. 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.

### Citations

8530 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1990
(Show Context)
Citation Context ... a suboptimal solution every now and then, which can hardly be detected by human inspection. In this situation it is remarkable that neither the literature cited above, nor computer science textbooks =-=[1, 5, 6, 16, 18, 24]-=- provide guidance in the development of DP algorithms. 1.2 Overview of our approach The Algebraic Dynamic Programming approach (ADP) introduces a conceptual splitting of a DP algorithm into a recognit... |

2611 |
Dynamic Programming
- Bellman
- 1957
(Show Context)
Citation Context ...An anonymous referee Dynamic programming (DP) is one of the classic programming paradigms, introduced even before the term Computer Science was firmly established. Bellman’s “Principle of Optimality” =-=[2]-=- belongs to the core knowledge we expect from every computer science graduate. Significant work has gone into formally characterizing this principle [20, 22], formulating DP in different programming p... |

1461 |
Identification of common molecular subsequences
- Smith, Waterman
- 1981
(Show Context)
Citation Context ...with the algorithms used in biosequence analysis: This is, in general terms and for arbitrary sequence analysis problems, the transition from the Needleman-Wunsch [23] to the Smith-Waterman algorithm =-=[25]-=-; however, for an input of form x$y −1 it must be applied at both ends of x and y. 5.3 Controlling efficiency: width reduction The asymptotic efficiency of an ADP algorithm is O(n 2+width(G) ). Two te... |

1410 |
A general method applicable to the search for similarities in the amino acid sequence of two proteins
- Needleman, Wunsch
- 1970
(Show Context)
Citation Context ...local patterns. For readers familiar with the algorithms used in biosequence analysis: This is, in general terms and for arbitrary sequence analysis problems, the transition from the Needleman-Wunsch =-=[23]-=- to the Smith-Waterman algorithm [25]; however, for an input of form x$y −1 it must be applied at both ends of x and y. 5.3 Controlling efficiency: width reduction The asymptotic efficiency of an ADP ... |

899 |
Algorithms on Strings, Trees, and Sequences
- Gusfield
- 1997
(Show Context)
Citation Context ... a suboptimal solution every now and then, which can hardly be detected by human inspection. In this situation it is remarkable that neither the literature cited above, nor computer science textbooks =-=[1, 5, 6, 16, 18, 24]-=- provide guidance in the development of DP algorithms. 1.2 Overview of our approach The Algebraic Dynamic Programming approach (ADP) introduces a conceptual splitting of a DP algorithm into a recognit... |

706 |
Data Structures and Algorithms
- Aho, Hopcroft, et al.
- 1983
(Show Context)
Citation Context ... a suboptimal solution every now and then, which can hardly be detected by human inspection. In this situation it is remarkable that neither the literature cited above, nor computer science textbooks =-=[1, 5, 6, 16, 18, 24]-=- provide guidance in the development of DP algorithms. 1.2 Overview of our approach The Algebraic Dynamic Programming approach (ADP) introduces a conceptual splitting of a DP algorithm into a recognit... |

579 |
Biological Sequence Analysis
- Durbin, Eddy, et al.
- 1998
(Show Context)
Citation Context ... RNA structure prediction, gene finding, and discovery of regulatory signals in RNA pose string processing problems in unprecedencedsvariety and data volume. A recent textbook in biosequence analysis =-=[8]-=- lists 11 applications of DP in its introductory chapter, and many more in the sequel. Textbook examples are typically restricted to simple problems that can be solved without methodical guidance. Dev... |

379 |
An improved algorithm for matching biological sequences
- Gotoh
- 1982
(Show Context)
Citation Context ......ar,v)=f1 I (a1, ..., f 1 I (ar,f2 I (v))...) (ii) f 1 I and f 2 I satisfy Bellman’s principle (Def. 6) with respect to hI. A famous application of this technique is the use of affine gap scores in =-=[15]-=-. The scoring function f(a1...ar,u)=r×α+β+u is decomposed into separate functions for gap opening f 2 (u) =β+u and extension f 1 (α, u) =α+u.s5.4 The taming of the near-optimal solution space In many ... |

372 |
Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information
- Zuker, Stiegler
- 1981
(Show Context)
Citation Context ...le problems 1 BSP and LBSP must suffice here for the exposition of our method. Further generalizations (allowed mismatches in the stem, recursively nested palindromes, and minimal free energy scoring =-=[27]-=-) leads to the problem of predicting RNA secondary structures. Everything we develop in this paper pertains as well to the problem of pairwise string comparison, also called string edit distance or st... |

173 |
RNA secondary structures and their prediction
- Zuker, Sankoff
- 1984
(Show Context)
Citation Context ...tion context of biosequence analysis. An informal presentation to the bioinformatics community has appeared in [10]. An old bioinformatics challenge, the folding of saturated RNA secondary structures =-=[26]-=-, has been solved via ADP recently, but was published without reference to this method [9]. The aspect of ambiguity in dynamic programming (not covered here) is studied in [11].s2 Dynamic programming,... |

111 |
Algorithmics : theory and practice
- Brassard, Bratley
- 1988
(Show Context)
Citation Context |

53 |
Tree generating regular systems
- Brainerd
- 1969
(Show Context)
Citation Context ... is a subset of TΣ. Tree languages are described by tree grammars, which can be defined in analogy to the Chomsky hierarchy of string grammars. Here we use regular tree grammars originally studied in =-=[4]-=-. In [13] they were redefined to specify term languages over some signature. Our further specialization so far lies solely in the distinguished role of A. Definition 1 (Tree grammar over Σ and A.) A (... |

45 | Data Structures and Algorithms
- Mehlhorn
- 1984
(Show Context)
Citation Context |

25 | A Systematic Approach to Dynamic Programming in Bioinformatics. Parts 1 and 2: Sequence Comparison and RNA
- Giegerich
- 1999
(Show Context)
Citation Context ...his framework. 1.3 Related work The ADP method has been developed recently in the application context of biosequence analysis. An informal presentation to the bioinformatics community has appeared in =-=[10]-=-. An old bioinformatics challenge, the folding of saturated RNA secondary structures [26], has been solved via ADP recently, but was published without reference to this method [9]. The aspect of ambig... |

25 | Explaining and controlling ambiguity in dynamic programming
- Giegerich
- 2000
(Show Context)
Citation Context ...NA secondary structures [26], has been solved via ADP recently, but was published without reference to this method [9]. The aspect of ambiguity in dynamic programming (not covered here) is studied in =-=[11]-=-.s2 Dynamic programming, traditional style 2.1 Palindromic patterns in strings We consider strings over some alphabet. For x = x1 ...xm let |x| = m and x(i, j) denote the subword xi+1 ...xj.Notethat|x... |

16 |
Composition principles for the synthesis of optimal multistage processes
- Mitten
- 1964
(Show Context)
Citation Context ...stablished. Bellman’s “Principle of Optimality” [2] belongs to the core knowledge we expect from every computer science graduate. Significant work has gone into formally characterizing this principle =-=[20, 22]-=-, formulating DP in different programming paradigms [7, 21] and studying its relation to other general programming methods such as greedy algorithms [3]. The analysis of molecular sequence data has fo... |

14 | From dynamic programming to greedy algorithms
- Bird, Moor
- 1993
(Show Context)
Citation Context ...nto formally characterizing this principle [20, 22], formulating DP in different programming paradigms [7, 21] and studying its relation to other general programming methods such as greedy algorithms =-=[3]-=-. The analysis of molecular sequence data has fostered increased interest in DP. Protein homology search, RNA structure prediction, gene finding, and discovery of regulatory signals in RNA pose string... |

14 |
Code selection techniques: Pattern matching, tree parsing and inversion of derivors
- Giegerich, Schmal
- 1988
(Show Context)
Citation Context ...bset of TΣ. Tree languages are described by tree grammars, which can be defined in analogy to the Chomsky hierarchy of string grammars. Here we use regular tree grammars originally studied in [4]. In =-=[13]-=- they were redefined to specify term languages over some signature. Our further specialization so far lies solely in the distinguished role of A. Definition 1 (Tree grammar over Σ and A.) A (regular) ... |

14 |
Monotonicity and the principle of optimality
- Morin
- 1982
(Show Context)
Citation Context ...stablished. Bellman’s “Principle of Optimality” [2] belongs to the core knowledge we expect from every computer science graduate. Significant work has gone into formally characterizing this principle =-=[20, 22]-=-, formulating DP in different programming paradigms [7, 21] and studying its relation to other general programming methods such as greedy algorithms [3]. The analysis of molecular sequence data has fo... |

12 |
Fundamental Algorithms for a Declarative Pattern Matching System, Report 95-03, Technische Fakult.at der Universit. at
- Kurtz
- 1995
(Show Context)
Citation Context ...he form of sorted lazy lists (streams). Then, we can enumerate a stream of answers in order of optimality, with negligible overhead for the best answers. This solution has been hinted at occasionally =-=[7, 17]-=-. Since we have not seen it implemented, we sketch here how this can be achieved. The key idea is to compute separate lists, i.e.[[f x y | y <-ys] | x <-xs] instead of [f x y | y <- ys , x <- xs]. The... |

11 |
Reducing the conformation space in RNA structure prediction
- Evers, Giegerich
- 2001
(Show Context)
Citation Context ...ity has appeared in [10]. An old bioinformatics challenge, the folding of saturated RNA secondary structures [26], has been solved via ADP recently, but was published without reference to this method =-=[9]-=-. The aspect of ambiguity in dynamic programming (not covered here) is studied in [11].s2 Dynamic programming, traditional style 2.1 Palindromic patterns in strings We consider strings over some alpha... |

5 | Dynamic programming: A different perspective
- Curtis
- 1997
(Show Context)
Citation Context ...to the core knowledge we expect from every computer science graduate. Significant work has gone into formally characterizing this principle [20, 22], formulating DP in different programming paradigms =-=[7, 21]-=- and studying its relation to other general programming methods such as greedy algorithms [3]. The analysis of molecular sequence data has fostered increased interest in DP. Protein homology search, R... |

5 |
Matching and Significance Evaluation of
- Meyer, Giegerich
(Show Context)
Citation Context ...ficance: The expectation algebra is an elegant way to obtain significance values in string pattern matching. A deeper study of expectation algebras and their use for significance analysis is found in =-=[19]-=-.s5.2 Connecting related problems: from global to local pattern matching Grammar LBSP describes (local) separated palindromes embedded somewhere in a string. Dropping the first production and making p... |

4 | Implementing algebraic dynamic programming in the functional and the imperative paradigm
- Giegerich, Steffen
- 2002
(Show Context)
Citation Context ...thm can run as an executable prototype in a functional language, and can be translated into traditional DP recurrences implemented in an imperative language. Such implementation issues are treated in =-=[14]-=-. Here we concentrate on ADP as a programming method, and show how clever “tricks” found in the DP literature can be expressed transparently in this framework. 1.3 Related work The ADP method has been... |

4 | Dynamic Programming as a Software Component
- Moor
(Show Context)
Citation Context ...to the core knowledge we expect from every computer science graduate. Significant work has gone into formally characterizing this principle [20, 22], formulating DP in different programming paradigms =-=[7, 21]-=- and studying its relation to other general programming methods such as greedy algorithms [3]. The analysis of molecular sequence data has fostered increased interest in DP. Protein homology search, R... |

2 |
Local Similarity Problems on Trees: A Uniform Model and its Implementation
- Giegerich, Höchsmann, et al.
- 2002
(Show Context)
Citation Context ...all DP problems over strings, including pairwise comparison, and possibly other domains. (We are developing DP algorithms for tree comparison, but this work has not yet been reformulated in ADP style =-=[12]-=-.) Correctness arguments can now be given on a convenient level of abstraction – yield languages and evaluation algebras satisfying our new formulation of Bellman’s principle. By virtue of Theorem 8, ... |