Prof. Dr. Robert Giegerich
(Technische Fakultät - Universität Bielefeld)"Dynamic Programming: More Fun with Product Algebras"
Dynamic programming is widely used programming method in combinatorial
optimization.
It is indispensable in biosequence analysis, for string comparison, RNA
structure prediction, gene prediction, and many other tasks.
But it is not an easy technique to employ.
The simplicity of textbook applications (such as string edit distance or
optimal matrix chain multiplication) is deceiving.
In real life, the development of a dynamic programming algorithm is tedious.
Algorithmic ideas are obscured by the low abstraction level of the typical
matrix recurrences.
Testing the code is cumbersome, as it is difficult to recognize when a wrong
(sub-optimal) result is returned.
The ADP discipline: This situation has been alleviated somewhat by the
discipline of ALGEBRAIC dynamic programming (ADP).
In ADP, a dynamic programming application is specified by a tree grammar and
a family of evaluation algebras. From these declarative modules, correct and
efficient code is obtained via the ADP compiler. Dynamic Programming becomes
fun when PRODUCTS of algebras are introduced. Using products, simple
building blocks give rise to a surprising variety of applications.
The Presentation will shortly review the formal theory behind ADP, and then
proceed to demonstrate the variety of questions that can be answered using
product algebras -- ending with some questions where this seems impossible.
Zeit: | Donnerstag, 27.11.2008, 17.15 Uhr |
---|---|
Ort: | Gebäude 48, Raum 680 |