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
Algorithms 2014, 7(1), 62-144; doi:10.3390/a7010062
Article

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

1,*  and 2,*
Received: 19 March 2013; in revised form: 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, updated 11 March 2014; original version uploaded 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 which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Export to BibTeX |
EndNote


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.

AMA Style

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

Chicago/Turabian Style

Giegerich, Robert; Touzet, H´el'ene. 2014. "Modeling Dynamic Programming Problems over Sequences and Trees with Inverse Coupled Rewrite Systems." Algorithms 7, no. 1: 62-144.


Algorithms EISSN 1999-4893 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert