Next Article in Journal
The Minimum Scheduling Time for Convergecast in Wireless Sensor Networks
Next Article in Special Issue
Editorial: Special Issue on Algorithms for Sequence Analysis and Storage
Previous Article in Journal
Acknowledgement to Reviewers of Algorithms in 2013
Previous Article in Special Issue
Sublinear Time Motif Discovery from Multiple Sequences
Article Menu

Article Versions

Export Article

Open AccessArticle
Algorithms 2014, 7(1), 62-144; doi:10.3390/a7010062

Modeling Dynamic Programming Problems over Sequences and Trees with Inverse Coupled Rewrite Systems

1
Faculty of Technology and Center for Biotechnology, Bielefeld University, Bielefeld 33594, Germany
2
LIFL (UMR CNRS 8022, University of Lille) and INRIA, Villeneuve d'Ascq Cedex 59655, France
*
Authors to whom correspondence should be addressed.
Received: 19 March 2013 / Revised: 6 February 2014 / Accepted: 14 February 2014 / Published: 7 March 2014
(This article belongs to the Special Issue Algorithms for Sequence Analysis and Storage)
Download PDF [613 KB, 11 March 2014; original version 7 March 2014]

Abstract

Dynamic programming is a classical algorithmic paradigm, which often allows the evaluation of a search space of exponential size in polynomial time. Recursive problem decomposition, tabulation of intermediate results for re-use, and Bellman’s Principle of Optimality are its well-understood ingredients. However, algorithms often lack abstraction and are difficult to implement, tedious to debug, and delicate to modify. The present article proposes a generic framework for specifying dynamic programming problems. This framework can handle all kinds of sequential inputs, as well as tree-structured data. Biosequence analysis, document processing, molecular structure analysis, comparison of objects assembled in a hierarchic fashion, and generally, all domains come under consideration where strings and ordered, rooted trees serve as natural data representations. The new approach introduces inverse coupled rewrite systems. They describe the solutions of combinatorial optimization problems as the inverse image of a term rewrite relation that reduces problem solutions to problem inputs. This specification leads to concise yet translucent specifications of dynamic programming algorithms. Their actual implementation may be challenging, but eventually, as we hope, it can be produced automatically. The present article demonstrates the scope of this new approach by describing a diverse set of dynamic programming problems which arise in the domain of computational biology, with examples in biosequence and molecular structure analysis.
Keywords: biosequence analysis; RNA structure; dynamic programming; tree edit distance; tree alignment biosequence analysis; RNA structure; dynamic programming; tree edit distance; tree alignment
This is an open access article distributed under the Creative Commons Attribution License (CC BY 3.0).

Scifeed alert for new publications

Never miss any articles matching your research from any publisher
  • Get alerts for new papers matching your research
  • Find out the new papers from selected authors
  • Updated daily for 49'000+ journals and 6000+ publishers
  • Define your Scifeed now

SciFeed Share & Cite This Article

MDPI and ACS Style

Giegerich, R.; Touzet, H. Modeling Dynamic Programming Problems over Sequences and Trees with Inverse Coupled Rewrite Systems. Algorithms 2014, 7, 62-144.

Show more citation formats Show less citations formats

Related Articles

Article Metrics

Article Access Statistics

1

Comments

[Return to top]
Algorithms EISSN 1999-4893 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top