Explaining and Controlling Ambiguity in Dynamic Programming

  • Robert Giegerich
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1848)


Ambiguity in dynamic programming arises from two independent sources, the non-uniqueness of optimal solutions and the particular recursion scheme by which the search space is evaluated. Ambiguity, unless explicitly considered, leads to unnecessarily complicated, inflexible, and sometimes even incorrect dynamic programming algorithms. Building upon the recently developed algebraic approach to dynamic programming, we formalize the notions of ambiguity and canonicity. We argue that the use of canonical yield grammars leads to transparent and versatile dynamic programming algorithms. They provide a master copy of recurrences, that can solve all DP problems in a well-defined domain. We demonstrate the advantages of such a systematic approach using problems from the areas of RNA folding and pairwise sequence comparison.


Choice Function Canonical Model Dynamic Program Problem Nonterminal Symbol Pairwise Sequence Comparison 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Bellman. Dynamic Programming. Princeton University Press, 1957.Google Scholar
  2. 2.
    W.S. Brainerd. Tree generating regular systems. Information and Control, 14:217–231, 1969.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.zbMATHGoogle Scholar
  4. 4.
    R. Durbin, S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis. Cambridge University Press, 1998.Google Scholar
  5. 5.
    D. Evers. RNA Folding via Algebraic Dynamic Programming. Bielefeld University, 2000. Forthcoming Dissertation.Google Scholar
  6. 6.
    D. Evers and R. Giegerich. RNA Movies: Visualizing RNA Secondary Structure Spaces. Bioinformatics, 15(1):32–37, 1999.CrossRefGoogle Scholar
  7. 7.
    R. Giegerich. Code Selection by Inversion of Order-Sorted Derivors. Theor. Comput. Sci., 73:177–211, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    R. Giegerich. A declarative approach to the development of dynamic programming algorithms, applied to RNA folding. Report 98-02, Technische Fakultät, Universität Bielefeld, 1998.Google Scholar
  9. 9.
    R. Giegerich. Towards a discipline of dynamic programming in bioinformatics. Parts 1 and 2: Sequence comparison and RNA folding. Report 99-05, Technische Fakultät, Universität Bielefeld, 1999. (Lecture Notes).Google Scholar
  10. 10.
    D. Gusfield. Algorithms on Strings, Trees, and Sequences. Cambridge University Press, 1997.Google Scholar
  11. 11.
    D. Gusfield, K. Balasubramanian, and D. Naor. Parametric Optimization of Sequence Alignment. Algorithmica, 12:312–326, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    I.L. Hofacker, P. Schuster, and P.F. Stadler. Combinatorics of rna secondary structures. Discr. Appl. Math, 89:177–207, 1999.Google Scholar
  13. 13.
    G. Hutton. Higher Order Functions for Parsing. Journal of Functional Programming, 3(2):323–343, 1992.MathSciNetCrossRefGoogle Scholar
  14. 14.
    S. Kurtz and G. W. Myers. Estimating the Probability of Approximate Matches. In Proceedings Combinatorial Pattern Matching, pages 52–64, 1997.Google Scholar
  15. 15.
    H.T. Mevissen and M. Vingron. Quantifying the Local Reliability of a Sequence Alignment. Prot. Eng., 9(2), 1996.Google Scholar
  16. 16.
    C. Meyer. Lazy Auswertung von Rekurrenzen der Dynamischen Programmierung, 1999. Diploma Thesis, Bielefeld University, (in German).Google Scholar
  17. 17.
    D. Naor and D. Brutlag. On Near-Optimal Alignments in Biological Sequences. J. Biol., 1:349–366, 1994.Google Scholar
  18. 18.
    S. B. Needleman and C. D. Wunsch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. J. Mol. Biol., 48:443–453, 1970.CrossRefGoogle Scholar
  19. 19.
    R. Nussinov, G. Pieczenik, J.R. Griggs, and D.J. Kleitman. Algorithms for loop matchings. SIAM J. Appl. Math., 35:68–82, 1978.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    M. S. Waterman and T. F. Smith. RNA secondary structure: A complete mathematical analysis. Math. Biosci., 41:257–266, 1978.CrossRefGoogle Scholar
  21. 21.
    M.S. Waterman and T.H. Byers. A dynamic programming algorithm to find all solutions in a neighborhood of the optimum. Math. Biosci., 77:179–188, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    S. Wuchty, I. Fontana, W. and Hofacker, and P. Schuster. Complete suboptimal folding of RNA and the stability of secondary structures. Biopolymers, 49:145–165, 1998.CrossRefGoogle Scholar
  23. 23.
    M. Zuker. On Finding all Suboptimal Foldings of an RNA Molecule. Science, 244:48–52, 1989.CrossRefMathSciNetGoogle Scholar
  24. 24.
    M. Zuker and S. Sankoff. RNA secondary structures and their prediction. Bull. Math. Biol., 46:591–621, 1984.zbMATHGoogle Scholar
  25. 25.
    M. Zuker and P. Stiegler. Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. Nucleic Acids Res., 9(1):133–148, 1981.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Robert Giegerich
    • 1
  1. 1.Faculty of TechnologyBielefeld UniversityBielefeldGermany

Personalised recommendations