Skip to main content

Implementing Algebraic Dynamic Programming in the Functional and the Imperative Programming Paradigm

  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2386))

Included in the following conference series:

Abstract

Algebraic dynamic programming is a new method for developing and reasoning about dynamic programming algorithms. In this approach, so-called yield grammars and evaluation algebras constitute abstract specifications of dynamic programming algorithms. We describe how this theory is put to practice by providing a specification language that can both be embedded in a lazy functional language, and translated into an imperative language. Parts of the analysis required for the latter translation also gives rise to source-to-source transformations that improve the asymptotic efficiency of the functional implementation. The multi-paradigm system resulting from this approach provides increased programming productivity and effective validation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho and J.D. Ullman. The Theory of Parsing, Translation and Compiling. Prentice-Hall, Englewood Cliffs, NJ, 1973. I and II.

    Google Scholar 

  2. R. Bellman. Dynamic Programming. Princeton University Press, 1957.

    Google Scholar 

  3. W.S. Brainerd. Tree generating regular systems. Information and Control, 14:217–231, 1969.

    Article  MATH  MathSciNet  Google Scholar 

  4. R. Durbin, S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis. Cambridge University Press, 1998.

    Google Scholar 

  5. D. Evers and R. Giegerich. Reducing the conformation space in RNA structure prediction. In German Conference on Bioinformatics, pages 118–124, 2001.

    Google Scholar 

  6. R. Giegerich. A systematic approach to dynamic programming in bioinformatics. Bioinformatics, 16:665–677, 2000.

    Article  Google Scholar 

  7. R. Giegerich, S. Kurtz, and G. F. Weiller. An algebraic dynamic programming approach to the analysis of recombinant DNA sequences. In Proc. of the First Workshop on Algorithmic Aspects of Advanced Programming Languages, pages 77–88, 1999.

    Google Scholar 

  8. R. Giegerich and C. Meyer. Algebraic dynamic programming. In Proc. of the 9th International Conference on Algebraic Methodology And Software Technology, 2002. To appear.

    Google Scholar 

  9. R. Giegerich and K. Schmal. Code selection techniques: Pattern matching, tree parsing and inversion of derivors. In Proc. European Symposium on Programming 1988, Lecture Notes in Computer Science 300, Springer Verlag, pages 247–268, 1988.

    Google Scholar 

  10. S.L. Graham and M.A. Harrison. An improved context-free recognizer. ACM Transactions on Programming Languages and Systems, 2(3):415–462, 1980.

    Article  MATH  Google Scholar 

  11. D. Gusfield. Algorithms on Strings, Trees, and Sequences. Computer Science and Computational Biology. Cambridge University Press, 1997.

    Google Scholar 

  12. M. Höchsmann. Tree and Forest Alignments-An Algebraic Dynamic Programming Approach for Aligning Trees and Forests. Master’s thesis, Bielefeld University, Mai 2001.

    Google Scholar 

  13. G. Hutton. Higher order functions for parsing. Journal of Functional Programming, 3(2):323–343, 1992.

    Article  MathSciNet  Google Scholar 

  14. C. Meyer and R. Giegerich. Matching and Significance Evaluation of Combined Sequence-Structure Motifs in RNA. Z.Phys.Chem., 216:193–216, 2002.

    Google Scholar 

  15. T.L. Morin. Monotonicity and the principle of optimality. Journal of Mathematical Analysis and Applications, 86:665–674, 1982.

    Article  MathSciNet  Google Scholar 

  16. E. Rivas and S. Eddy. A dynamic programming algorithm for RNA structure prediction including pseudoknots. J. Mol. Biol., 285:2053–2068, 1999.

    Article  Google Scholar 

  17. D.B. Searls. Linguistic approaches to biological sequences. CABIOS, 13(4):333–344, 1997.

    Google Scholar 

  18. K. Sikkel and M. Lankhorst. A parallel bottom-up tomita parser. In G. Görz, editor, 1. Konferenz Verarbeitung natürlicher Sprache (KONVENS’92), Nürnberg, Germany, Informatik Aktuell, pages 238–247. Springer-Verlag, 1992.

    Google Scholar 

  19. P. Steffen. Basisfunktionen für die Übersetzung von Programmen der Algebraischen Dynamischen Programmierung. Master’s thesis, Bielefeld University, February 2002. In German.

    Google Scholar 

  20. M. Tomita. Efficient Parsing for Natural Language-A Fast Algorithm for Practical Systems. Int. Series in Engineering and Computer Science. Kluwer, Hingham, MA, 1986.

    Google Scholar 

  21. M. Zuker and S. Sankoff. RNA secondary structures and their prediction. Bull. Math. Biol., 46:591–621, 1984.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Giegerich, R., Steffen, P. (2002). Implementing Algebraic Dynamic Programming in the Functional and the Imperative Programming Paradigm. In: Boiten, E.A., Möller, B. (eds) Mathematics of Program Construction. MPC 2002. Lecture Notes in Computer Science, vol 2386. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45442-X_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-45442-X_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43857-1

  • Online ISBN: 978-3-540-45442-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics